萌新的linux之旅19

系统修复

系统正常引导过程

萌新的linux之旅19

如果引导程序boot损坏:

446字节是启动引导
dd if=/dev/zero of=/dev/vda bs=446 count=1 ##注意一定是446 ,多了或少了都不能正常引导修复
保证selinux是disabled
然后重启,发现一直在booting,即无法引导系统系统

关闭虚拟机
将virt-manager中添加cdrom,SATA硬盘,选择iso镜像
然后顶置以硬盘启动,

萌新的linux之旅19

萌新的linux之旅19

启动程序,第一个界面选择修复Troubleshooting
第二个界面选择拯救模式Rescue a Res Hat Enterprise Linux system
进入后,Rescue模式
第一个选择是环境,默认就是继续,1,选择只读 2,跳过到shell 3,退出,重启 4 !!!(选择1进入后,根在/mnt/sysimage )

萌新的linux之旅19
选第3个

萌新的linux之旅19

萌新的linux之旅19

chroot /mnt/sysimage
进入bash-4.2# grub2-install /dev/vda
然后反馈 : No error reported,即为安装成功
连续输入两次exit exit
退出bash-4.2,退出sh-4.2关闭虚拟机
重新设置启动,顶置以虚拟硬盘启动,然后重新启动你的虚拟机
搞定

萌新的linux之旅19

开机引导界面
按e
添加selinux=0
开机不加载selinux
grub
/boot
grub2-mkconfig 会显示grub.cfg 的文件信息

grub> set root=’hd0,msdos1’ 看你的boot分区就写什么
hdn 第n-1块硬盘
grub> linux16 /vmlinuz-… ro root=/dev/vda3
grub> initrd16 /initramfs-…
grub> boot

grub2-mkconfig > /boot/grub2/grub.cfg
成功添加配置文件
修复mbr,win10之前的grub

萌新的linux之旅19

萌新的linux之旅19

内核丢失
rm -fr /boot/vmlinuz-…
显示丢失文件
修复:
设置
cdrom启动
拯救模式
继续 1 , Enter
df
发现/dev/sr0这是光驱里面的,也是我们资源的来源
进入后
将/run/install/repo/Packages/kernal-….rpm | cpio -id ##提取到当前
然后将它复制到/mnt/sysimage/boot下,添加配置文件
//注意,进入之后,自己现在的根目录是在/mnt/sysimage下,不是真正的根,所以需要将文件移动到真正缺少内核的地方,即/mnt/sysimage/boot 下

萌新的linux之旅19
把光驱拆分,然后移动到/mnt/sysimage/mnt,缺什么就装什么
设置虚拟硬盘启动
重新启动,完成

初始化文件删除

rm -fr initramfs-3.10…x86_64.img

man mkinitrd

关机,设置cdrom启动
进入拯救模式
chroot /mnt/sysimage

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

//其中,()变量
比如。echo uname is $(uname -r)
//先执行uname -r ,输出作为变量的输入,然后显示:
echo uname is 3.10.0-327.el7.x86_64

然后退出关机
重新设置虚拟硬盘启动
成功

/boot全部删除了
恢复grub
重新安装内核
安装grub,恢复自动引导文件

开机自启动是因为添加了链接到脚本上,开机就会自动运行脚本开启
有无图形也是因为链接在有无图形的脚本上