Virtualbox 如何从VDI中提取文件

Virtualbox 如何从VDI中提取文件,virtualbox,extract,virtualization,vdi,Virtualbox,Extract,Virtualization,Vdi,我在电脑上使用VirtualBox(WIN 7) 我设法在我的.VDI文件中查看了一些文件 如何打开或查看.vdi文件的内容并从中检索文件?您可以使用ImDisk在Windows中将vdi文件装载为本地驱动器。遵循线程并变得高兴)此外,您还可以将VDI转换为VHD,并使用默认的Windows磁盘管理器来装载VHD 您可以在浏览器中浏览vmdk图像。选择要提取的文件并将其提取到所需位置。不仅可以使用vmdk,还可以使用VMX射线查看原始图像、QEMU/KVM QCOW2、Virtualbox VD

我在电脑上使用VirtualBox(WIN 7

我设法在我的.VDI文件中查看了一些文件


如何打开或查看.vdi文件的内容并从中检索文件?

您可以使用ImDisk在Windows中将vdi文件装载为本地驱动器。遵循线程并变得高兴)此外,您还可以将VDI转换为VHD,并使用默认的Windows磁盘管理器来装载VHD

您可以在浏览器中浏览vmdk图像。选择要提取的文件并将其提取到所需位置。不仅可以使用vmdk,还可以使用VMX射线查看原始图像、QEMU/KVM QCOW2、Virtualbox VDI和ISO图像并从中提取文件。ext2、ext3、FAT和NTFS是当前受支持的文件系统。例如,您还可以使用此功能从相机SD卡的原始转储中恢复已删除的照片


而且,不用担心,您的文件中的任何数据都不会通过网络发送。数据永远不会离开你的机器。VMXRay完全在浏览器中工作。

一种简单的方法是将VDI作为第二个磁盘连接到另一个虚拟机中


驱动器不会立即出现;在Windows中转到磁盘管理器,使磁盘联机并为其分配一个驱动器号。

您可以使用
qemu nbd从.vdi映像装载分区:

sudo apt install qemu-utils
sudo modprobe nbd

vdi="/path/to/your.vdi"  # <<== Edit this

sudo qemu-nbd -c /dev/nbd0 "$vdi"

# view partitions and select the one you want to mount.
# Using parted here, but you can also use cfdisk, fdisk, etc.

sudo parted /dev/nbd0 print
part=nbd0p2 # <<== partition you want to mount

sudo mkdir /mnt/vdi
sudo mount /dev/$part /mnt/vdi
完成后:

sudo umount /dev/$part
sudo qemu-nbd --disconnect /dev/nbd0

我有一个损坏的VDI文件(根据我使用过的无数VDI查看器程序,其中有一些神秘的错误,例如无效句柄、未选择任何文件、请格式化磁盘),即使使用VirtualBox,我也无法打开该文件。我尝试使用VirtualBox命令行工具转换它,但没有成功。我试着把它挂载到一个新的虚拟机上,试着用ImDisk挂载,没有骰子。我读了四篇微软TechNet的文章,下载了它们的实用程序,尝试了无数的东西;没有成功

然而,当我尝试7Zip()时,我能够查看所有文件,并有选择地提取它们。我是这样做的:

  • 安装7zip(如果出现提示,请确保您也安装了关联菜单项。)
  • 右键单击VDI文件,选择“打开存档”
  • 当窗口出现时,右键单击存档中最大的文件(应该有两个文件,一个是“基本Microsoft数据分区”,另一个是其他文件,称为系统或其他文件)。左键单击最大的文件,然后单击“内部打开”。文件大小列在每个文件的右侧(以字节为单位)
  • 您应该可以看到归档文件中的所有文件。您可以将要提取的文件拖动到桌面上。您也可以双击文件夹查看其中的内容
如果7zip在提取文件后给您一个神秘的错误,这意味着您关闭了Windows资源管理器中要将文件复制到的文件夹窗口


如果没有关闭窗口,但仍然出现错误,请尝试分别提取每个子文件夹。还要确保您有足够的本地硬盘空间将文件复制到,即使您只是将文件复制到外部磁盘,因为7zip会先将文件复制到本地磁盘。如果文件是高度可压缩的,您可以对AppData/temp文件夹使用NTFS压缩,这样当7zip在本地提取文件时,它将压缩文件,以便将其复制到您的其他磁盘。

作为第一种方法,您只需尝试任何存档查看器即可打开.vdi文件。我试着用7zip打开Ubuntu Mate.vdi文件,它显示了所有Linux文件系统,如下所示


从该线程往下看,显然lmDisk不支持动态扩展VDI,这是默认设置,因此这可能不是最佳选择。我最终只是启动了虚拟机并提取了文件,但如果操作系统损坏了,这是行不通的。如果操作系统损坏了,你可以启动另一个虚拟机并连接VDI磁盘来探索它。在Firefox 58或Kubuntu 16.04中的Vivaldi 1.15中对我不起作用。直到
sudo parted/dev/nbd0 print
,这在Kubuntu 16.04中对我有效,但是
sudo mount/dev/nbd0p2 mnt
失败,并显示“特殊设备/dev/nbd0p2不存在”,即使对
的调用已断开。。。打印
did列表,它是我要挂载的分区nr 2。谢谢,我已经使用了它。我看到vdi的时间发生了变化,所以,可能它的内容发生了变化,如果我需要将此vdi与vbox一起使用,vbox可能会在从保存状态恢复计算机时遇到问题。据我所知,我已经成功地复制了我的文件,我没有任何问题。也许,使用-o ro安装,空载将使其不可更改,我没有尝试过。对我来说效果很好,而且7-zip是如此轻量级和通用,它应该成为任何Windows安装的一部分。要提取符号链接,以管理员身份运行7-zip。您可以通过
VBoxManage clonehd input.VDI output.block--format=raw
创建VDI的原始副本。下一步是找到一种映射原始块的方法,以便可以装入其分区。
sudo umount /dev/$part
sudo qemu-nbd --disconnect /dev/nbd0