如何从`.vdi`文件中提取文件

问题描述 投票:0回答:6

我在 Windows 7 PC 上使用 VirtualBox。

如何打开或查看

.vdi
文件的内容并从内部检索文件?

virtualbox extract virtualization vdi
6个回答
17
投票

我有一个损坏的 VDI 文件(根据我使用过的无数 VDI 查看器程序,这些程序都存在诸如无效句柄、未选择文件、请格式化磁盘等神秘错误),并且我无法打开该文件,即使使用 VirtualBox 也是如此。我尝试使用 VirtualBox 命令行工具对其进行转换,但没有成功。我尝试将其安装到新的虚拟机,尝试使用 ImDisk 进行安装,但没有成功。我阅读了四篇 Microsoft TechNet 文章,下载了他们的实用程序并尝试了无数的方法;没有成功。

但是,当我尝试 7Zip (https://www.7-zip.org/download.html) 时,我能够查看所有文件,并有选择地提取它们。我是这样做的:

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

如果 7zip 在解压文件后出现神秘错误,则意味着您在 Windows 资源管理器中关闭了要将文件复制到的文件夹窗口。

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


13
投票

您可以使用

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

9
投票

尝试VMXray

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

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


8
投票

作为第一种方法,您可以简单地尝试任何存档查看器来打开 .vdi 文件。

我尝试使用 7zip 打开 Ubuntu Mate .vdi 文件,它显示了所有 Linux 文件系统,如下所示。


3
投票

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

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


1
投票

您可以使用 ImDisk 将 VDI 文件挂载为 Windows 中的本地驱动器。关注 此 virtualbox 论坛 主题并变得快乐))您还可以将 VDI 转换为 VHD 并使用默认的 Windows 磁盘管理器来挂载 VHD (此处描述)

© www.soinside.com 2019 - 2024. All rights reserved.