我有一个 VMDK 文件,运行时mount Android-img.vmdk /mnt/android/
我得到了wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
我搜索过的结果,我看到很多涉及外部库的解决方案,但我必须在不下载任何额外内容的情况下完成它。我确实运行了ls /sbin/mount*
并得到了:
/sbin/mount.cifs
/sbin/mount.exfat-fuse
/sbin/mount.lowntfs-3g
/sbin/mount.nfs4
/sbin/mount.ntfs-3g
/sbin/mount.vboxsf
/sbin/mount.exfat
/sbin/mount.fuse
/sbin/mount.nfs
/sbin/mount.ntfs
/sbin/mountstats
/sbin/mount.vmhgfs
答案1
我曾使用此方法从 QEMU、Virtualbox 和 VMware 安装虚拟机。首先,安装这个:
sudo apt install qemu-utils
然后加载驱动程序并将映像安装到循环设备:
sudo modprobe nbd
sudo qemu-nbd --connect=/dev/nbd0 /path/to/your/image-file
如果它正常工作,您应该会看到类似这样的内容(以下内容来自 Ubuntu VM):
$ sudo fdisk -l /dev/nbd0
Disk /dev/nbd0: 50 GiB, 53687091200 bytes, 104857600 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
Disklabel type: gpt
Disk identifier: C6425F6B-6DB0-4E64-BA60-BF958383F4AD
Device Start End Sectors Size Type
/dev/nbd0p1 2048 1050623 1048576 512M EFI System
/dev/nbd0p2 1050624 52955135 51904512 24.8G Linux filesystem
/dev/nbd0p3 52955136 104855551 51900416 24.8G Linux filesystem
现在,像往常一样挂载分区 - 使用文件管理器或从终端执行如下操作:
sudo mount /dev/nbd0p2 /mnt
完成后,卸载分区并卸载驱动程序:
sudo sync
sudo umount /dev/nbd0p2
sudo qemu-nbd --disconnect /dev/nbd0
sudo modprobe -r nbd