FANG KE (Coor)

Always Seeking an Adventure.

在Mac OS下将镜像文件写入到USB盘/SD卡

Sun 24 September 2017

概述

本文讲解如何使用Mac OS下的终端将镜像文件写入移动磁盘,可以用来在Mac下制作Windows的启动盘,也可以在Mac下给Raspberry Pi刷系统。

步骤

首先插入需要使用的U盘/SD卡,使用diskutil list命令查看当前已挂在的卷。

$ diskutil list

可以看到以下结果:

图1

这里我们作为示范的是之前已经刷了Ubuntu系统的U盘,可以看到容量为7.7GB(标称8G),其所对应的设备文件为:/dev/disk4。

使用diskutil unmountDisk卸载该设备(如果是SD卡可以使用命令diskutil unmount)

$ diskutil unmountDisk

命令会运行一小会,然后结果显示为:

图2

再次运行diskutil list确认结果。

$ diskutil list

显示结果为:

图3

现在就可已进入到镜像所在目录,用dd命令将镜像文件写入该磁盘了,注意需要管理员权限。

$ sudo dd bs=10m if=Win_10_1703_Ent_64bit_USST_ENG.ISO of=/dev/disk4

然后就是漫长的写入过程,这个过程是没有反馈的,直到出现写入成功或者失败。

如果写入成功,将会出现如下结果(写入时间非常的漫长~~~~但是请耐心,它真的有在写入~~):

图4

重新插拔后,用diskutil list查看结果:

图5

学习dd命令

用途

用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

注意:指定数字的地方若以下列字符结尾则乘以相应的数字:b=512;c=1;k=1024;w=2

参数说明

  1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >

  2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >

  3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。

obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。

bs=bytes:同时设置读入/输出的块大小为bytes个字节。

  1. cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。

  2. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。

  3. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。

注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。

  1. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

  2. conv=conversion:用指定的参数转换文件。

ascii:转换ebcdic为ascii

ebcdic:转换ascii为ebcdic

ibm:转换ascii为alternate ebcdic

block:把每一行转换为长度为cbs,不足部分用空格填充

unblock:使每一行的长度都为cbs,不足部分用空格填充

lcase:把大写字符转换为小写字符

ucase:把小写字符转换为大写字符

swab:交换输入的每对字节

noerror:出错时不停止

notrunc:不截短输出文件

sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。