使用 dd 从 Imac 硬盘创建单个分区的图像 - 如何安装?

使用 dd 从 Imac 硬盘创建单个分区的图像 - 如何安装?

好吧,你得原谅我对使用这些工具的知识不够丰富。我尝试遵循此帖子中提供的提示:

如何在 Ubuntu 中将 HFS 分区挂载为读/写?

并尝试使用“-o loop”进行安装,但无济于事。还提到我可能需要确定起始扇区,但我似乎无法获得该信息。

我朋友的 iMac 硬盘坏了,我使用 dd 命令将硬盘复制到我的硬盘映像中。我想我只复制了一个分区,但可能是整个硬盘?我其实不记得了,因为那是很久以前的事了。所以现在我的机器上有这个映像,据说里面有一大堆我无法访问的文件。

帮助?

编辑:

应该提到这是我尝试挂载时遇到的错误:

mount: wrong fs type, bad option, bad superblock on /dev/loop0,
   missing codepage or helper program, or other error

   In some cases useful info is found in syslog - try
   dmesg | tail or so.

答案1

注意: dd读取和写入原始数据,而不考虑文件、文件系统、分区类型等。因此,任何错误、任何丢失的数据都可能使映像变得毫无价值,因为文件系统可能不完整。如果硬盘驱动器即将损坏,这一点尤其重要,因为将出现 I/O 错误,这会使 dd 映像变得毫无用处。始终验证备份。DD 映像特别容易验证,它们 [通常] 是“全有或全无”。


  1. 确保hfsprogs已安装该软件包。您还需要kpartx第二个选项的软件包。

  2. 无需担心日志记录和安装读/写,因为您不想写入备份。

  3. 你需要运行这些命令(即使用sudo -i

如果数据完整并且...


图像是单个分区:

mkdir -p /mnt/imac
mount /path/to/image /mnt/imac
ls /mnt/imac

该映像包含分区表

创建设备地图:

image="/path/to/image"
kpartx -l "$image"
list=$(kpartx -l "$image" | grep -v "deleted" | awk '{print $1}');     
kpartx -a -v "$image"

安装回送:

IFS=$(echo -en "\n\b");
for loop in $list; 
do 
  mkdir "/mnt/${loop}"; 
  mount "/dev/mapper/${loop}" "/mnt/${loop}"; 
done;

查看文件夹:

ls -d /mnt/loop*

卸载环回:

umount /mnt/loop*

相关内容