在 Mac OS X 上创建可引导的 Ubuntu U盘

前言

以前在遥远的使用 Windows 的年代,经常使用 UltraISO 来把 ISO 镜像写入U盘,来从U盘引导系统。换了 Mac 以后,偶尔还是会用 VMware 虚拟机来使用 UltraISO 将 ISO 镜像写入U盘。最近折腾新服务器,下载了最新的 Ubuntu 16.04 LTS 镜像,又要制作U盘了,于是乎就整理下在 Mac 下制作 Ubuntu 可引导U盘的操作步骤,方便以后查阅。

制作启动U盘

按照官方最新的建议,是下载 UNetbootin 来通过图形界面方式操作的,但是本着能少用一个软件就少用一个软件,少装垃圾的原则,最终选择了命令行方式。如果觉得命令行操作太麻烦的同学,直接参考文献部分使用图形化界面软件便可。

首先,不用说了,下载 Ubuntu Server 16.04 LTS,然后将 ISO 转换为 IMG 格式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ hdiutil convert -format UDRW ubuntu-16.04-server-amd64.iso -o ubuntu-16.04-server-amd64.img
Reading Driver Descriptor Map (DDM : 0)…
Reading Ubuntu-Server 16.04 LTS amd64 (Apple_ISO : 1)…
Reading Apple (Apple_partition_map : 2)…
Reading Ubuntu-Server 16.04 LTS amd64 (Apple_ISO : 3)…
...............................................................................................................................................
Reading EFI (Apple_HFS : 4)…
................................................................................................................................................
Reading Ubuntu-Server 16.04 LTS amd64 (Apple_ISO : 5)…
........................................................................................................................................................................................................
Elapsed Time: 3.317s
Speed: 197.4Mbytes/sec
Savings: 0.0%
created: /Users/tommy/Downloads/ubuntu-16.04-server-amd64.img.dmg

OS X 会自动在文件名后面增加 DMG 后缀,所以我们手动改一下名:

1
$ mv ubuntu-16.04-server-amd64.img.dmg ubuntu-16.04-server-amd64.img

运行 diskutil list 看看磁盘设备列表:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage Macintosh HD 250.1 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD +249.8 GB disk1
Logical Volume on disk0s2
B3559850-25F0-409D-A081-927AB2B16E3C
Unlocked Encrypted
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *8.0 GB disk2
1: Windows_FAT_32 NUC6_WIN10 8.0 GB disk2s4

所以,很明显,U盘是 /dev/disk2,先把它卸载了:

1
2
$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful

然后就是将 IMG 文件写入U盘了,这个过程得花点时间,同时你可能还需要输入密码来获得管理员权限:

1
2
3
4
5
$ sudo dd if=ubuntu-16.04-server-amd64.img of=/dev/rdisk2 bs=1m
Password:
655+0 records in
655+0 records out
686817280 bytes transferred in 162.123944 secs (4236372 bytes/sec)

最后就是弹出U盘,收工。

1
2
$ diskutil eject /dev/disk2
Disk /dev/disk2 ejected

再次制作U盘

在按照上述方法制作了U盘后,发现只有一个EFI启动分区,然而并不能很好的使用,所以,再次使用了官方的图形化方案,重新制作了一次U盘,囧rz

先用磁盘工具把U盘重新分了下区,只留下一个 FAT32 分区,并起名为 Ubuntu

然后如图所示,选择 Diskimage 和 Ubuntu 镜像,点 OK

好了,这次终于制作完成了。

参考文献