关于几种linux系统启动时可能遇到的问题(系统恢复)

本文档详细介绍了Linux系统启动时可能遇到的各种问题及解决方法,包括忘记root密码、MBR恢复、引导文件丢失、内核文件丢失、初始化镜像文件丢失、/boot分区被删除以及启动级别被篡改等场景,提供了详细的恢复步骤和命令操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统恢复

实验环境:
利用前面所学知识创建一个以镜像文件创建一个新的虚拟机(虚拟机下操作,防止出错后带来不必要的后果)
1.不小心忘记了root的密码----->恢复密码
在这里插入图片描述
忘记密码时,
重启系统,启动时在选择方式的那一页按e
在这里插入图片描述
linux16那一栏删除到ro,改成 rw rd.break
ctrl+x启动
在这里插入图片描述
switch_root:/#chroot /sysroot/
sh-4.2# echo heihei(新密码) | passwd --stdin root
touch /.autorelabel
exit
exit
在这里插入图片描述
这时使用新密码即可进行登陆

2.硬盘引导阶段 mbr主引导记录的恢复(利用快照)
模拟问题:dd if=/dev/zero of=/dev/sda bs=446 count=1
##此处的of后面的目录为启动分区所在硬盘目录(fdisk -l查看有*号的哪一个目录,如果文件由数字,也把数字一并消去)
在这里插入图片描述
开机时会出现如下问题
在这里插入图片描述
开机时选择读取iso镜像文件(主机上用virt-manager操作)
注意在每次更改开机读取文件时,需要将虚拟机关闭
在这里插入图片描述
在这里插入图片描述
选择恢复模式Troubleshooting
在这里插入图片描述
键盘输入1
在这里插入图片描述
可以用df查看启动分区所在硬盘
chroot /mnt/sysimage/(系统为删除的硬盘自动挂载的路径)
grub2-install +/dev/sda(启动分区所在硬盘)
两次exit退出
在这里插入图片描述
然后在主机上virt-manager操作,开机读取硬盘文件
在这里插入图片描述

这时便可开机
在这里插入图片描述
3.文件引导阶段----->引导文件丢失(/boot/grub2/grub.cfg)
模拟问题:rm -fr /boot/grub2/grub.cfg
(1)未重启前,利用命令直接恢复
grub2-mkconfig > /boot/grub2/grub.cfg
在这里插入图片描述

(2)如果重启了,则要用grub> 命令恢复
需要知道的:df 查看根目录所挂载的硬盘和boot所在分区
(如果重启后忘记的话,可以用镜像文件进入到恢复模式按1进行查看)

/dev/sda2        9533440 3750328   5783112  40% /
/dev/sda1         201380  150888     50492  75% /boot
uname -r查看内核版本

在这里插入图片描述
重启工作:grub > set root=‘hd0,msdos1’
grub > linux16 /vmlinuz-3.10.0-514.el7.x86_64(内核版本) ro root=/dev/sda2 ##根目录所在分区(df查看)
grub > initrd16 /initramfs-3.10.0-514.el7.x86_64.img
grub >boot
在这里插入图片描述
以上操作可以使系统正常启动,但是是为临时操作,开机后还需要恢复引导文件
grub2-mkconfig > /boot/grub2/grub.cfg

在这里插入图片描述
4.开机时,内核文件丢失
模拟问题:rm -fr /boot/vmlinuz-3.10.0-514.el7.x86_64
在这里插入图片描述
进入挽救模式
chroot /mnt/sysimage
在这里插入图片描述
在这里插入图片描述

mkdir /rhel7
mount /dev/sr0   /rhel7
cd /rhel7/Packages
cp kernel-3.10.0.123.e17.x86_64.rpm /mnt
cd /mnt
rpm2cpio kernel-3.10.0.123.e17.x86_64.rpm | cpio -id
cd boot
cp vmlinuz-3.10.0.123.e17.x86_64 /boot
exit
exit

在这里插入图片描述
这时再切换会硬盘引导开机,便可正常启动
在这里插入图片描述
在这里插入图片描述
5.系统初始化镜像文件丢失
模拟问题

 rm -fr /boot/initramfs-3.10.0.123.e17.x86_64.img

在这里插入图片描述
(1)系统没有重启时

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

在这里插入图片描述
(2)系统重启后
进入挽救模式
chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
exit
exit
在这里插入图片描述
这时切换成硬盘引导开机便可正常开机
在这里插入图片描述
6.当/boot分区被删掉后
模拟问题 rm -fr /boot
在这里插入图片描述
在这里插入图片描述
进入挽救模式
chroot /mnt/sysimage
mkdir /boot
grub2-install /dev/sda(根目录文件,可以用fdisk -l查询)
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
exit
在这里插入图片描述

在这里插入图片描述
这时再切换回硬盘开机引导便可正常开机

7.linux系统启动级别被篡改的恢复方式

cd /etc/systemd/system/multi-user.target.wants/
ls							##查看服务的链接
systemctl disable sshd		##将sshd服务设为开机不启动(删除了sshd.server的链接)
systemctl enable  sshd		##将sshd服务设为开机启动(添加了sshd.server的链接)

在这里插入图片描述

cd .. ----->ls		##查看文件链接
ls -l default.target##查看default.target的链接--->对应的图形界面的链接graphical.target

在这里插入图片描述

ll /lib/systemd/system/multi-user.target		##文本模式的链接
ll /lib/systemd/system/reboot.target			##重启的链接
ll /lib/systemd/system/shutdown.target			##关闭的链接

在这里插入图片描述模拟问题:

rm -fr /etc/systemd/system/default.target				##删除原有的链接
ln -s /lib/systemd/system/reboot.target /etc/systemd/system/default.target
													    ##修改默认链接为重启命令
ll  /etc/systemd/system/default.target					##查看是否修改成功

重启后,系统陷入无限重启的状态
在这里插入图片描述
选择启动方式时,按e进行编辑,在linux16开头的末尾加上5,设表示以图形启动
ctrl+x开始启动,启动后用超级用户登陆,修改默认链接即可

rm -fr default.target			##删除原有的默认链接
ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target
								##设置默认链接为图形界面
ll default.target				##查看是否修改成功

在这里插入图片描述
重启后便可正常登陆,不会出现无限重启的状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值