我希望你一切都好!
我使用 Manjaro x64_86,使用 GRUB2 和 EFI。
夜班回家后我犯了一个大错误。当我尝试为我女朋友格式化外部硬盘时,我不小心删除了启动分区。我按照指示操作从 Manjaro wiki 重新安装 grub。
有些步骤令人困惑,特别是在开始时它要求您将启动分区安装到 /mnt/boot:
mount /dev/sda1 /mnt/boot
然后在 EFI 部分,它会要求您将启动分区挂载到 /boot/efi:
sudo mount /dev/sda1 /boot/efi
我想知道这是否有所贡献。
我很高兴使用 update-grub 更新了 grub,没有出现任何重大问题:
sudo update-grub
不幸的是,每当我需要更新 grub 时,它都不起作用。看来我的计算机正在使用 /boot/efi/grub/grub.cfg,而不是当我更新内核/从当前运行的 Manjaro 中运行 update-grub 命令时自动更新的 /boot/grub/grub.cfg安装。
我尝试阅读有关 GRUB2 和 EFI 的各种 wiki,但每个 wiki 都要求我阅读越来越多的信息。我是否有机会更改此设置,使其再次自动更新?我保证当我累的时候我再也不会使用 gparted 了! :)
先感谢您。
编辑:具体来说,我现在的问题是,当我使用 sudo update-grub 时,它只会改变
/boot/efi/grub/grub.cfg
当我打开电脑并加载 grub 时,它似乎正在使用
/boot/grub/grub.cfg
相反,它没有被更新。
答案1
我做了更多阅读,并找到了在不同目录中更新 grub.conf 的方法。我还没有检查现在是否允许它在将来自动更新,但至少我有一个可行的解决方案。
我的问题是 GRUB2 正在使用
/boot/efi/grub/grub.cfg
并运行脚本
update-grub
刚刚更新
/boot/grub/grub.cfg
所以我只是跑:
sudo grub-mkconfig -o /boot/efi/grub/grub.cfg
GRUB2 现在加载我安装的附加内核。
但是,我并没有自动完成这项工作。我想我稍后会看看它是否起作用,如果没有,我将符号链接
/boot/efi/grub/
到
/boot/grub
我尚未测试此进一步的解决方案,因此建议谨慎。