linux系统无法开机及其解决办法

我们在使用linux系统时会遇到很多问题,如系统崩溃,系统起不来,忘记root密码等等,或许很多人遇到这样的问题直接选择重装系统,但是一次次重装显得很麻烦,那么,我们在接下来就来学习几种系统的排错方法。
切记,排错原则就是缺什么则补什么

1.root用户密码忘记

当忘记root用户后 选择进入系统时按‘e’,然后将ro后的删除,改为rw,后加rd.break
chroot /sysroot/ ##切换到shell模式
echo xxxxxx | passwd --stdin root ##echo后面的为更改的root密码 touch /.autorelabel ##重启SElinux 两个exit重启

引导阶段
在这里插入图片描述
"e"进入挽救模式
在这里插入图片描述
ctrl+x
在这里插入图片描述
开始具体操作
在这里插入图片描述
在这里插入图片描述

2.磁盘引导阶段,mbr主引导的恢复

模拟问题
dd if=/dev/zero of=/dev/sda bs=446 count=1 删除主引导记录
在这里插入图片描述
在这里插入图片描述
解决方案
若为真实主机,则需要插入镜像光驱,然后光驱启动
由于我们是模拟问题,用的是虚拟机,我们则添加光驱并由光驱启动
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就进入了光驱拯救模式,然后开始解决问题

在这里插入图片描述
chroot /mnt/sysimage ##切换到真实目录
grub2-install /dev/sda ##此处磁盘应与所截取的位置一致
在这里插入图片描述
两个exit退出,关闭虚拟机且切换磁盘启动

在这里插入图片描述
3.文件引导阶段

1.引导文件丢失
引导文件:/boot/grub2/grub.cfg
模拟问题:rm -fr /boot/grub2/grub.cfg

在这里插入图片描述
当系统没有重启的时候可通过以下命令恢复引导文件
grub2-mkconfig > /boot/grub2/grub.cfg
在这里插入图片描述
当误删引导文件,系统被重启时会出现这样的情况
在这里插入图片描述
boot###grub > set root=‘hd0,msdos1’ ##此位置时不固定的,位置指定/boot所在分区,'hd0,msdo1’为第一块磁盘第一分区 在重启前查看df,或者在拯救模式查看df
根### grub > linux16 /vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/mapper/rhel-root #根分区的设备名称 主要查看df,看根分区在哪里,而且如果boot和根时分开的,则linux16 后则不加/root,可自动补齐
系统初始化镜像### grub > initrd16 /initramfs-3.10.0-123.el7.x86.img ##可自动补齐 grub > boot

df查看boot分区位置
在这里插入图片描述
解决:
在这里插入图片描述
在这里插入图片描述

注:表面上看问题已经解决,但是我们刚才时通过镜像的引导文件开启的计算机,故若要解决这个问题,我们还需要手动将引导文件补上,否则每次开机均得手动引导
在这里插入图片描述

2.内核文件丢失

#模拟问题:rm -fr /boot/vmlinuz-3.10.0-514.el7.x86_64
进入到挽救模式
chroot /mnt/sysimage ##进入bash
mount /dev/cdrom /media ##挂载镜像
cd /media/Packages ##进入镜像的Packages目录
cp kernel-3.10.0-514.el7.x86_64.rpm /mnt ##复制内核文件rpm包到mnt底下
cd /mnt
rpm2cpio kernel-3.10.0-514.el7.x86_64.rpm | cpio -id ##拆解内核文件包
cd boot/ ##进入拆解后的内核文件所在位置
cp vmlinuz-3.10.0-514.el7.x86_64 /boot/ ##复制所需内核文件到/boot下
注:缺什么给什么

原理:缺什么补什么,内核文件丢失的话我们则需要选择一个和系统版本相同的镜像,将所需文件补齐

在这里插入图片描述
在这里插入图片描述
进入挽救模式开始解决问题
在这里插入图片描述
进入磁盘引导,恢复正常

3.系统镜像文件丢失

#模拟问题: rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img
#当系统没有重启时
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
或者mkinitrd /boot/initramfs-3.10.0-123.el7.x86_64.img 3.10.0-123.el7.x86_64
uname -r 是查看系统内核版本
#当系统重启后
进入挽救模式
chroot /mnt/sysimage/
再重新生成镜像文件,命令同上相同

在这里插入图片描述

若没有重新生成直接重启:

在这里插入图片描述
进入挽救模式
在这里插入图片描述

4.当/boot分区被删除

##当/boot分区被删除
进入到挽救模式
chroot /mnt/sysimage
grub2-install /dev/sda
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --force
grub2-mkconfig > /boot/grub2/grub.cfg

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

进入挽救模式

在这里插入图片描述
在这里插入图片描述
两个exit进入磁盘引导

4.开机启动级别被篡改

#错误形成
systemctl set-default reboot.target

在这里插入图片描述
在这里插入图片描述
将系统启动级别优先级高的改为reboot后 系统一直重启

解决办法:

1.开机按上下键停止读秒
2.按E进入编辑模式
3.选择内核启动行
linux16 /vmlinuz…后面加个5
4.启动系统
ctrl+x
5.再在内核中systemctl set-default graphical.target
6.reboot测试是否修改过来了

在这里插入图片描述

在这里插入图片描述

忘记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 ##建立密码认证文件
在这里插入图片描述

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值