跳到主要内容

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 的话,需要重建引导:

  1. 插U盘,开机进入 Manjaro 安装盘的临时系统里。
  2. 终端运行 sudo manjaro-chroot -a,并选择那个进不去的 Manjaro 系统,这里比较迷惑人,如果想要选择序号 0 的选项,应该输入 1 ,应该是个 bug。如果只有一个,可能就不需要选择。
  3. 如果前面执行顺利,现在执行 ls 应该就列出的是 “丢失” 的系统的根目录了,不信可以去 home 文件夹看看。接下来要重建引导。
  4. 执行 sudo grub-install /dev/nvme0n1,安装完成。
  5. 执行 sudo update-grub 更新配置,使之生效。
  6. 使用 efibootmgr 可按顺序列出启动项,若出现了 manjaro 说明一切顺利。
  7. 执行 exit 退出,可以重启看到熟悉的 Manjaro Grub 了。

2. 确定GRUB没问题,进不去Windows

如果保证引导没问题,就是直接进了 Manjaro ,压根没有给选择的机会。

检查 /etc/default/grubGRUB_TIMEOUT 的值是否为 0,它是给你选系统的倒计时秒数,0 秒肯定不行啊。再检查一下 GRUB_TIMEOUT_STYLE 是否为 hidden,这里应该设置为 menu,以便默认显示菜单。然后重新生成主配置文件并重新启动以检查它是否有效。