linux--系统排错

恢复系统单元
系统引导
grub2磁盘引导阶段
1.损坏446字节
vim /etc/sysconfig/selinux ##关闭火墙,加快开机启动
df ##有*的就是系统所在分区
dd if=/dev/zero of=/dev/vda bs=446 count=1 ##将空字节给 /dev/vda 的前446个字节 ##损坏mbr引导文件
reboot
将光驱 IDE CDROM1 放在开机启动项第一位
reboot
linux--系统排错

linux--系统排错
linux--系统排错
Troubleshooting
linux--系统排错
Rescue…##进入挽救模式
linux--系统排错
linux--系统排错
是硬盘挂载在 /mnt/sysimage下
chroot /mnt/sysimage ##切根
df ##检测
grub2-install /dev/vda ##修补一些损坏的引导
将硬盘DISK 放在开机启动项第一位
两次exit (手动重启也可以)
linux--系统排错更改回从磁盘启动。
重新启动系统。
linux--系统排错

2.文件引导阶段
引导文件丢失:

rm -fr /boot/grub2/grub.cfg
当系统没有重新启动时
grub2-mkconfig > /boot/grub2/grub.cfg ##修补文件,grub2-mkconfig输出的就是/boot/grub2/grub.cfg的文件内容

自己去写引导:
linux--系统排错

set root=’hd0,msdos1’ ##找boot分区的挂载点##第一块硬盘的第个分区,此位置时不固定的,位置指定/boot所在分区(DF)
linux16 /vmlinuz-3.10.0-514.e17.x86_64 ro root=/dev/vda3#跟分区设备名称,#系统内核文件
initrd16 /initramfs-3.10.0-514.e17.x86_64.img ##系统初始化镜像文件 ##在/boot在
boot##进入boot
linux--系统排错
linux--系统排错
以上操作可以使系统正常启动,进入系统后还需要执行

grub2-mkconfig > /boot/grub2/grub.cfg ##
linux--系统排错

内核引导阶段

内核文件丢失
rm -fr /boot/vmlinuz-3.10.0-514.e17.x86_64 ##删除系统内核文件
reboot
linux--系统排错
进入到挽救模式
chroot /mnt/sysiamge ##切根
mount /dev/cdrom /media ##镜像挂载
cd /Packages
cp kernel-3.10.0-514.e17.x86_64.rpm /mnt
cd /mnt
rpm2cpio kernel-3.10.0-514.e17.x86_64.rpm | cpio -id ##分解##把要的东西从这个安装包中扒出来
cd boot ##cd /mnt/boot
cp vmlinuz-3.10.0-514.e17.x86_64 /boot
exit
exit
linux--系统排错
linux--系统排错
系统初始化镜像文件丢失

rm -rf /boot/initramfs-3.10.0-514.e17.x86_64.img
uname -r ##系统当前版本

当系统没有重新启动时:

mkinitrd /boot/initramfs-(uname−r).img(uname -r) ##initramfs是/boot/grub2/grub.cfg文件已经写好的,不能更改

当系统重新启动后:

进入到挽救模式
chroot /mnt/sysiamge ##使用超级用户
mkinitrd /boot/initramfs-(uname−r).img(uname -r)
linux--系统排错
重启
linux--系统排错

如果/boot分区被删掉后 (内核也被删了)
进入到挽救模式以后
chroot /mnt/sysimage
grub2-install /dev/vda ##安装引导
mount /dev/cdrom /mnt ##mount /dev/sr0 /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-123.e17.x86_64.rpm ##内核被删了,需要重新安装##时间较长
grub2-mkconig > /boot/grub2/grub.cfg
重启

当开机启动级别被篡改

设定启动级别
systemctl set-default + 启动级别
/etc/systemd/system/default.target
linux--系统排错

错误形成

方法一
rm -rf /etc/systemd/system/default.target
ln -s /usr/lib/systemd/system/poweroff.target /etc/systemd/system/default.target
方法二
systemctl set-default reboot.target
1.开机按上下键
2.按”E“进入编辑模式
3.选择内核启动行
linux16 /vmlinuz-xxxxxxxx ro xxxxxxxxx 改变为:
linux16 /vmlinuz-xxxxxxxx ro xxxxxxxxx 5
4.ctrl +x
linux--系统排错
linux--系统排错

忘记超级用户密码

1.开机按上下键
2.按”E“进入编辑模式
3.选择内核启动行
linux16 /vmlinuz-xxxxxxxx ro xxxxxxxxx 改变为:
linux16 /vmlinuz-xxxxxxxx rw rd.break
4.ctrl +x
linux--系统排错
5.chroot /sysroot
6.passwd
7.touch /.autorelabel
8.exit
linux--系统排错