linux系统无法正常启动的解决方法

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

1.开机后在系统选择页面按e,找到以linux16为开头的那一行,删除ro后面的内容,并将ro改为rw rd.break
linux系统无法正常启动的解决方法_第1张图片
在这里插入图片描述
同时按下ctrl+x进入拯救模式
linux系统无法正常启动的解决方法_第2张图片
2.在命令界面输入

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

linux系统无法正常启动的解决方法_第3张图片
3.root密码更改完成,重新启动即可

二.硬盘引导阶段丢失

1.模拟问题
MBR主引导记录丢失

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

linux系统无法正常启动的解决方法_第4张图片
linux系统无法正常启动的解决方法_第5张图片
2.解决方法如下:

若是真实主机,则需要插入镜像光驱,并从光驱启动 :若是虚拟机,则添加虚拟光驱,从光驱启动

以下为在虚拟机中的操作过程:
linux系统无法正常启动的解决方法_第6张图片
linux系统无法正常启动的解决方法_第7张图片
启动虚拟机后进入挽救模式
linux系统无法正常启动的解决方法_第8张图片
linux系统无法正常启动的解决方法_第9张图片
按1 表示继续进行下一步,会出现命令行
linux系统无法正常启动的解决方法_第10张图片
出现命令行后输入:

chroot   /mnt/sysimage    ##切换到真实根目录
grub-install  /dev/vda    ##/dev/vda与模拟问题所截的/boot的所在位置一致

在这里插入图片描述force off 虚拟机,然后改从磁盘启动,系统恢复正常
linux系统无法正常启动的解决方法_第11张图片

三.文件引导阶段的问题

模拟问题:引导文件丢失
(1)引导文件所在路径: /boot/grub2/grub.cfg
(2)查看根目录所在的分区和内核版本
查看根目录所在分区:
linux系统无法正常启动的解决方法_第12张图片
查看内核版本:
在这里插入图片描述
(3)模拟问题:

rm -rf  /boot/grub2/grub.cfg     ##删除引导文件
reboot   ##重启系统

在这里插入图片描述
linux系统无法正常启动的解决方法_第13张图片
解决方法
在命令行输入:

set  root='hd0,msdos1'
linux 16 /vmlinuz-3.10.0-514.el7.x86_64  ro  root=/dev/mapper/rhel-root     ##内核版本制定本机的,位置指定根目录所在分区
initrd16  /initramfs-3.10-514.el7.x86_64.img      ##内核版本指定本机的

linux系统无法正常启动的解决方法_第14张图片

注:以上步骤只是临时更改,下次开机会有同样的错误,所以需要进入系统后恢复引导文件

grub2-mkconfig > /boot/grub2/grub.cfg    ##恢复开机引导文件

linux系统无法正常启动的解决方法_第15张图片
模拟问题:内核文件丢失
(1)内核文件: /boot/vmlinuz-3.10.0-514.el7.x86_64
(2)模拟问题:

rm  -rf   /boot/vmlinuz-3.10.0-514.el7.x86_64      ##删除内核文件

在这里插入图片描述
解决方法
进入挽救模式:

同上面解决MBR丢失相同的方法

(1)添加虚拟光驱,从光驱启动:
linux系统无法正常启动的解决方法_第16张图片
linux系统无法正常启动的解决方法_第17张图片(2)进入挽救模式
linux系统无法正常启动的解决方法_第18张图片
linux系统无法正常启动的解决方法_第19张图片
(3)出现命令行后
linux系统无法正常启动的解决方法_第20张图片
(4)出现命令行后输入

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/下

在这里插入图片描述
在这里插入图片描述
(5)force off虚拟机后,更改从磁盘启动,即可恢复正常
linux系统无法正常启动的解决方法_第21张图片

模拟问题:系统初始化镜像文件丢失
(1)系统初始化镜像文件
/boot/initramfs-3.10.0-514.el7.x86_64.img
(2)模拟问题:

rm  -rf  /boot/initranfs-3.10.0-514.el7.x86_64.img

在这里插入图片描述
解决方法
进入挽救模式:

同上面解决MBR丢失相同的方法

出现命令行后:
linux系统无法正常启动的解决方法_第22张图片在命令行输入:

chroot  /mnt/sysimage/           
mkinitrd  /boot/initramfs-$(uname -r).img $(uname -r)

在这里插入图片描述
然后reboot虚拟机即可恢复

模拟问题:/boot/分区丢失

 rm -rf /boot/*    ##删除/boot/分区所有文件

在这里插入图片描述
解决方法
进入挽救模式:

同上面解决MBR丢失相同的方法

出现命令行后:
linux系统无法正常启动的解决方法_第23张图片
在命令行输入:

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 kerner-3.10.0-514.el7.x86_64.rpm 
grub2-mkconfig > /boot/grub2/grub.cfg

linux系统无法正常启动的解决方法_第24张图片
linux系统无法正常启动的解决方法_第25张图片
在这里插入图片描述

四.开机启动级别被篡改

模拟问题:

rm -rf  /etc/systemd/default.target     ##删除原有的开机启动级别
ln  -s  /lib/systemd/system/reboot.target    ##更改重启为新开机级别

在执行该步重启之后发现开机后会无限重启
解决方法:
(1)开机后在系统选择界面按e
在linux16为首的那一小段的最后加5
完成之后按ctrl+x正常进入系统
linux系统无法正常启动的解决方法_第26张图片
(2)进入系统后恢复正常开机启动级别

systemctl set-default  graphical.target    

在这里插入图片描述

你可能感兴趣的:(linux系统无法正常启动的解决方法)