好吧,你得原谅我对使用这些工具的知识不够丰富。我尝试遵循此帖子中提供的提示:
并尝试使用“-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 映像特别容易验证,它们 [通常] 是“全有或全无”。
确保
hfsprogs
已安装该软件包。您还需要kpartx
第二个选项的软件包。无需担心日志记录和安装读/写,因为您不想写入备份。
你需要根运行这些命令(即使用
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*