创建可引导的U盘的一些步骤也可以在 GUI 中完成, 但是有些步骤必须在终端下, 我决定在 shell 终端中执行所有步骤。
将ISO转换为UDRW格式
Mac OS X 提供了将ISO镜像转换为UDRW 所需的所有工具。下面的命令将ISO镜像转换为 UDRW 格式。
hdiutil convert -format UDRW -o destination_file.img source_file.iso
您将注意到, destination_file 从该命令将创建文件 destination_file.img.dmg 真的。这是因为
hdiutil 程序自动添加了 dmg 文件扩展名。这不是问题, 因为文件扩展名不会影响镜像的格式。
准备U盘
检查您的U盘, 如果有任何重要的数据,一定要先进行备份,因为接下来的步骤将删除它的一切。
要准备U盘, 我们将删除U盘上的所有分区, 并创建一个空分区。首先我们需要知道U盘的设备名称。打开一个终端并执行以下命令:
$diskutil list
您将看到一个磁盘和分区列表。目标是在这个输出中识别U盘。根据您的系统配置,
您的输出可能与此不同。下面示例中显示了3个物理磁盘。/dev/disk1 是由于在 Mac OS X 中启用的分区加密
(FileVault 2) 而创建的虚拟磁盘。
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_CoreStorage 399.5 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
5: Apple_Boot Boot OS X 134.2 MB disk0s5
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS MacOSX *399.2 GB disk1
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *2.0 GB disk2
1: Microsoft Basic Data UNTITLED 1 2.0 GB disk2s1
如上面的输出所示, 连接的U盘是一个小的 2.0 GB 驱动器, 上面有一个 FAT 分区。我们现在将在下一步中删除此分区。下一步,
我们需要输入磁盘名称做这参数,即 "/dev/disk2"。
使用以下命令, 磁盘上的数据 (您的U盘) 将被删除!
$ diskutil partitionDisk /dev/disk2 1 "Free Space" "unused" "100%"
$ diskutil umountDisk /dev/disk2
有了这个命令, U盘被重新划分为有1分区, 没有格式化, 100%
的大小都用于这个分区。如果您用 diskutil
list 再次检查, 您将看到更改, 并且U盘将不再显示在 Finder 中。
将镜像复制到U盘上
现在, 我们可以复制我们创建到U盘的磁盘镜像。这是通过 dd
(1) 命令完成的。此命令将将镜像复制到磁盘
(在此处替换您的U盘的相应磁盘名称):
$ dd if=destination_file.img.dmg of=/dev/disk2 bs=1m
dd 命令在完成复制过程之前不会显示任何输出, 因此请耐心等待它完成。
$ diskutil eject /dev/disk2
要弹出U盘, 请使用上面的命令。完成此操作后, 可启动的U盘已准备就绪。
查看磁盘进度,可以用iostat命令查看磁盘写入状态
$ iostat -w 2