如何在Mac OS X上使用dd命令创建磁盘镜像

时间:2020-01-09 14:17:01  来源:igfitidea点击:

如何使用dd命令在Apple Mac OS X(macOS)Unix操作系统上创建镜像或将镜像写入磁盘?

您可以使用dd命令执行以下操作:

  • 从USB或SD卡创建新的磁盘镜像
  • 将镜像写入磁盘或USB或SD卡

在创建镜像或将镜像写入磁盘之前,还需要使用diskutil命令来操纵本地磁盘的结构,包括列出磁盘和取消磁盘格式化。

运行以下命令时请小心,因为您可能会破坏重要的数据或磁盘。

如何在Mac OS X上使用dd命令创建磁盘镜像

步骤如下:

  • 打开终端应用
  • 使用" diskutil list"获取磁盘列表
  • 创建磁盘镜像:dd if =/dev/DISK of = image.dd bs = 512
  • 写入磁盘镜像:dd if = image.dd of =/dev/DISK

让我们详细查看所有命令。

1.使用dd命令创建磁盘镜像

打开终端应用程序,然后执行以下命令以列出磁盘:

$ diskutil list

输出示例:
插入SD卡或U盘/HDD,并查看/dev/diskN名称

在此示例中,我的SD卡大小为4GB,位于/dev/disk2。

2.卸载磁盘

卸载名为/dev/disk2的磁盘:

$ diskutil unmountDisk /dev/disk2

输出示例:

Unmount of all volumes on disk2 was successful

3.使用dd创建磁盘镜像

最后创建整个磁盘/dev/disk2的磁盘镜像:

$ sudo dd if=/dev/disk2 of=backup.my.sdcard-18-oct-2014.img.dd bs=512

或者

$ sudo dd if=/dev/disk2 of=backup.my.sdcard-18-oct-2014.img.dd bs=1m

或者

$ sudo dd if=/dev/disk2 of=foo.bar.img.dd bs=64k

输出示例:

Password:
60504+0 records in
60504+0 records out
3965190144 bytes transferred in 839.664927 secs (4722348 bytes/sec)

您可以创建压缩磁盘镜像,如下所示:

$ sudo dd if=/dev/disk2 bs=64K | gzip -c > backup.disk.img.dd.gz

其中:

  • dd:命令名称
  • if =/dev/disk2:输入磁盘名称
  • of = backup.my.sdcard-18-oct-2014.img.dd:输出镜像名称
  • bs = 64k或bs = 1m或bs = 512:将输入和输出块大小都设置为n个字节。
  • gzip -c> backup.disk.img.dd.gz`:使用gzip创建压缩磁盘镜像

您可以使用file命令验证磁盘:

$ file disk-name-here.img.dd
disk-name-here.img.dd: x86 boot sector; partition 1: ID=0xc, starthead 130, startsector 8192, 114688 sectors; partition 2: ID=0x83, starthead 165, startsector 122880, 6277120 sectors, code offset 0xb8

如何再次将dd镜像写入磁盘?

语法如下:

$ diskutil list
$ diskutil unmountDisk /dev/disk2
$ sudo dd if=backup.my.sdcard-18-oct-2014.img.dd of=/dev/disk2
### Restores compressed image and write /dev/disk2 ###
$ sudo sh -c 'gunzip -c backup.disk.img.dd.gz | dd of=/dev/disk2'