mandriva grub
二、深入检查(对于疑难杂症)
2.1制作Live CD
此时我们发现单纯在grub命令行里无法解决问题,此时我们需要制作一张live CD, 就是相当于用rufus等软件在U盘里刷一次manjaro的ISO,这点我们无需赘述,相信大家都会。
2.2 查看安装位置
由于我的efi是单独的一个盘,所以首先登入windows在磁盘管理中查看,efi的位置,并记录。
USB设为首选项启动,进入manjaro安装的桌面,打开终端
lsblk -f
此时会显示,manjaro系统安装的位置,需要记录一下
2.3挂载
使用manjaro-chroot来挂载,chroot即change root
sudo manjaro-chroot -a
此时按照给出的提示来选择系统
正常那么皆大欢喜直接进行下一步,但是这步有巨坑!!!!
你可能会收到以下报错ERROR: You cant mount 0!
==> detected systems:
–> 0) ManjaroLinux
==>Select system to mount [0-0]
==>ERROR: You cant mount 0!
这时是个人都会很疑惑,但是此时选择'1'会解决问题(莫名其妙)
进入下一步
mount /dev/[manjaro安装分区] /mnt
利用在lsblk中获得的分区来替换'[manjaro安装分区]',比如我的是nvme0n1p6,即
mount /dev/nvme0n1p6 /mnt
需要注意空格
同时需要挂载efi的分区,即我们前面在windows里查看的分区(lsblk也可看到)
mount /dev/[GRUB所在分区] /mnt/boot
同理
mount /dev/nvme0n1p1/ mnt/boot
2.4切换挂载的根目录
cd /mnt
chroot /mnt
2.5重装GRUB
grub-install /dev/[GRUB所在分区]
这个替换同上,有人在这一步也会报错
error: cannot find a device for /boot (is /dev mounted?).
grub-install install device isn't specified
此时用exit退回上一级目录,执行
mount | tail -l
会得到类似
dev/sda5 on /media/sys type ext3 (rw,nosuid,nodev,uhelper=udisks)
这样的结果,记录GRUB所在分区对应的on后面的目录即可
再次
chroot /mnt
执行
sudo grub-install --root-directory=[on后面目录] /dev/[GRUB所在分区]
需要注意空格,此时运行成功,再执行
update-grub
等待执行完毕,重启系统选择manjaro为启动项
此时又迎来了分支,有些人直接进入系统,那么恭喜终于结束!
三、重复
有些人依旧是进入grub
显示minimal bash-like line editing is supported,不要灰心,胜利就在前方
此时的gurb可以观察到是重装过的,重复执行第一部分,insmod normal语句不会再报错,
于是进入系统!大功告成!
四、尾声
这玩意折腾了我一整天,差点给我整自闭,其间参考了arch wiki,manjaro论坛,ubuntu论坛等资料,写出来只是为了以后的同志们少走点弯路。
https://wiki.manjaro.org/index.php/GRUB/Restore_the_GRUB_Bootloader