我正在尝试使用以下命令挂载 KVM-qemu 磁盘映像:
sudo mount -o loop,offset=32256 centos6.img /mnt/centos6
。但它显示了这个错误:you must specify filesystem type
。由于我的磁盘映像中有更多分区,因此我尝试了这个解决方案。但这也给出了同样的错误。
这是输出fdisk -ul centos6.img
:
Disk centos6.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001da69
Device Boot Start End Blocks Id System
centos6.img1 * 2048 1026047 512000 83 Linux
Partition 1 does not end on cylinder boundary.
centos6.img2 1026048 20971519 9972736 8e Linux LVM
Partition 2 has different physical/logical endings:
phys=(1023, 254, 63) logical=(1305, 106, 17)
答案1
这对我有用:
kpartx -av cento.img
并安装在中创建的循环设备/dev/mapper
:
sudo mount /dev/mapper/loop0p1 /mnt/destination
答案2
2048(起始扇区)乘以 512(扇区大小)是 1048576。所以你应该运行
sudo mount -o loop,offset=1048576 centos6.img /mnt/centos6
您收到错误消息的原因是您告诉内核在磁盘上的某个随机未占用点查找文件系统。所以它告诉你它无法识别那里的文件系统。
看从整个磁盘映像读取文件系统为背景。
你可以尝试libguestfs,可以自动挂载多个VM磁盘镜像。