GRUB 引导
· 阅读需 4 分钟
最常见的问题,就是 Windows 更新之后,引导被覆盖了,开机直接进入 Windows ,这时需要重新安装 GRUB ,而不是更新引导项。其次,就是在安装其他基于 Linux 的系统时,需要添加引导项,例如通过 Brunch Framework 安装 Chrome OS 时,可能需要禁用独显或是添加一些其他的内核参数,这时也需要更新 GRUB 配置使之生效。
注意:
- Manjaro 不支持 SecureBoot,如果开启了,请在 BIOS 关闭。
- 磁盘模式为 RAID 的话,Manjaro 中无法识别到机械硬盘(如果是双硬盘,1SSD+1HDD),请设为 AHCI 模式。
- 若因修改为 AHCI 模式而进不去 Windows,可多次强行关机,进入安全模式,再重启即可正常进入系统。
- 如果问题解决不了,多看看官方Wiki。
重建引导
当需要重建引导时,下面命令将在 /dev/nvme0n1
安装 grub,这里应确保安装在正确的位置。
sudo grub-install /dev/nvme0n1
更新引导
下面命令使上一步的配置生效,重启见效。对 grub 配置做了什么修改都需要 update-grub
,无论是安装还是什么其他的。
sudo update-grub
场景
1. 开机没有进入GRUB引导页面
如果直接进了 Windows 的话,需要重建引导:
- 插U盘,开机进入 Manjaro 安装盘的临时系统里。
- 终端运行
sudo manjaro-chroot -a
,并选择那个进不去的 Manjaro 系统,这里比较迷惑人,如果想要选择序号 0 的选项,应该输入 1 ,应该是个 bug。如果只有一个,可能就不需要选择。 - 如果前面执行顺利,现在执行
ls
应该就列出的是 “丢失” 的系统的根目录了,不信可以去 home 文件夹看看。接下来要重建引导。 - 执行
sudo grub-install /dev/nvme0n1
,安装完成。 - 执行
sudo update-grub
更新配置,使之生效。 - 使用
efibootmgr
可按顺序列出启动项,若出现了manjaro
说明一切顺利。 - 执行
exit
退出,可以重启看到熟悉的 Manjaro Grub 了。
2. 确定GRUB没问题,进不去Windows
如果保证引导没问题,就是直接进了 Manjaro ,压根没有给选择的机会。
检查 /etc/default/grub
中 GRUB_TIMEOUT
的值是否为 0,它是给你选系统的倒计时秒数,0 秒肯定不行啊。再检查一下 GRUB_TIMEOUT_STYLE
是否为 hidden
,这里应该设置为 menu
,以便默认显示菜单。然后重新生成主配置文件并重新启动以检查它是否有效。