如何挂载.vhd文件?

我正在使用13.04 Raring amd64, 我需要在我的ubuntu上安装.vhd文件 。 我用Google搜索了一下,发现virtualbox-fuse包就是答案。

但是该包已从apt存储库中删除。 有没有办法安装包13/4? 或者有没有替代virtualbox-fuse?

使用Ubuntu 15.10(也适用于Ubuntu 16.04),您可以通过以下方式安装vhdimount和tsk(The Sleuth Kit):

sudo apt-get install libvhdi-utils sleuthkit 

然后你可以按如下方式进行:

 sudo mkdir -v /mnt/vhd sudo vhdimount -X allow_root /path/to/file.vhd /mnt/vhd/ sudo mmls -aB /mnt/vhd/vhdi1 

接下来,您将必须计算mmls输出的偏移量,如下所示:

 echo offset*512 | bc 

并完成:

 sudo mkdir -v /media/${USER}/your/folder sudo mount -vt ntfs-3g -o ro,noload,offset=offset-found /mnt/vhd/vhdi1 /media/${USER}/your/folder 

offset-found替换offset-found量。 您可能还必须根据vhd文件中包含的fs类型更改fs类型。

我已经制作了一个脚本,所以我不必每次都输入这个;)

 sudo apt-get install virtualbox-fuse sudo mkdir /mnt/vhd-disk/ sudo vdfuse -f disk.vhd /mnt/vhd-disk/ sudo mount -o loop /mnt/vhd-disk/Partition1 /mnt/partition1 

请注意,您可能需要其他选项来mount以根据自己的喜好设置权限。

搜索Ubuntu的Launchpad空间,出现以下内容:

virtualbox(二进制’virtualbox-fuse’是virtualbox包的一部分)

这意味着他们将virtualbox-fuse合并到主包中,你只需要从存储库安装virtualbox(这就是以前称为virtualbox-ose ,所以如果你需要PUEL许可的“完整”版本,这不会帮你。)

我宁愿不依赖VM访问vhd映像上的数据。 因为在Ubuntu中不再提供virtualbox-fusevdfuse ( 不是精确的(12.04) )和Debian( 不是从Wheezy(7)开始 )。 我能够使用blk-tap挂载个人VHD的NTFS分区。

当然,从tap-ctl spawn插入适当的pid。 您的分区方案可能与我的不同,因此请进行相应调整。

 # apt-get install blktap-utils # modprobe blktap # tap-ctl allocate /dev/xen/blktap-2/tapdev0 # tap-ctl spawn tapdisk spawned with pid 1234 # tap-ctl attach -m 0 -p 1234 # tap-ctl open -m 0 -p 1234 -a vhd:/full/path/to/image.vhd # mount /dev/disk/by-id/dm-name-tapdev0p1 # ls -lh do/your/thing with/all/your/files.txt # tap-ctl close -m 0 -p 1234 # tap-ctl detach -m 0 -p 1234 # tap-ctl free -m 0 

这些步骤来自xen项目的wiki 。

我的块设备是在/dev/xen/blktap-2/blktap0 。 出于某种原因, kpartx -a不会映射分区(我正在寻找/ dev / xen / blktap-2 / tapdev0p1),但我发现/dev/disk/by-id/dm-name-tapdev0p1已链接到分区的块设备。

这是我为它做的:

似乎没有一条平稳的路可走。 我刚刚从启动板下载了virtualbox-fuse deb包文件。 ( 这里 )

我选择了4.1.18,因为我的vbox有点老了,但我想它适用于最新版本。

使用dpkg -i安装软件包。 您可能需要指定--force-depends选项进行安装。

我使用名为guestmount的程序将我使用Windows 10备份文件制作的.vhdx文件成功安装到我的Ubuntu 16.04操作系统

guestmount上的guestmount手册页 。

请注意,需要调整权限,或者在执行sudo -isudo -s之后安装访问权限。

您可以使用VirtualBox。

VirtualBox是一个免费的x86虚拟化解决方案,允许在Linux系统上运行各种x86操作系统,如Windows,DOS,BSD或Linux。

要在Ubuntu 13.04下安装VirtualBox,只需按键盘上的Ctrl + Alt + T即可打开终端。 打开时,运行以下命令:

 sudo apt-get install virtualbox 

完成安装后,继续创建新的虚拟机

在此处输入图像描述

输入名称。 确保选择正确的类型和VHD中的操作系统版本。

在此处输入图像描述

选择使用现有的虚拟硬盘驱动器文件,然后浏览VHD文件,然后单击“创建”。

在此处输入图像描述