linux/OSX中“DD”命令制作ISO镜像操作系统安装U盘

linux或者OS
X系统中,使用“dd”命令可以直接在终端命令行模式下,制作ISO镜像的系统安装盘.

在Mac环境下,将Linux的ISO镜像生成一个Linux的安装盘,和Linux下差不多,只是Mac下有一些自己的工具。

一、linux系统以centOS7为例.

步骤如下:

sudo dd if=镜像路径  of=USB设备路径 bs=1m

1、在终端下,将ISO镜像转换为DMG格式:

 镜像路径: ISO格式的镜像文件存放位置

$ hdiutil convert -format UDRW -o ~/linux.dmg /tmp/linux.iso

USB路径: /dev/sdb  这里要注意的是:

正在读取Master Boot Record(MBR:0)…
正在读取Linux                      (Apple_ISO:1)…
正在读取(Windows_NTFS_Hidden:2)…
………………………………………………………………………………………………………..
经过时间:14.829s
速度:145.1M 字节/秒
节省:0.0%
created: /tmp/linux.dmg

(1)USB设备不能已经挂载到其它目录,否则会提示出错.如果系统自动挂载,要先umount
/dev/sdb .

也可以使用“磁盘工具”来转换为可读写的DMG镜像。
 
2、插入USB盘,然后在终端下,查找该盘的设备名:

(2)/dev/sdb 的路径,不能带分区,例如 /dev/sdb1.

linux/OSX中“DD”命令制作ISO镜像操作系统安装U盘。$ diskutil list
/dev/disk0
  #:                      TYPE NAME                    SIZE     
IDENTIFIER
  0:      GUID_partition_scheme                        *121.3 GB 
disk0
  1:                        EFI                        209.7 MB 
disk0s1
  2:                  Apple_HFS Macintosh HD            120.5 GB 
disk0s2
  3:                Apple_Boot Recovery HD            650.0 MB 
disk0s3
/dev/disk1
  #:                      TYPE NAME                    SIZE     
IDENTIFIER
  0:    FDisk_partition_scheme                        *15.8 GB   
disk1
  1:              Windows_NTFS wxy-u3                  15.8 GB   
disk1s1

bs : blocksize 块大小,这个随意,通常都是1m,2m都可以,默认为512K.

以上显示该盘的设备名是: /dev/disk1
 
也可以通过“磁盘工具”里面选择磁盘(不是分区),来查看其信息,获得设备名。
 
3、卸载USB盘(插入时已经自动挂载了),但是不要推出。在终端下:

二、MAC OS X中”dd”命令制作U盘镜像

$ diskutil umountDisk /dev/disk1
Unmount of all volumes on disk1 was successful

OS
X与linux一脉同源,命令是一样的,只不过MAC中会自动挂载U盘,执行dd命令前,必须先卸载U盘.

也可以通过“磁盘工具”进行卸载。
 
4、镜像上面生成的DMG内容到USB盘,在终端下:

1.先用diskutil list命令查看USB设备挂载路径.

$ sudo dd if=linux.dmg of=/dev/rdisk1 bs=1m
Password:
2151+1 records in
2151+1 records out
2256076800 bytes transferred in 90.277905 secs (24990354 bytes/sec)

 sh-3.2#  diskutil list
  /dev/disk2 (external, physical):
 #:       TYPE NAME            SIZE       IDENTIFIER 
 0:     FDisk_partition_scheme     *15.5 GB      disk2 
 1:       Windows_NTFS KINGSTON   15.5 GB       disk2s1

此处要千万注意,指定的of别写错了,否则悔之晚矣。另外,of参数指定的设备名,可以用上面找到的/dev/disk1,也可以用/dev/rdisk1,此处的“r”据说会写入较快。
 
另外,如果报错:“dd: Invalid number
`1m’”,可能是使用的不同版本的dd,可以换为bs=1M试试。
 
如果报错:“dd: /dev/diskN: Resource
busy”,可能是上面的步骤中没有完成卸载USB盘。
 
5、推出USB盘。在上面复制之后,系统可能会报错,“此电脑不难读取能插入的磁盘”,不必理会,直接推出即可。也可以在终端下推出:

 2. 用diskutil umountDisk /dev/disk2
卸载U盘,这里不能使用系统自带的图形工具卸载.diskutil umountDisk
只是卸载了U盘的文件系统,设备还在.MAC自带的管理工具会把整个USB设备完全移除.

$ diskutil eject /dev/disk1

sh-3.2# diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful

或者在“磁盘工具”里面推出。

3.现在可以”dd”U盘镜像了

使用该USB盘引导启动即可进行Linux的安装。

sh-3.2# dd if=/Users/software/CentOS-7-x86_64-Everything-1804.iso of=/dev/disk2

步骤如下: 1、在终端下,将ISO镜像转…

 等待制作完成.