1. 引导文件丢失
(1)引导文件所在路径
/boot/grub2/grub.cfg
需提前知道根目录所在分区和内核版本
uname -r 查询内核版本命令
模拟问题
rm -fr /boot/grub2/grub.cfg
一不小心把这玩意儿给删了,还reboot了
完了以后机子开不了了就这情况
抢救方法:
set root=‘hd0,msdos1’
linux16 /vmlinuz-3.10.0-514.el7.x86_64 ro root=/dev/vda3 内核版本指定本机的,位置指定根目录所在分区
initrd16 /initramfs-3.10.0-514.el7.x86_64.img 内核版本指定本机的
这就哦了,但可别reboot了,不然能这样玩一年,记着是boot
这就好了,可以进去了,
进去之后呢还要恢复引导文件,因为刚才只是临时的修复,下次开机还是会出现这样的报错。
grub2-mkconfig > /boot/grub2/grub.cfg 恢复引导文件
2. 内核文件丢失
/boot/vmlinuz-3.10.0-514.el7.x86_64 内核文件
直接删,完了reboot看一下啥情况
抢救:
首先关闭虚拟机
新添加一个光驱硬件
然后进入抢救模式
进去之后在看
选第一个继续
然后会有个shell
chroot /mnt/sysimage/ 切换到真实根目录下mount /dev/cdrom /media/cp /media/Packages/kernel-3.10.0-514.el7.x86_64.rpm /mnt/cd /mnt/rpm2cpio kernel-3.10.0-514.el7.x86_64.rpm | cpio -id 从rpm包中提取文件cd boot/cp vmlinuz-3.10.0-514.el7.x86_64 /boot/ 复制缺失的内核文件到/boot下
完了之后关闭虚拟机,更改从磁盘启动,即可恢复正常
3. 系统初始化镜像文件丢失
/boot/initramfs-3.10.0-514.el7.x86_64.img 系统初始化镜像文件
直接删了看会怎样, reboot一下,直接完,进不去
如果没重启:
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
没重启这样就好,如果重启了
需要进入挽救模式
chroot /mnt/sysimage/ 切换到真实根目录下
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) $(uname -r)表示当前内核版本
4. /boot/分区丢失
rm -fr /boot/* 删除/boot分区下所有文件
解决方法
进入挽救模式
在命令行输入:
chroot /mnt/sysimage/ ##切换到真实根目录下grub2-install /dev/vda ##/boot所在分区mount /dev/cdrom /opt/ cp /opt/Packages/kernel-3.10.0-514.el7.x86_64.rpm /mnt/cd /mnt/rpm -ivh kernel-3.10.0-514.el7.x86_64.rpm --force ##安装grub2-mkconfig > /boot/grub2/grub.cfg ##导入引导文件
两次exit 关闭虚拟机,以便于对硬件进行操作,设置最先执行硬盘就哦了。
5. 开机启动级别被篡改
想不想让你的电脑进入无限月读模式
试一下操作,感觉自己鼬神附体
/etc/systemd/system/default.target ##删除原有的开机级别
ln -s /lib/systemd/system/reboot.target /etc/systemd/system/default.target 更改重启为新开机级别
解决方法
开机后在系统选择页面按e,在以linux16开头的那行的最后面加个5,ctrl+x即可正常进入系统
进入系统后
systemctl set-default graphical.target 恢复正常开机启动级别
6. 忘记root密码
在开机时进入系统选择界面,按“e”进入编辑模式
在linux16 /vmlinuxz-3.10.0-514.e17.x86_64 行修改,,删除ro后面的内容,将ro改为rw,并在后面添加 rd.break修改完后ctrl+x运行
在命令界面输入
chroot /sysroot/ ##从内核模式切换到shell模式echo westos | passwd --stdin root ##设置密码为westostouch /.autorelabel ##建立密码认证文件
这就改好了