欢迎大家来到IT世界,在知识的湖畔探索吧!
人家江湖飘呀,哪能不挨刀呀。总有搞坏分区UUID或者fstab被自己搞砸了,从而不能正常的进入Linux系统。那么怎么办呢?开机一条grub,进入系统全靠他。
分区UUID改变
因为系统分区UUID的改变,grub找不到启动配置文件grub.cfg,这时候就会黑屏白字,命令提示符 grub。怎么办?我告诉你套路,我们要设定(set)两个变量,插入一个模块,启动这个模块,就可以看到启动菜单了。
两个变量分别是root和prefix,root设置根分区,prefix 设置grub目录。如果不知道哪个分区,只能查看每个分区下有什么内容了。
ls (hd0,msdos1)/
欢迎大家来到IT世界,在知识的湖畔探索吧!
下面我们就要一气呵成了。
欢迎大家来到IT世界,在知识的湖畔探索吧!grub>set root=(hd0,msdos1)
grub>set prefix=(hd0,msdos1)/boot/grub
grub>insmod normal
grub>normal
如果没有错误的话,就可以看到启动菜单了,剩下的就不用我说了吧。
启动菜单过时
把启动菜单请出来了,可是这个菜单是一个过期的。原因是改了分区,却没有更新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” 。
欢迎大家来到IT世界,在知识的湖畔探索吧!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了。
很高兴这篇文章可以帮到需要的人,有什么想法,欢迎评论留言。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/33510.html