尝试打开外部硬盘驱动器 img 文件

尝试打开外部硬盘驱动器 img 文件

在此输入图像描述我有一个img文件,是在centos虚拟机中打包的。我不知道如何打开它。现在我在另一台机器上“分离”了它,发现它是一个lvm结构。现在的问题是如何在外部 USB 驱动器内的 .img 文件中安装 lvm 部分

答案1

用于losetup将图像文件与空闲/dev/loopN设备关联:

losetup -P -f /mnt/usb/vdisk1.img

这将报告实际使用的循环设备的名称:如果没有使用其他循环设备,它将报告/dev/loop0,因此您将能够以 、 和 的形式访问映像中/dev/loop0p1/dev/loop0p2分区/dev/loop0p3。如果上报的循环设备名称不同,则分区设备的名称也会相应变化。

(在以下示例中,我假设循环设备是/dev/loop0。)

由于第一个分区被标记为bios_grub,它可能只包含原始的嵌入式 BIOS GRUB 代码,而不是文件系统。因此无需对其进行检查。

如果您需要访问映像中的第二个分区,您现在就可以执行此操作:

mkdir /mnt/image/partition2
mount /dev/loop0p2 /mnt/image/partition2

对于第三个分区中的 LVM,首先运行vgscan以确保检测到 LVM PV,然后vgchange -ay激活它:

vgscan
vgchange -ay

如果这些命令报告duplicate volume group错误,则镜像上的 VG 与本地系统中已激活的 VG 具有相同的名称,并且除非先消除名称冲突,否则镜像上的 VG 将不会激活。当您有两个具有相同名称的 VG 时,要重命名 VG,您需要 VG UUID:用于vgs -o +VG_UUID查看 VG UUID,然后用于vgrename重命名重复项,使用 UUID 来标识要重命名的 VG。然后运行vgchange -ay并再次尝试激活它。

vgchange -ay运行没有错误时,使用lvs查看映像上逻辑卷的名称。现在您将能够mount /dev/<VG>/<LV> <mountpoint>像平常一样安装它们。


完成后断开图像连接:

  • 首先卸载从映像挂载的所有文件系统
  • 然后停用卷组vgchange -an <VG>
  • 最后分离循环设备:losetup --detach /dev/loop0

现在您将能够毫无错误地卸载 USB 驱动器device is busy

答案2

用于losetup创建一个循环装置从图像

losetup -P -f /mnt/usb/vdisk1.img

镜像的内容将可用/dev/loopX,如果其上的 LVM 结构未自动激活,请使用vgs和/或vgscan获取卷组的名称,使用激活它vgchange -ay <name>,然后挂载逻辑卷(您可以使用获取它们的列表)lvs并使用 ) 安装它们mount /dev/<vgname>/<lvname> <mountpoint>

相关内容