[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1
##将我们前面将的引导分区的那446个字节用数据填满
root@localhost ~]# reboot
##重启
##安装446个字节到sda上,然后reboot就行
引导文件丢失
##开机页面的这个标题
[root@localhost ~]# cd /boot/grub2/
[root@localhost grub2]# ls
device.map fonts grub.cfg grubenv i386-pc locale
[root@localhost grub2]# vim grub.cfg
##在这个目录下都有他的信息,然后信息下面的就是选择不同的选项,然后继续执行的程序,因此这个文件也叫自动引导文件,告诉系统接下来该怎么办,set root=‘hd0,msdos1’(设定当前环境的根目录为boot分区),这个就是设定系统里面的第一块硬盘的第一个boot分区
##就是sda这块硬盘的第一个分区里boot分区()
##因为boot分区和根分区分开了,所以提示操作的时候直接/加上操作的路径,如果boot分区和/分区都在/分区里面,这个上面提示操作应该是/boot/操作的路径,
##因为设定当前环境的根目录为boot分区,所以后面的路径相当于都是在boot分区环境下操作的
##如果删除掉这个文件,系统就出现问题,在保持开机的情况下可以
##grub2-mkcomfig的输出就是刚刚那个 grub.cfg 文件
##如果删除后重启,设备无法打开,需要手动引导
##第一步设定boot分区,第二步开启boot分区的内核,然后只读挂载根设备,第三步开启初始化程序
##删除掉grub.cfg,然后重启
##设定第一个分区为boot分区,因为df查看到/boot在sda1这个分区上,如果他在sda6分区上,那上面最后一个数字就是6
##linux16 /vmlinz-3.10后可以直接TAB自动补齐,后面加上根分区的分区
##上面是initrd16
##再初始化程序
最后在使用boot让他启动(不能用reboot)
##设备启动起来后,然后输入上面的
##就实现完全自动引导了,不然每次开机都得手动引导
内核丢失解决方案
##删除掉这个文件
##选择第二个打开设备先
##这个上面[root@localhost mnt]# rpm2cpio kernel-3.10.0-957.el7.x86_64.rpm |cpio -id,他是cpio的压缩格式-i表示input,-d表示输出的内容转化为目录
##这样内核文件就恢复过来了
初始化程序的镜像文件丢失
##初始化程序员镜像文件丢失的修复
[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)
##可以这样来省却查版本号的步骤
##上面的是没有重启的修改方案,如果删除后重启怎么解决
##重启后选择第二个用光驱先启动设备
##然后mkinitrd来解决就可以了
启动级别,root用户密码破解
##mult-target里面是青色的字是各种快捷方式,其中sshd服务也在
##因此开机会自动启动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.
##后面加上个数字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.
##如果出现超级用户密码忘记了?
##开机后选择第一个,然后e进去设置,将内核设定后面多余的删除,将ro改为rw(读写)rd.break(让内核启动后就将他终止),再ctrl+x
##chroot进入sysroot的shell然后修改root的密码为westos 密码(也可以直接passwd root来修改密码),后面touch /.autorelable(selinux初始化的标识,这个文件存在selinux自动进行初始化,他就是selinux的刷新标识),再exit退出系统