从 MBR 创建映像并在 Linux 中的 GPT 分区表上恢复后,在没有 UEFI 的计算机上启动 Windows 10

从 MBR 创建映像并在 Linux 中的 GPT 分区表上恢复后,在没有 UEFI 的计算机上启动 Windows 10

一个 500 GB 的 HDD 开始出现过时的迹象,它有多个分区,包括 Linux Mint 和 Windows 10。

这是BIOS 笔记本电脑(非 UEFI)

该硬盘有MBR 分区表。因此,我必须为 Linux 创建一个扩展分区,以便容纳第五个用于交换的分区。表格如下所示:

在此处输入图片描述

使用磁盘( gnome-disk-utility),我创建了两个在初始 Windows 10 安装期间创建的 Windows 分区的映像。这些映像保存在外部驱动器上。

在此处输入图片描述

注意Windows 系统未受到 HDD 故障迹象的影响我注意到了。这些仅限于从大型 NTFS 分区复制文件时的错误。创建图像后,所有操作系统均运行正常。

然后,我用 1TB 的 SDD 替换了旧 HDD,并在其上创建了GPT 分区表这样我就可以有四个以上的分区。我已经使用 Linux 中的磁盘恢复了两个 Windows 10 映像。。由于我有很多空间,我除了旧的 Linux Mint 19.2 Xfce(使用 Timeshift 恢复)和一个交换分区外,还安装了另外两个 Linux 操作系统。(我正在测试新 SDD 带来的改进,这就是为什么我想看看 Windows 的表现如何,因为它在 HDD 上非常慢。最后,我想我只会保留一个 Linux。)Gparted 显示:

在此处输入图片描述

Linux Mint 20.1 Cinnamon 的安装bio_grub也要求我创建一个小分区。

Windows 10 出现在 grub 启动列表中,但无法启动,黑屏上挂着一个下划线符号,没有任何消息。

我尝试使用引导修复(自动修复)来修复它,但没有成功。我不知道在 GPT 表上“恢复 mbr”是否有意义。我猜没有,因为 Linux 的引导修复中没有 MBR 选项。


问题可能是 Windows 10 最初安装在 MBR 上分区表,但它们的图像已被在 GPT 上恢复分区表?

我想从 Linux 修复此问题。可以做到吗?还是必须尝试使用​​ Windows 工具?(我可以从名为 的较小映像创建系统还原磁盘吗SYSTEM_RESTORE_WIN10.img?)


更新

使用 Windows USB 进行修复不起作用。从命令提示符恢复 mbr 只会破坏 grub。尝试安装 Windows 时出现以下消息Windows 无法安装在 GPT 分区样式上,现在我知道这对于非 UEFI 计算机来说是正常的。

在此处输入图片描述

由于我不想更改 GPT 分区表,似乎没有办法从这些恢复的映像启动 Windows,除非使用这里讨论的一些解决方案:在 BIOS(非 UEFI)系统上从 GPT 磁盘启动 Windows 7/10

答案1

我怀疑你的想法是正确的,从 MBR 切换到 GPT 可能会更简单。这里有一个参考这里boot.ini文件。该页面上的示例显示如下内容:

[boot loader]  
timeout=30  
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS  
[operating systems]  
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows .NET Standard Server" /fastdetect  

Windows 自己的引导程序(由 grub 调用)需要知道 Windows 的安装位置。它似乎只需按顺序对磁盘上的分区进行编号即可完成此操作 - Linux 几年前就放弃了这一功能。

因此我认为您应该尝试做的第一件事就是找到您的分区boot.ini并确保在重新排列为 GPT 布局后它仍然引用正确的分区。

除此之外,我认为你会从 superuser.com 获得更多有用的答案

答案2

我不知道该如何处理这个问题,也许我应该关闭或删除它,因为不再有可能解决最初的问题。

但可能需要解释的是,这个问题涉及两个截然不同的方面:(1)无法在具有 GPT 分区表的旧 BIOS 机器上安装 Windows 10;(2)无法从使用 Linux 中的磁盘创建的分区映像恢复 Windows 10。

  • 非 UEFI(旧 BIOS)机器上的 GPT 分区表毫无意义:这使得 Windows 10 的安装变得不可能。在 MBR 分区表上创建扩展分区解决了 4 个分区限制的特定问题。根本无法在该驱动器上安装 Windows(现在或将来),而且我刚刚格式化该驱动器,上面没有太多东西,这让我决定使用 MBR 分区表重新格式化整个 SDD。

  • 但即便如此,我还是无法从我之前安装的 Windows 10 的两个分区映像中恢复正常工作的 Windows 10 安装:这些映像是使用 Linux 中的磁盘创建的,并以相同的方式恢复的。使用 Boot Repair 或 Windows 安装驱动器的后续操作都无法使这些恢复的分区可启动。

我在微软论坛上找到了一些权威建议,建议重新安装 Windows,而不是尝试从不是在 Windows 下创建的映像中恢复。因此,我重新安装了 Windows,这比其他努力花费的时间少得多。

相关内容