linux无法正常开机启动的解决方法

版权声明:https://blog.csdn.net/weixin_42499593 https://blog.csdn.net/weixin_42499593/article/details/86688153

一、忘记root密码的解决方法

1.开机后在系统选择页面按e,找到以linux16开头的那行,删除 ro 后面的所有内容,并将 ro 改为 rw rd.break ,按ctrl+x进入下一个页面
在这里插入图片描述
在这里插入图片描述
2.等系统停止后按Enter弹出
switch_root:/# 界面
输入

 chroot /sysroot/					##从内核模式切换到shell模式
 echo westos | passwd --stdin root	##设置密码为westos
 touch /.autorelabel					##建立密码认证文件

在这里插入图片描述
3.root密码更改完成,重启即可

二、硬盘引导阶段异常

1.模拟问题

MBR主引导记录丢失

 dd if=/dev/zero of=/dev/vda bs=446 count=1   ##破坏MBR,/dev/vda是本机/boot所在地

在这里插入图片描述
在这里插入图片描述

2.解决方法

若是真实主机,需要插入镜像光驱,并从光驱启动。
若是虚拟机,则添加虚拟光驱,从光驱启动
在这里插入图片描述
在这里插入图片描述
进入挽救模式
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
出现命令行后输入

 chroot /mnt/sysimage      ##切换到真实根目录
 grub2-install  /dev/vda   ##此处磁盘应与刚才所截位置一致

在这里插入图片描述
关闭虚拟机,更改从磁盘启动,即可恢复正常
在这里插入图片描述

三、文件引导阶段可能出现的问题

1.引导文件丢失

(1)引导文件所在路径

/boot/grub2/grub.cfg

(2)预准备

需提前知道根目录所在分区和内核版本
在这里插入图片描述

 uname -r		##查询内核版本命令

在这里插入图片描述

(3)模拟问题
 rm -fr /boot/grub2/grub.cfg		##删除引导文件
 reboot								##重启系统

在这里插入图片描述在这里插入图片描述

(4)解决方法
 grub > set root='hd0,msdos1'  
 grub > linux16 /vmlinuz-3.10.0-514.el7.x86_64 ro root=/dev/vda3	##内核版本指定本机的,位置指定根目录所在分区
 grub > initrd16 /initramfs-3.10.0-514.el7.x86_64.img				##内核版本指定本机的
 grub > boot

在这里插入图片描述
以上步骤只是临时更改,下次开机还会报同样的错误,所以需要进入系统后恢复引导文件。

扫描二维码关注公众号,回复: 5138371 查看本文章
 grub2-mkconfig > /boot/grub2/grub.cfg	##恢复引导文件

在这里插入图片描述

2.内核文件丢失

(1)内核文件

/boot/vmlinuz-3.10.0-514.el7.x86_64

(2)模拟问题
 rm -fr /boot/vmlinuz-3.10.0-514.el7.x86_64		##删除内核文件

在这里插入图片描述

(3)解决方法

进入挽救模式(与上面解决MBR丢失相同的进入方法)
出现命令行后
在这里插入图片描述
在命令行输入

 chroot /mnt/sysimage/						##切换到真实根目录下
 mount  /dev/cdrom /media/						
 cp /media/Packages/kernel-3.10.0-514.el7.x86_64.rpm /mnt/
 cd /mnt/
 rpm2cpio kernel-3.10.0-514.el7.x86_64.rpm | cpio -id	##从rpm包中提取文件
 cd boot/
 cp vmlinuz-3.10.0-514.el7.x86_64 /boot/	##复制缺失的内核文件到/boot下

在这里插入图片描述
在这里插入图片描述
关闭虚拟机,更改从磁盘启动,即可恢复正常

3.系统初始化镜像文件丢失

(1)系统初始化镜像文件

/boot/initramfs-3.10.0-514.el7.x86_64.img

(2)模拟问题
 rm -fr /boot/initramfs-3.10.0-514.el7.x86_64.img		##删除系统初始化镜像文件

在这里插入图片描述

(3)解决方法

进入挽救模式(与上面解决MBR丢失相同的进入方法)
出现命令行后
在这里插入图片描述
在命令行输入

 chroot /mnt/sysimage/			##切换到真实根目录下
 mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)		##$(uname -r)	表示当前内核版本,也可直接写

在这里插入图片描述

4./boot/分区丢失

(1)模拟问题
 rm -fr /boot/*			##删除/boot分区下所有文件

在这里插入图片描述

(2)解决方法

进入挽救模式(与上面解决MBR丢失相同的进入方法)
出现命令行后
在这里插入图片描述
在命令行输入

 chroot /mnt/sysimage/			##切换到真实根目录下
 grub2-install /dev/vda			##/boot所在分区
 mount /dev/cdrom /opt/	
 cp /opt/Packages/kernel-3.10.0-514.el7.x86_64.rpm /mnt/
 cd /mnt/
 rpm -ivh kernel-3.10.0-514.el7.x86_64.rpm --force		##安装
 grub2-mkconfig > /boot/grub2/grub.cfg			##导入引导文件

在这里插入图片描述
在这里插入图片描述

四、开机启动级别被篡改

1.模拟问题
 rm -fr /etc/systemd/system/default.target		##删除原有的开机级别
 ln -s /lib/systemd/system/reboot.target /etc/systemd/system/default.target		##更改重启为新开机级别

此问题出现后电脑在开机后会无限重启

2.解决方法

(1)开机后在系统选择页面按e,在以linux16开头的那行的最后面加个5,ctrl+x即可正常进入系统
在这里插入图片描述
(2)进入系统后

systemctl set-default graphical.target		##恢复正常开机启动级别

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42499593/article/details/86688153