临时更改 BIOS 设置后双启动停止工作

临时更改 BIOS 设置后双启动停止工作

我有一台笔记本电脑(Toshiba Portege Z30-C),我在 Windows 7 Pro 和 Linux Mint 18 之间进行双启动。今天,为了测试可启动的 USB,我将启动 BIOS 从“UEFI(旧版)”更改为“CSM Boot”。将 BIOS 设置改回“UEFI(旧版)”后,grub 不再加载,而是直接进入 Windows 加载程序。当我按 F12 进行启动覆盖时,我只看到“HDD”选项,我猜这就是导致 Windows 启动的原因。

在更改之前,我记得 BIOS 的可启动设备列表中包含“Ubuntu”。但是现在,它似乎忘记了我的 Linux 安装,没有明显的方式获取 ubuntu(我猜是引用其中一个分区上的 grub)。

Linux 分区上没有任何变化,据我所知,启动分区上也应该没有任何变化。如何让我的 Linux 发行版重新成为 BIOS 中的可启动“设备”?

从我在 Windows 的分区工具中看到的情况来看,所有分区都和原来一样。

答案1

我曾经遇到过类似的事情。我通过启动 CD 来修复它,只是为了获得更好的启动菜单,然后我能够从 CD 提供的菜单启动磁盘上的 Linux 操作系统。然后我只是修复了 Grubs 启动。我不知道 Windows 为什么要这样做。这也是很多年前的事了,所以 ymmv。

答案2

事实证明,将 BIOS 设置为 CSM 会删除除笔记本电脑附带的 Windows 之外的所有 uefi 条目。解决方法是启动 Windows 并使用bcdeditWindows 的 dos-prompt 手动重新添加条目:

#List the entries to find a usable one to start from:
bcdedit /enum firmware

#Copy the usable entry to a new one with an appropriate name:
bcdedit /copy {bootmgr} /d "Mint UEFI boot"

#The previous command returns the guid of the new entry. This entry goes into the next command where we edit the new entry to point to the ubuntu firmware.
bcdedit /set {guid_goes_here} path \EFI\ubuntu\shimx64.efi

#Optional: Set the new entry to be the first choice when booting:
bcdedit /set {fwbootmgr} displayorder {guid_goes_here_too} /addfirst

完成此操作后,一切恢复正常。无需进行其他更改。

相关内容