Linux运维之系统引导修复方案

一、linux的引导过程及mbr引导记录的修复

1.硬盘引导阶段 mbr主引导记录的恢复
#模拟问题:dd if=/dev/zero of=dev/vda bs=446 count=1
grub2-install 启动分区所在硬盘
grub2-install /dev/vda

Linux运维之系统引导修复方案_第1张图片

模拟问题:dd if=/dev/zero of=/dev/vda bs=446 count=1 破坏磁盘引导

将selinux改为disable并且 reboot
此时采用磁盘方式打开虚拟机打不开,正在找硬件

Linux运维之系统引导修复方案_第2张图片

此时关闭虚拟机,采用光驱方式启动,进入虚拟控制台

Linux运维之系统引导修复方案_第3张图片

分别选Troubleshooting第三个和第二个

Linux运维之系统引导修复方案_第4张图片

Linux运维之系统引导修复方案_第5张图片

输入1,回车得到一个shell

chroot /mnt/sysimage

df

grub2-install /dev/vda

Linux运维之系统引导修复方案_第6张图片

输入两次exit,关机更改从硬盘启动

二、引导文件丢失的解决方案

#1)引导文件丢失
/boot/grub2/grub.cfg
#模拟问题:rm -fr /boot/grub2/grub.cfg
#当系统没有从新启动时
grub2-mkconfig > /boot/grub2/grub2.cfg
#当系统被重新启动
grub > set root='hd0,msdos1' ##此位置时不固定的,位置指定/boot/所在分区
grub > linux16 /vmlinuz-3.10.0-123.el7.x86_64.img
grub > boot
#以上操作可以使系统正常启动,但是是临时的,所以进入系统后还是需要执行:
grub2-mkconfig > /boot/grub2/grub2.cfg

Linux运维之系统引导修复方案_第7张图片

Linux运维之系统引导修复方案_第8张图片

以上操作可以使系统正常启动,但是临时的,所以进入系统后还需执行:

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

三、内核丢失的解决方案

内核文件丢失
#模拟问题:rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64

进入到挽救模式
chroot /mnt/sysimage
mount /dev/cdrom /media
cd /media/Packages
cp kernel-3.10.0-123.el7.x86_64.rpm /mnt
cd /mnt
rpm2cpio kernel-3.10.0-123.el7.86_64.rpm | cpio -id
cd boot
cp vmlinux-3.10.0-123.el7.x86_64 /boot
exit
exit

Linux运维之系统引导修复方案_第9张图片

Linux运维之系统引导修复方案_第10张图片

关机修改为从硬盘启动,重就好了

四、系统初始化镜像丢失的修复方案

步骤一:模拟问题 rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img

cd /boot/
ls 查看初始化程序镜像文件
rm -rf /boot/initramfs-3.10.0-123.el7.x86_64.img 删除它

uname -r 查看内核版本号

当系统没有重启时:

输入如下命令
mkinitrd  /boot/initramfs-$(uname -r ).img  $(uname -r)

重启后会出现如下问题

Linux运维之系统引导修复方案_第11张图片

解决方法:
(1)关机,选择从光驱启动

进入救援模式

Linux运维之系统引导修复方案_第12张图片

Linux运维之系统引导修复方案_第13张图片

按1继续,按enter得到一个shell
输入如下命令:

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

Linux运维之系统引导修复方案_第14张图片

关机,选择从硬盘启动,开机就好了

五、系统启动级别的修复及root用户密码破解方案

错误形成
systemctl set-default reboot.target

#解决
1.开机按上下键停止读秒
2.按E进入编辑模式
3.选择内核启动运行
linux16 /vmlinuz-xxxxx ro xxxxx    改变为:
linux16 /vmlinuz-xxxxx ro xxxxx 5
4.启动系统
ctrl + x
5.重新设定启动
systemctl set-default graphical.target

Linux运维之系统引导修复方案_第15张图片

Linux运维之系统引导修复方案_第16张图片

 linux16 /vmlinuz-xxxxxxxx ro xxxxxxxxxxxxx  改为:
 linux16 /vmlinuz-xxxxxxxx ro xxxxxxxxxxxxx  5

Linux运维之系统引导修复方案_第17张图片

启动系统 ctrl+x
重新设定启动 systemctl set-default graphical.target

破解超级用户密码
1.开机按上下键停止读秒
2.按E进入编辑模式
3.选择内核启动运行
linux16 /vmlinuz-xxxxx ro xxxxx    改变为:
linux16 /vmlinuz-xxxxx rw rd.break    ##在内核启动完成后终止系统初始化程序的执行

Linux运维之系统引导修复方案_第18张图片

4.启动系统
chroot /sysroot
echo westos|passwd --stdin root
touch /.authorelabel        ##重新初始化selinux,当selinux未开启时不需要操作
exit
exit

 

 

 

你可能感兴趣的:(Linux运维之系统引导修复方案)