系统引导修复方案

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1##将我们前面将的引导分区的那446个字节用数据填满
root@localhost ~]# reboot##重启
系统引导修复方案_第1张图片
系统引导修复方案_第2张图片

系统引导修复方案_第3张图片
系统引导修复方案_第4张图片
系统引导修复方案_第5张图片
##安装446个字节到sda上,然后reboot就行
系统引导修复方案_第6张图片

引导文件丢失

系统引导修复方案_第7张图片
系统引导修复方案_第8张图片
##开机页面的这个标题
[root@localhost ~]# cd /boot/grub2/
[root@localhost grub2]# ls

device.map  fonts  grub.cfg  grubenv  i386-pc  locale

[root@localhost grub2]# vim grub.cfg
系统引导修复方案_第9张图片
系统引导修复方案_第10张图片
##在这个目录下都有他的信息,然后信息下面的就是选择不同的选项,然后继续执行的程序,因此这个文件也叫自动引导文件,告诉系统接下来该怎么办,set root=‘hd0,msdos1’(设定当前环境的根目录为boot分区),这个就是设定系统里面的第一块硬盘的第一个boot分区
系统引导修复方案_第11张图片
##就是sda这块硬盘的第一个分区里boot分区()
系统引导修复方案_第12张图片
##因为boot分区和根分区分开了,所以提示操作的时候直接/加上操作的路径,如果boot分区和/分区都在/分区里面,这个上面提示操作应该是/boot/操作的路径,
##因为设定当前环境的根目录为boot分区,所以后面的路径相当于都是在boot分区环境下操作的
系统引导修复方案_第13张图片
##如果删除掉这个文件,系统就出现问题,在保持开机的情况下可以
系统引导修复方案_第14张图片
##grub2-mkcomfig的输出就是刚刚那个 grub.cfg 文件
##如果删除后重启,设备无法打开,需要手动引导
系统引导修复方案_第15张图片
##第一步设定boot分区,第二步开启boot分区的内核,然后只读挂载根设备,第三步开启初始化程序
##删除掉grub.cfg,然后重启
系统引导修复方案_第16张图片
##设定第一个分区为boot分区,因为df查看到/boot在sda1这个分区上,如果他在sda6分区上,那上面最后一个数字就是6
系统引导修复方案_第17张图片
##linux16 /vmlinz-3.10后可以直接TAB自动补齐,后面加上根分区的分区
在这里插入图片描述
##上面是initrd16
##再初始化程序
最后在使用boot让他启动(不能用reboot)
##设备启动起来后,然后输入上面的系统引导修复方案_第18张图片
##就实现完全自动引导了,不然每次开机都得手动引导

内核丢失解决方案

系统引导修复方案_第19张图片
##删除掉这个文件
系统引导修复方案_第20张图片
##选择第二个打开设备先
系统引导修复方案_第21张图片
##这个上面[root@localhost mnt]# rpm2cpio kernel-3.10.0-957.el7.x86_64.rpm |cpio -id,他是cpio的压缩格式-i表示input,-d表示输出的内容转化为目录
##这样内核文件就恢复过来了

初始化程序的镜像文件丢失

系统引导修复方案_第22张图片
##初始化程序员镜像文件丢失的修复
[root@localhost boot]# man mkinitrd
在这里插入图片描述
##用法是mkinitrd加上内核的名称和版本号
在这里插入图片描述
##查看内核版本号
在这里插入图片描述
##mkinitrd 加上文件的路径和名称.img再加上版本号
[root@localhost boot]# echo time: $(date)因为echo这个命令先允许括号里面的内容,看到他的输出后,所以同理

time: Mon Jul 6 09:50:14 CST 2020

[root@localhost boot]# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)##可以这样来省却查版本号的步骤
##上面的是没有重启的修改方案,如果删除后重启怎么解决
##重启后选择第二个用光驱先启动设备
系统引导修复方案_第23张图片
##然后mkinitrd来解决就可以了

启动级别,root用户密码破解

系统引导修复方案_第24张图片
##mult-target里面是青色的字是各种快捷方式,其中sshd服务也在
系统引导修复方案_第25张图片
##因此开机会自动启动sshd服务,当关闭他的开机自启动,可以看到他实际上是删除掉multi-user.arget里面的sshd。service文件
在这里插入图片描述
##启动自启动就是创建一个软连接快捷方式
[root@localhost multi-user.target.wants]# systemctl set-default reboot.target##这个是将开机启动软连接到重启上,这样开机就会无限重置自启动

Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/reboot.target.

系统引导修复方案_第26张图片
系统引导修复方案_第27张图片
##后面加上个数字5,意思就是不使用默认的方式,而是使用指定的级别5这个方式
[root@localhost ~]# systemctl set-default graphical.target##然后再将它设置回原来的开机后默认的图形界面

Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.

##如果出现超级用户密码忘记了?
系统引导修复方案_第28张图片
##开机后选择第一个,然后e进去设置,将内核设定后面多余的删除,将ro改为rw(读写)rd.break(让内核启动后就将他终止),再ctrl+x
系统引导修复方案_第29张图片
##chroot进入sysroot的shell然后修改root的密码为westos 密码(也可以直接passwd root来修改密码),后面touch /.autorelable(selinux初始化的标识,这个文件存在selinux自动进行初始化,他就是selinux的刷新标识),再exit退出系统

你可能感兴趣的:(q'we,linux)