【问题标题】:How can i Extract Files From VDI如何从 VDI 中提取文件
【发布时间】:2013-06-03 09:06:56
【问题描述】:

我在我的 PC 上使用 VirtualBox(WIN 7)

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

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

【问题讨论】:

  • 您可以通过VBoxManage clonehd input.vdi output.block --format=raw 创建 VDI 的原始副本。下一步是找到映射原始块的方法,以便挂载其分区。

标签: virtualbox extract virtualization vdi


【解决方案1】:

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

【讨论】:

  • 直到sudo parted /dev/nbd0 print,这在 Kubuntu 16.04 中对我有用,但 sudo mount /dev/nbd0p2 mnt 失败,“特殊设备 /dev/nbd0p2 不存在”,即使对 parted ... print 的调用确实列出这是我要挂载的分区 nr 2。
  • 谢谢,我用过这个。我看到 vdi 的时间发生了变化,所以,也许它的内容发生了变化,如果我需要将此 vdi 与 vbox 一起使用,vbox 可能会在从保存状态恢复机器时遇到问题。据我所知,我已经成功复制了我的文件,我没有任何问题。也许,使用 -o ro,noload 安装会使它无法更改,我没有尝试过。
【解决方案2】:

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

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

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

如果 7zip 在解压文件后给你一个神秘的错误,这意味着你在 Windows 资源管理器中关闭了要复制文件的文件夹窗口。

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

【讨论】:

  • 对我来说工作得很好,而且 7-zip 如此轻量级和通用,它应该是任何 Windows 安装的一部分。要提取符号链接,请以管理员身份运行 7-zip。
【解决方案3】:

试试VMXray

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

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

【讨论】:

  • 不适用于 Firefox 58 或 Kubuntu 16.04 中的 Vivaldi 1.15。
【解决方案4】:

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

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

【讨论】:

    【解决方案5】:

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

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

    【讨论】:

      【解决方案6】:

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

      【讨论】:

      • 通过阅读该线程,显然 lmDisk 不支持动态扩展 VDI,这是默认设置,因此这可能不是最佳选择。我最终只是启动了虚拟机并提取了文件,但如果操作系统损坏,这将无法正常工作。
      • 如果操作系统损坏,您可以启动另一个 VM 并附加 VDI 磁盘以进行探索。
      猜你喜欢
      • 2020-05-06
      • 1970-01-01
      • 2021-06-06
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 2014-02-05
      • 2016-04-22
      相关资源
      最近更新 更多