从物理磁盘的原始DD映像文件挂载分区

我有从原始硬盘映像(/ dev / sdb)获取的DD映像。 这个映像文件包含我需要安装的XFS文件系统。 恢复到磁盘太大(2.6TB的img文件),所以我想用loopback挂载它。

但是,分区表成为一个问题。 我试图使用parted和fdisk -lu来确定分区偏移量。 Parted返回“无法识别的磁盘标签”,fdisk -lu显示我一个空白的分区表。

你会如何build议find分区开始,以便我可以挂载-o循环

kpartx命令将为您检测分区存在的位置以及设置具有适当偏移量的循环设备。

 # kpartx -l /dev/ganderData/example-sysdisk ganderData-example--sysdisk-1 : 0 497952 /dev/ganderData/example-sysdisk 63 ganderData-example--sysdisk-2 : 0 62412525 /dev/ganderData/example-sysdisk 498015 # kpartx -a /dev/ganderData/example-sysdisk # mount /dev/mapper/ganderData-example--sysdisk-2 /mnt/tmp 

看看testing盘是否可以find你的分区标签。 您可以尝试查看kpartx可以先查找并启用它:

 # kpartx -a -v image 

还请记住在图像的副本上尝试这两件事情。 你不想用testing破坏你的备份映像。

您可以使用sfdisk转储映像的分区表。 任何*fdisk变种都会这样做,但有些抱怨比其他人更好。 这将使您能够计算分区的偏移量。

运行file - </dev/sdb以查看磁盘上的实际内容,因为它似乎不是具有PC分区系统的磁盘的映像。

根据您的评论,您可能拥有LVM物理卷。 因此,首先用losetup一个块设备关联到它,然后将循环设备注册为一个物理卷并从那里继续。

 losetup -fv /path/to/image/file pvs # will show /dev/loop99 (for some value of 99) as a physical volume vgs # will show the VG(s) on /dev/loop99 lvs # will show the LV(s) on the VG(s) on /dev/loop99 mount /dev/mapper/groupname-volumename /mnt … vgchange -an groupname losetup -u /dev/loop99 

kpartx被提及两次,你应该使用它! 这个职位会给你一些实践与kpartx公司: 我可以“primefaces”交换在Linux软件突袭raid5驱动器?