如何挂载.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-fuse
和vdfuse
( 不是精确的(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 -i
或sudo -s
之后安装访问权限。
您可以使用VirtualBox。
VirtualBox是一个免费的x86虚拟化解决方案,允许在Linux系统上运行各种x86操作系统,如Windows,DOS,BSD或Linux。
要在Ubuntu 13.04下安装VirtualBox,只需按键盘上的Ctrl + Alt + T即可打开终端。 打开时,运行以下命令:
sudo apt-get install virtualbox
完成安装后,继续创建新的虚拟机
输入名称。 确保选择正确的类型和VHD中的操作系统版本。
选择使用现有的虚拟硬盘驱动器文件,然后浏览VHD文件,然后单击“创建”。