我的笔记本有两个磁盘(有第三个磁盘 - / dev / sdb - 这是第二个磁盘的缓存)。
Windows 10 位于第二个磁盘(/dev/sdc)(SATA ODD)上,直到今天都运行良好。
我昨天在第一个磁盘(/dev/sda)(固定硬盘)上安装了 Ubuntu。
目前Ubuntu一切正常。
今天我在 Ubuntu 中执行 GParted 后出现了问题。我收到以下弹出消息:
libparted 中发现错误!备份 GPT 表不在磁盘末尾,而它应该在末尾。这可能意味着另一个操作系统认为磁盘较小。通过将备份移到末尾(并删除旧备份)来修复?
不幸的是,我按下了按钮来执行该过程。我原本以为它会改变正在运行的磁盘 (/dev/sda)。但它用 Windows 更改了磁盘 (/dev/sdc)。
在那之后:
- UEFI 未找到 Windows;
- 在设置中,SATA ODD 显示为[未检测到];
- 使用 Windows 的恢复磁盘运行的 DiskPart(列出磁盘命令)无法看到第二个磁盘 (/dev/sdc/)。它找到了 2 个磁盘:/dev/sda 和 /dev/sdb 是正确的,并且具有 GPT。
在 Linux 中,可以使用以下方法查看 /dev/sdc:lsblk、fdisk 和 parted。
我能够挂载第二个磁盘(/dev/sdc/)的分区并访问文件(以只读形式)。
Gdisk 显示了 /dev/sdc 的以下信息:
问题:辅助头的自指针指示它不在磁盘末尾。如果您已将磁盘添加到 RAID 阵列,请使用专家菜单上的“e”选项调整辅助头和分区表的位置。
发现1个问题!
启动信息脚本显示:
/dev/sdc 的 MBR 中没有安装引导加载程序。(带有 Windows 的磁盘)
Windows 安装在 /dev/sda 的 MBR 中。(带有 Ubuntu 的磁盘)
您能帮我修复 /dev/sdc(其中的第二个磁盘是 Windows 10)的 GPT 分区或引导加载程序吗?
更新:
我从笔记本中移除了磁盘 (/dev/sdc/)。我将其放入适配器中,以便使用带有 USB 连接器的 HDD SATA。
这样 DISKPART 就能够看到磁盘及其分区/卷。将其标识为 GPT。
现在我只需要恢复磁盘的 Windows 引导加载程序。(我有使用系统创建的恢复磁盘和 Windows 10 安装程序,它们都位于 U 盘中)。
最安全的解决方法是什么?
答案1
答案2
在一个非常相似的情况下(移动和扩大分区,因此 Windows 系统/C:
分区已被移动 –GParted 明确警告), 我也遇到了无法启动带有 grub 的 Windows 的情况。
症状:在 grub 启动菜单中选择 Windows 10 后,直接出现 Windows 10 蓝色错误屏幕,其中包含一些神秘的错误代码,但显示的信息不多。它说我应该F8按故障排除或按 Enter 重试,但F8只显示相同的错误。
笔记: 其他解决方案尝试的问题在于,当您拥有一个可以正常工作的 grub 时,您可能不想破坏它。因此,例如不要覆盖 MBR(破坏 MBR 并需要重新安装 grub)或覆盖引导扇区。
此外,通过 Windows 10 启动故障排除工具自动修复不起作用。
解决方案:启动 Windows 10 安装介质(GParted 解释如何获取它,Windows 10 的直接链接)并重建启动配置数据 (BCD) 存储使用cmd.exe
安装介质中的 /命令行 Windows 10:
bootrec /rebuildbcd
我认为 GParted 链接的 Microsoft 文档太麻烦了,我建议参考Ventoy 提供的这些详细说明。
这是唯一需要的命令。
PS:我安装的是 Windows 10 安装介质通过 ventoy在其旁边放置其他救援 ISO,效果很好。
答案3
如果我理解正确的话,您应该使用安装程序启动 U 盘/CD/DVD,然后选择修复选项。从那里,选择修复启动问题的选项。这应该会重新安装引导加载程序。然后,您必须从 CD/DVD 启动到 Linux,然后重新安装 GRUB,因为 Windows 也会覆盖它。
Ubuntu 维基很好地描述了过程。
如果您失败了,我会使用 debian,它使用的方法与 Ubuntu 大致相同。以下是修复 GRUB EFI 的良好说明我过去使用过。如果 Ubuntu wiki 方法失败,它们应该可以轻松转移到 Ubuntu。此方法使用 REFInd 启动 CD 安装 GRUB,并且是 EFI 特定的(旧版 BIOS 无法以这种方式工作)。