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
Troubleshooting
Rescue…##进入挽救模式
是硬盘挂载在 /mnt/sysimage下
chroot /mnt/sysimage ##切根
df ##检测
grub2-install /dev/vda ##修补一些损坏的引导
将硬盘DISK 放在开机启动项第一位
两次exit (手动重启也可以)更改回从磁盘启动。
重新启动系统。
2.文件引导阶段
引导文件丢失:
rm -fr /boot/grub2/grub.cfg
当系统没有重新启动时
grub2-mkconfig > /boot/grub2/grub.cfg ##修补文件,grub2-mkconfig输出的就是/boot/grub2/grub.cfg的文件内容
自己去写引导:
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
以上操作可以使系统正常启动,进入系统后还需要执行
grub2-mkconfig > /boot/grub2/grub.cfg ##
内核引导阶段
内核文件丢失
rm -fr /boot/vmlinuz-3.10.0-514.e17.x86_64 ##删除系统内核文件
reboot
进入到挽救模式
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
系统初始化镜像文件丢失
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)
重启
如果/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
错误形成
方法一
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
忘记超级用户密码
1.开机按上下键
2.按”E“进入编辑模式
3.选择内核启动行
linux16 /vmlinuz-xxxxxxxx ro xxxxxxxxx 改变为:
linux16 /vmlinuz-xxxxxxxx rw rd.break
4.ctrl +x
5.chroot /sysroot
6.passwd
7.touch /.autorelabel
8.exit