今天由于误操作不小心将grub生成的grub.cfg文件删除了,导致系统无法启动,下面给出我个人的一些修复心得。
关机之后重启直接进入grub命令行界面,显示
grub>
对grub进行操作,使用 'ls' 命令查看分区信息,使用 'ls -l' 命令查看分区详细信息
grub> ls (proc) (hd0) (hd0,gpt1) (hd0,gpt2) # 显示的是我电脑中的分区,执行结果以实际情况为准 grub> ls -l xxxxxxxxxxxxxxxxxxxxxxxx # 分区的详细信息,执行结果以实际情况为准 # 在输入命令时按下Tab键可以补全代码
执行命令之后会显示分区相关信息,我的linux系统分区的文件格式是ext4格式的,对应的分区是(hd0,gpt2)。执行以下代码:
grub> linux /boot/vmlinuz grub> root=/'hd0,gpt2' grub> initrd /boot/initrd.img grub> boot
但是重启之后并没有按照预期进入系统,而是出现了
(initramfs)
在此界面下执行 'blkid' 命令,查看分区信息,显示如下
(initramfs) blkid /dev/nvme0n1p2: UUID="25b94685-6eee-4c01-a1e2-e6935f53d566" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ce803dfe-79f9-4c65-b684-83241be58218" #输出结果仅供参考,请以实际执行结果为准
记下分区路径,关机。
(initramfs) poweroff
开机,在grub环境下执行如下命令:
grub> set root='hd0,gpt2' grub> linux /boot/vminuz-5.13.0-22-generic ro root=/dev/nvme0n1p2 #根据实际情况填写 grub> initrd /boot/initrd-5.13.0-22-generic.img #根据实际情况填写 grub> boot
发现系统已经被正确引导了,进入系统后,在终端执行以下代码:
sudo grub-mkconfig -o /boot/grub/grub.cfg
重建grub.cfg引导文件,重启验证结果,再次成功进入系统。
#######################################################################################################################################################################################################################
新人第一次写博客,如有不足,欢迎看到本文的各位批评指正。
参考文章: