几天前,我使用以下命令创建了我的某个磁盘(而不是整个磁盘)的一个分区(包含 HFS+ FS)的 dd 映像 -
dd conv=sync,noerror bs=8k if=/dev/sdc2 of=/path/to/img
我该如何安装它?我尝试了以下方法,但没有效果 -
mount -o loop,ro -t hfsplus /path/to/img /path/to/mntDir
它给了我
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
并dmesg | tail
给我 -
[5248455.568479] hfs: invalid secondary volume header
[5248455.568494] hfs: unable to find HFS+ superblock
[5248462.674836] hfs: invalid secondary volume header
[5248462.674843] hfs: unable to find HFS+ superblock
[5248550.672105] hfs: invalid secondary volume header
[5248550.672115] hfs: unable to find HFS+ superblock
[5248993.612026] hfs: unable to find HFS+ superblock
[5248998.103385] hfs: unable to find HFS+ superblock
[5249031.441359] hfs: unable to find HFS+ superblock
[5249036.274864] hfs: unable to find HFS+ superblock
我做错什么了吗?
我尝试搜索如何执行此操作,但我得到的所有结果仅谈论从完整磁盘映像中挂载分区,使用带有挂载的偏移选项 - 没有谈论映像本身是分区的情况。
谢谢。
附言:我正在运行 64 位 Arch Linux,并且原始磁盘的分区/dev/sdc2
安装正常。
答案1
您可能首先必须使用 losetup 从文件创建设备,然后挂载该设备。以下是我挂载包含分区映像的备份文件的操作:
losetup /dev/loop1 /home/backup-file
mount /dev/loop1 /mnt/backup
然后我的分区出现在 /mnt/backup 下,原始文件是 /home/backup-file。也许你可以用“mount -o loop”来完成这一切,但我没有成功,所以我单独使用了 losetup。
完成后,我卸载分区,然后使用“losetup -d /dev/loop1”删除循环,以防万一。
另外,你可以使用 losetup 来找出系统中当前空闲的循环设备,使用 losetup -f
让我知道这个是否奏效。
答案2
跑步mount -o loop
应该能完成你想要做的事,但显然事实并非如此。
这使我相信您尝试使用的文件系统驱动程序无法正常工作。
这可能有点牵强,我不知道 HFS+ 是如何工作的。。但是 HFS+ 有可能将分区存储在分区内吗?可能类似于 LVM?
我想到的另外一件事就是加密。似乎 HFS+ 分区可以加密。这对你来说有什么印象吗?