如何从VDI中提取文件

时间:2013-06-03 09:06:57

标签: virtualbox extract virtualization vdi

我在我的电脑上使用VirtualBox( WIN 7

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

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

6 个答案:

答案 0 :(得分:5)

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

enter image description here

答案 1 :(得分:4)

试试VMXray

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

而且,不用担心,您的文件中没有数据通过网络发送。数据永远不会离开您的机器VMXRay完全在您的浏览器中运行。

答案 2 :(得分:4)

您可以使用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

有些用户似乎需要在modprobe命令中添加参数。我没有使用Ubuntu 16.04,但如果它不适合你,请尝试添加max_part=16

sudo modprobe nbd max_part=16

完成后:

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

答案 3 :(得分:2)

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

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

答案 4 :(得分:1)

您可以使用ImDisk将VDI文件作为Windows中的本地驱动器安装。关注this virtualbox forum线程并变得高兴))此外,您可以将VDI转换为VHD并使用默认Windows磁盘管理器挂载VHD (described here)

答案 5 :(得分:1)

我有一个损坏的VDI文件(根据无数VDI查看器程序,我使用了无效错误,如无效句柄,没有选择文件,请格式化磁盘)我无法打开文件,即使是VirtualBox的。我尝试使用VirtualBox命令行工具转换它,但没有成功。我尝试将它安装到一个新的虚拟机上,尝试用ImDisk安装它,没有骰子。我阅读了四篇Microsoft TechNet文章,下载了他们的实用程序并尝试了无数的东西;没有成功。

然而,当我尝试7Zip(https://www.7-zip.org/download.html)时,我能够查看所有文件,并有选择地提取它们。以下是我的表现方式:

  • 安装7zip(如果出现提示,请确保您还安装了上下文菜单项。)
  • 右键单击VDI文件,选择&#34;打开存档&#34;
  • 当窗口出现时,右键单击存档中的最大文件(应该有两个文件,一个是&#34;基本Microsoft数据分区&#34;另一个是其他的,称为系统或其他东西。)左键单击最大的一个并单击&#34;打开内部&#34;。文件大小以字节为单位列在每个文件的右侧。
  • 你应该看到档案里面的所有文件。您可以将要提取的文件拖到桌面上。您也可以双击文件夹以在其中查看。

如果7zip在解压缩文件后出现隐藏错误,则表示您在Windows资源管理器中关闭了要复制文件的文件夹窗口。

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