在 ubuntu 上挂载 vdhx 映像(数据恢复)

在 ubuntu 上挂载 vdhx 映像(数据恢复)

我以前使用 Windows 10,并在外部驱动器上备份了它 (vdhx)。我天真地认为从这个镜像恢复数据到 ubuntu 会更简单,所以我改用了 ubuntu,但现在并不简单。

有人能向我解释如何在 ubuntu 中安装此映像来查看我的内容并获取我需要的内容吗?由于我是 ubuntu 新手,因此非常希望有一个 GUI 选项,但命令行(在帮助下)也可以使用。

我已经尝试过这个(以及其他方法):

guestmount -a /path_to_external_drive/file.vhdx --inspector --ro mnt/vhd/

(基于此:https://stackoverflow.com/questions/36819474/how-can-i-attach-a-vhdx-or-vhd-file-in-linux

提前致谢

答案1

以下是名为我的vhdx文件安装到/mnt/vhdx驱动器

例 1.其中 guestmount 正在检查(-i)寻找操作系统和挂载文件系统的磁盘:

  1. 安装sudo apt-get install libguestfs-tools
  2. 创建挂载点,例如sudo mkdir /mnt/vhdxdrive
  3. 跑步sudo guestmount --add myvhdxfile.vhdx -i --rw /mnt/vhdxdrive
  4. (检查完文件后可选)要卸载,请运行sudo guestunmount /mnt/vhdxdrive

示例 2.如果遇到错误:guestmount:此磁盘上未找到操作系统您可以按照以下步骤挂载单个分区:

  1. 跑步sudo guestfish --rw -a myvhdxfile.vhdx
  2. 输入run并按回车键
  3. 输入list-filesystems并按回车键,记下分区的路径
  4. 输入exit并按回车键

上述步骤的输出可能如下所示:

><fs> run
><fs> list-filesystems 
/dev/sda2: ntfs
><fs> exit

最后,您可以通过运行以下命令来挂载分区/dev/sda2

  • sudo guestmount --add myvhdxfile.vhdx --rw /mnt/vhdxdrive -m /dev/sda2

如果你通过运行列出文件系统命令,那么您应该/dev/sda2用上面的命令中的这个路径替换它。

例 3. 如果您希望已挂载的分区在文件(nautilus)中出现,并且能够使用您的个人用户帐户访问它:

  1. 在媒体中创建挂载点sudo mkdir /media/vhdxdrive
  2. 使用用户权限挂载sudo guestmount --add myvhdxfile.vhdx -o uid=1000 -o gid=1000 -o allow_other --rw /media/vhdxdrive -m /dev/sda2

将上述命令中的 uid 和 gid 值更改为您用户的相应 id。

答案2

我第一次尝试这个时得到了:

libguestfs: error: /usr/bin/supermin exited with error status 1.
To see full error messages you may need to enable debugging.
Do:
  export LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1
and run the command again.  For further information, read:
  http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs
You can also run 'libguestfs-test-tool' and post the *complete* output
into a bug report or message to the libguestfs mailing list.

如果您遇到这种情况,并且您以普通用户(即非 root 用户)身份操作,则可能没有读取内核的权限。要检查这一点,请执行以下操作:

ls -l /boot/vmlinux-`uname-r`

如果显示为,例如

-rw------- 1 root root 11399928 Nov 12 02:51 /boot/vmlinuz-5.3.0-23-generic

则您无权读取内核。要更正此问题,请guestmount以 root 身份运行sudo,或者执行以下操作:

sudo dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-`uname -r`

后者将使内核可供所有人阅读,并允许您使用guestmount。请注意,让内核可供所有人阅读可能存在安全风险,因此如果您对此感到担心,请阅读一些内容。

答案3

我又尝试了一下,然后解决了它。更改如下: - 将挂载点更改为主目录中的文件夹 - 备份中创建了 3 个 vhdx 映像,显然只包含我需要的数据。(我仍然不确定其他的是什么。)

相关内容