无法挂载文件磁盘映像文件已损坏

无法挂载文件磁盘映像文件已损坏

不久前,我使用 ubuntu 下的 dd 备份了我的驱动器的整个 Windows 10 分区,从那时起我遇到了两个主要问题 - 首先,事实证明,即使未使用的空间也被映像了,考虑到驱动器已满 80/150GB,这非常糟糕。

更糟糕的是,我无法使用 Windows 内置的安装功能将其安装到 Windows 中(尽管使用 7zip 打开图像完全没问题)。当时我并没有担心这些问题,但现在我想在 VirtualBox 中运行操作系统,也无法在 VM 中安装图像。

有人知道如何解决这些问题吗?提前谢谢 :)

答案1

Not so long ago I Backed up Entire Windows 10 partition of my drive using dd

您是否对整个磁盘进行了映像处理?dd if=/dev/sda of=/path/to/disk.img status=progress
或者,您只对 Windows 分区进行了映像处理?dd if=/dev/sda2 of=/path/to/disk.img status=progress

如果你选择了后者,那就解释了为什么 Windows 无法挂载它;据我所知,在 Windows 下挂载磁盘映像需要相关映像具有有效的分区表,对单个分区进行映像处理无法实现这一点

it turned out that even the unused space is imaged which is quite bad considering that the drive was 80/150GB full

您可以使用自己喜欢的分区工具(例如 gparted)将分区的大小缩小到其使用范围。GParted 可以通过从终端启动它来修改磁盘映像,使用磁盘映像的路径作为参数: gparted /path/to/disk.img,然后使用 truncate 缩小整个映像的大小,例如(小心这一点,它很容易导致数据不可读)
truncate -s 81GB /path/to/disk.img

I want to run the OS in VirtualBox and cannot mount the image in the VM also.

这只有在你找到 Windows EFI 引导加载程序时才能完成,它存储在 ESP(EFI 系统分区)上,而 ESP(显然)是驱动器上的一个单独分区,仅当您对整个驱动器进行映像时,它才存在于磁盘映像中。它的路径是 (EFI 系统分区)/EFI/Microsoft/Boot/bootmgfw.efi

如果您有引导加载程序,我将编辑我的帖子并附带使用 VirtualBox 引导它的说明。

相关内容