怎样从grub救援模式进入Linux系统
人家江湖飘呀,哪能不挨刀呀。总有搞坏分区UUID或者fstab被自己搞砸了,从而不能正常的进入Linux系统。那么怎么办呢?开机一条grub,进入系统全靠他。

grub命令模式
分区UUID改变
因为系统分区UUID的改变,grub找不到启动配置文件grub.cfg,这时候就会黑屏白字,命令提示符 grub。怎么办?我告诉你套路,我们要设定(set)两个变量,插入一个模块,启动这个模块,就可以看到启动菜单了。
两个变量分别是root和prefix,root设置根分区,prefix 设置grub目录。如果不知道哪个分区,只能查看每个分区下有什么内容了。
ls (hd0,msdos1)/

确认眼神,这就是根分区
下面我们就要一气呵成了。
grub>set root=(hd0,msdos1)
grub>set prefix=(hd0,msdos1)/boot/grub
grub>insmod normal
grub>normal

grub加载开机菜单命令
如果没有错误的话,就可以看到启动菜单了,剩下的就不用我说了吧。
启动菜单过时
把启动菜单请出来了,可是这个菜单是一个过期的。原因是改了分区,却没有更新grub,就匆忙重启了。怎么办? 只有手动指定启动参数了啊。linux 需要指定内核地址,root分区。这里root可以根据(hdx,msdosy)来猜测一下,不一定准。
linux /boot/vmlinuz-5.5.0-xxx-amd64 root=/dev/sda1
initrd initrd.img-5.5.0-xxx-amd64
boot
没有特殊情况是可以启动的。

把fstab搞坏了
Linux在启动以后,会读取/etc/fstab文件,执行挂载分区操作,有分区无法挂载,则会输入root密码。好巧不巧,然而这时候你的root密码是空的,便会告诉你,root已经被锁定了。怎么办,好说,进入单用户模式。Debian系列的单用户模式,进入方法有点不一样,需要在linux 命令后加 "init=/bin/bash" 。
linux /boot/vmlinuz-5.5.0-xxx-amd64 root=/dev/sda1 init=/bin/bash
initrd initrd.img-5.5.0-xxx-amd64
boot

单用户模式
单用户模式,先要重新挂载根分区,因为fstab是错误的,需要改进一下命令。
mount -o remount,rw /dev/sda1 /
好,现在就可以放心的修正fstab了。
相关推荐
-
nginx检查提示“unknown directive "stream" in /etc/*/nginx.conf”
nginx检查提示“unknown directive "stream" in /etc/*/nginx.conf”2025-02-26 00:38:21 -
php之多级目录下查找文件中是否含有某个字符串功能实现2025-02-26 00:36:35
-
mysql 启动不了1067错误如何解决?2025-02-26 00:33:31
-
MySQL简单INSERT超慢原因排查2025-02-26 00:22:42
-
mysql分布式数据库的主要构架是什么?2025-02-26 00:06:23