64位系统直接挂载vmdk文件找了很久,试了各种方法
如 losetup , mount , kpartx , dd 都不管用
最后还是得用官方提供的 vmware-server 的64位版本中的 vmware-mount 才搞定
先得从 vm服务器 版的 bin 文件夹提取 vmware-mount
哎,这个服务器400多MB ,仅仅为了提中间那么1.5MB 样子的文件,还好水管还大,不然就郁闷了
vmware-server 有1.x 和 2.x 版本的,记得下2.x的,1.x的好像用于vmware-5 创建的vmdk,反正本着向下兼容,就搞了 2.x 的
然后就是操作系统对于的版本对着下
如果提示少库文件,大多就是
sudo apt-get install libssl0.9.8
装一下就好了,最后弄完了比较简单
#看下镜像文件情况
sudo vmware-mount -p xxx.vmdk
如果是 NTFS 的,可以直接显示,如果是 EXT4 的,就出不来,也不麻烦,只是需要两步挂载
sudo vmware-mount -f xxx.vmdk /mnt/dd
sudo mount -t ext4 /mnt/dd/flat /mnt/ff
另外发现32位系统Ubuntu下可能会略有差别,比如无需第二步挂载,这个自己稍微去对比把
mount 后可以看到以下类似的内容
引用
fuseMountLib on /mnt/dd type fuse.fuseMountLib (rw,nosuid,nodev,allow_other)
/mnt/dd/flat on /mnt/ff type ext4 (rw)
最后检查一下,发现还是挂载到 /dev/loop0 设备上面去了,理论上mount 和 losetup , dd 应该可以做到,只是不知道各种参数吧,或者还会少库文件,就不去深入研究这个问题了,另外挂载的方式可以更加优美点,免得到处挂载是文件夹,这个就不去深入弄了
附上 vmware-loop , 含 32 和 64位版本,免去各位寻找之苦,如果你有更好的办法,求分享