我有一台联想 Y520 笔记本电脑,运行 Windows 10 和 Ubuntu 20.04,并采用双启动设置。不久前,Windows 决定不再启动,当我从 grub 菜单中选择 Windows 时,机器会嗡嗡作响一段时间,然后立即关闭。我几乎不使用 Windows,而且 99% 的时间都花在 Ubuntu 上,所以我忽略了这个问题(因为 Ubuntu 仍然有效)。直到昨天,我决定尝试解决这个问题……
我在网上看到一个答案,说要编辑文件,即在 Windows 菜单选项中/boot/grub/grub.cfg
找到该行并在其下方添加该行。我重新启动笔记本电脑并从 grub 菜单中选择 Windows,然后出现黑色背景,显示“命令 ntldr 丢失”消息并提示我按 Enter 继续。我照做了,然后进入 grub 救援控制台。此时我(愚蠢地)担心起来,按住电源按钮关闭笔记本电脑,以为我会重新启动到 Ubuntu 并从 grub 配置中删除有问题的行,然后继续调试。chainloader +1
ntldr /bootmgr
但现在什么都启动不了了,甚至连 grub 都启动不了。笔记本电脑一直停留在联想徽标上。我试过按下所有 F 键、按住电源 10 秒钟、同时按下电源和 F9,但都无济于事。我只能再次按住电源才能关机。
有没有办法在不格式化笔记本电脑的情况下解决这种情况?我的大部分重要数据都备份了,但仍然有很多我不想丢失的数据。欢迎提出任何建议。显然,我想保存整个设置,但如果要在丢失 Ubuntu 或丢失 Windows 之间做出选择,我更愿意保证我的 Ubuntu 分区安全。
答案1
- 用一个实时 Ubuntu USB 驱动器,从该驱动器运行,安装 Boot Repair并应用它。
如果这不管用,
- 使用 Live USB 和 dd 或第三方救援/映像 USB 制作驱动器映像,例如Macrium 反射。
- 从 Live USB 重新安装 Ubuntu,保持 Windows 双启动。
- 从映像中恢复 ext4 分区。(希望 Windows 也不需要恢复,但如果有必要的话,也可以恢复。)
最后,在某些机器上,你可能需要编辑启动.efi文件。 磁盘精灵有一个有用的指南来编辑这些启动选项。在某些电脑上,我发现仅有的让 Grub2 持续显示的方法是复制 Windows.efi文件作为备份并重命名 shhim64.efi 或类似的 Linux 文件或 Windows 选项。
注意:制作完整的磁盘映像前编辑 UEFI 启动项,以免更改导致设备无法启动。