Linux常见开机错误及解决方案

/系统引导过程概述:
在这里插入图片描述
下面会分 个实验 模仿启动环节某些东西丢失的情况。
本次实验在desktop虚拟机上做,虚拟机的/和boot都在/dev/vda1上。
在这里插入图片描述
在这里插入图片描述

一、硬盘引导缺失

1.模拟问题的产生:

dd if=/dev/zero of=/dev/vda bs=446 count=1 #将mbr主引导记录破坏掉

在这里插入图片描述
2.重启后的界面,无反应
在这里插入图片描述3.如何解决?
(1)将Boot Options中的IDE CDROM1调至第一位,用光盘启动,并修复。
在这里插入图片描述
顺序调好后点击Apply,会提示你关机才生效,先关机再更改Boot Options。
(2)再次开机,选择红框所在行并回车
选择Troubleshooting
在这里插入图片描述选择拯救系统选项
在这里插入图片描述
选择continue
在这里插入图片描述
点击ok
在这里插入图片描述
点击OK
在这里插入图片描述
(3)进入系统中的bash【chroot /mnt/sysimage】
在这里插入图片描述
(4)启动分区所在硬盘【grub2-install /dev/vda】
在这里插入图片描述
(5)两次exit退出保存
在这里插入图片描述
(6)重新在关闭虚拟机状态下更改Boot Options为VirtIO Disk1,并Apply。
在这里插入图片描述(7)再次重启,即可恢复正常
在这里插入图片描述

二、文件引导丢失

1.模拟问题的产生

rm -rf /boot/grub2/grub.cfg

在这里插入图片描述2.重启后的界面
在这里插入图片描述3.如何解决?
第一种情况:删除后系统没有重启

grub2-mkconfig > /boot/grub2/grub.cfg #利用命令生成即可

第二种情况:删除后重启了

(1)set root= ' hd0,msdos1' #此位置不固定,位置指定boot所在分区【0表示第一块盘a盘,1表示a盘的第一块,看boot的路径】
(2)linux16 /vmlinuz-3.10.0-514.el7.x86_64 ro root =/dev/vda1 #root=?,要看根/的路径
     或者
  linux16 /boot/vmlinuz-3.10.0-514.el7.x86_64 ro root =/dev/vda1 #当根和boot没分开的时候,需要/boot/,否则补不全
(3)initrd16 /initramfs-3.10.0-514.el7.x86.img
   或者
   initrd16 /boot/initramfs-3.10.0-514.el7.x86.img #当根和boot没分开的时候,需要/boot/,否则补不全
4.boot #重启

在这里插入图片描述
经恢复后,系统可以正常启动了,不过为了防止重启后再次修复引导文件,在命令行将引导文件生成。

grub2-mkconfig > /boot/grub2/grub.cfg

在这里插入图片描述系统再次重启后就不会再让修复引导文件。

三、内核丢失

1.模拟问题的产生

rm -rf /boot/vmlinuz-3.10.0 #删除内核

在这里插入图片描述2.重启后的界面
在这里插入图片描述显示内核文件找不到了
3.如何解决?
(1)在虚拟机关闭状态下。更改Boot Options 为镜像优先,并启动。
在这里插入图片描述(2)Troubleshooting
在这里插入图片描述(3)Rescue系统
在这里插入图片描述
(4)系统问你是否将你的linux系统挂载到/mnt/sysimage下,选continue,恩挂
在这里插入图片描述(5)点击ok得到shelll–点击2次ok
在这里插入图片描述
(6)执行恢复命令


 1. chroot /mnt/sysimage #进入系统的bash
 2. mount /dev/cdrom /media/ #挂载光盘到/media
 3. cd /media/Packages 
 4. cp kernel-3.10.0-123.el7.x86_64.rpm /mnt
 5. cd /mnt
 6. rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm |cpio -id #解压
 7. ls 可查看boot
 8. cd boot/
 9. cp vmlinuz-3.10.0-514.el7.x86_64 /boot
 10.exit
 11.exit退出保存  

(7)在虚拟机关闭状态下。更改Boot Options 为VirtIo Disk1优先,并重新启动。
在这里插入图片描述(8)完成。

四、初始化镜像文件丢失

1.模拟问题的产生

rm -rf /boot/initramfs-3.10.0-514.el7.x86_64.img #删除镜像文件

在这里插入图片描述2.重启后的界面
在这里插入图片描述3.如何解决?
第一种情况:删除后系统未重启

mkinitrd /boot/initramfs-3.10.0-123.el7.x86_64.img 3.10.0-123.el7.x86_6 #恢复指令

删除后,文件丢失
在这里插入图片描述
指令恢复:
在这里插入图片描述

第二种情况:删除后系统重启
(1)在虚拟机关闭状态下。更改Boot Options 为镜像优先,并重新启动
在这里插入图片描述(2)进入Troubleshooting
在这里插入图片描述(3)进入拯救模式
在这里插入图片描述
(4)continue —>ok-------ok
在这里插入图片描述在这里插入图片描述
在这里插入图片描述(5)恢复镜像初始化文件


 1. chroot /mnt/sysimages/  #进入系统中的bash
 2. mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) #重新恢复
 3. exit
 4. exit

在这里插入图片描述(6)在虚拟机关闭状态下。更改Boot Options 为VirtIO优先,并重新启动。
在这里插入图片描述(7)修复成功,可正常开启

五、更改开机启动项

/etc/systemd/system/multi-user.target.wants/有各种服务
在这里插入图片描述
设置某些服务的开机自启和开机不启动(比如sshd),其实就是在multi-user.target.wants下创建和删除(sshd.service):
在这里插入图片描述

1.模拟问题的产生,把系统开机时默认指向的图形化更改为反复重启:


 1. cd  /etc/systemd/system/
 2. ll default.target #查看开机时默认是指向哪里
 3. systemctl set-default reboot.target #制造问题
 4. reboot

在这里插入图片描述2.重启后的界面

在这里插入图片描述

这两个界面反复交替进行,就是不能正常启动。
3.如何解决?
因为开机默认指向是reboot,而不是图形化界面,所以一直重启并且没有图形化。
(1)解决:在进入显示开机系统信息界面按e进入编辑模式,并在系统启动行的最后加5
在这里插入图片描述
(2)在系统启动行的最后加5,并Ctrl+x开始。
在这里插入图片描述
即可正常进入
在这里插入图片描述
(3)为了避免下次重启时反复重启问题发生systemctl set-default graphical.target
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值