目录

目录

Grub 引导失效修复

目录

开机报错:

error: unknown filesystem.
grub rescue>

无法进入系统引导页面, 这是grub恢复模式.

使用ls查看磁盘, 会出现:

(hd0) (hd0,msdos2) (hd0,msdos1)

或者

(hd0) (hd0,gpt2) (hd0,gpt1)

上面是mbr引导, 下面是gpt引导.

然后使用ls (hd0,gpt2)或者ls (hd0,2)来查看各个引导分区.

大部分分区都会报错unknown filesystem, 直到不是这个报错为止.

加入你找到的是(hd0,2):

set root=(hd0,2)
set profix=(hd0,2)/boot/grub/

如果你是Btrfs系统, 需要这样执行:

set root=(hd0,2)
set profix=(hd0,2)/@/boot/grub/

因为Btrfs文件系统会把/目录挂载到一个卷上面, 如果不确定是哪个, 可以使用 ls (hd0,2)/->ls (hd0,2)/@->... 逐级查看目录, 直到找到/boot目录.

之后执行命令:

insmod normal
normal

这样就会进入到Grub引导界面, 进入Linux系统后, 执行命令:

sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo grub-install /dev/nvme0n1p4

这样会重建grub引导, 如果不确定/目录在哪个分区, 使用df命令查看:

文件系统        大小  已用  可用 已用% 挂载点
dev              16G     0   16G    0% /dev
run              16G   11M   16G    1% /run
efivarfs        192K  146K   42K   78% /sys/firmware/efi/efivars
/dev/nvme0n1p4  471G   96G  370G   21% /
tmpfs            16G   14M   16G    1% /dev/shm
tmpfs           1.0M     0  1.0M    0% /run/credentials/systemd-journald.service
tmpfs           1.0M     0  1.0M    0% /run/credentials/systemd-udev-load-credentials.service
tmpfs           1.0M     0  1.0M    0% /run/credentials/systemd-tmpfiles-setup-dev-early.service
tmpfs           1.0M     0  1.0M    0% /run/credentials/systemd-sysctl.service
tmpfs           1.0M     0  1.0M    0% /run/credentials/systemd-tmpfiles-setup-dev.service
tmpfs           1.0M     0  1.0M    0% /run/credentials/systemd-vconsole-setup.service
tmpfs            16G  5.2M   16G    1% /tmp
/dev/nvme0n1p4  471G   96G  370G   21% /var/tmp
/dev/nvme0n1p4  471G   96G  370G   21% /srv
/dev/nvme0n1p4  471G   96G  370G   21% /root
/dev/nvme0n1p4  471G   96G  370G   21% /var/log
/dev/nvme0n1p4  471G   96G  370G   21% /var/cache
/dev/nvme0n1p4  471G   96G  370G   21% /home
/dev/nvme0n1p1   96M   27M   70M   29% /boot/efi
tmpfs           1.0M     0  1.0M    0% /run/credentials/systemd-tmpfiles-setup.service
tmpfs           3.2G  172K  3.2G    1% /run/user/1000

可以看到我的/目录在/dev/nvme0n1p4