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

posted @ 2023-06-23 19:30  叕叒双又  阅读(86)  评论(0编辑  收藏  举报