1.开机后在系统选择页面按e,找到以linux16为开头的那一行,删除ro后面的内容,并将ro改为rw rd.break
同时按下ctrl+x进入拯救模式
2.在命令界面输入
chroot /sysroot/ ##从内核模式切换到shell模式
echo westos | passwd --stdin root ##设置密码为westos
touch /.autorelabel ##建立密码认证文件
1.模拟问题
MBR主引导记录丢失
dd if=/dev/zero of=/dev/vda bs=446 count=1 ##破坏MBR,/dev/vda是本机所在的/boot区
若是真实主机,则需要插入镜像光驱,并从光驱启动 :若是虚拟机,则添加虚拟光驱,从光驱启动 |
以下为在虚拟机中的操作过程:
启动虚拟机后进入挽救模式
按1 表示继续进行下一步,会出现命令行
出现命令行后输入:
chroot /mnt/sysimage ##切换到真实根目录
grub-install /dev/vda ##/dev/vda与模拟问题所截的/boot的所在位置一致
模拟问题:引导文件丢失
(1)引导文件所在路径: /boot/grub2/grub.cfg
(2)查看根目录所在的分区和内核版本
查看根目录所在分区:
查看内核版本:
(3)模拟问题:
rm -rf /boot/grub2/grub.cfg ##删除引导文件
reboot ##重启系统
set root='hd0,msdos1'
linux 16 /vmlinuz-3.10.0-514.el7.x86_64 ro root=/dev/mapper/rhel-root ##内核版本制定本机的,位置指定根目录所在分区
initrd16 /initramfs-3.10-514.el7.x86_64.img ##内核版本指定本机的
注:以上步骤只是临时更改,下次开机会有同样的错误,所以需要进入系统后恢复引导文件
grub2-mkconfig > /boot/grub2/grub.cfg ##恢复开机引导文件
模拟问题:内核文件丢失
(1)内核文件: /boot/vmlinuz-3.10.0-514.el7.x86_64
(2)模拟问题:
rm -rf /boot/vmlinuz-3.10.0-514.el7.x86_64 ##删除内核文件
同上面解决MBR丢失相同的方法 |
(1)添加虚拟光驱,从光驱启动:
(2)进入挽救模式
(3)出现命令行后
(4)出现命令行后输入
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/下
(5)force off虚拟机后,更改从磁盘启动,即可恢复正常
模拟问题:系统初始化镜像文件丢失
(1)系统初始化镜像文件
/boot/initramfs-3.10.0-514.el7.x86_64.img
(2)模拟问题:
rm -rf /boot/initranfs-3.10.0-514.el7.x86_64.img
同上面解决MBR丢失相同的方法 |
chroot /mnt/sysimage/
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
模拟问题:/boot/分区丢失
rm -rf /boot/* ##删除/boot/分区所有文件
同上面解决MBR丢失相同的方法 |
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 kerner-3.10.0-514.el7.x86_64.rpm
grub2-mkconfig > /boot/grub2/grub.cfg
模拟问题:
rm -rf /etc/systemd/default.target ##删除原有的开机启动级别
ln -s /lib/systemd/system/reboot.target ##更改重启为新开机级别
在执行该步重启之后发现开机后会无限重启
解决方法:
(1)开机后在系统选择界面按e
在linux16为首的那一小段的最后加5
完成之后按ctrl+x正常进入系统
(2)进入系统后恢复正常开机启动级别
systemctl set-default graphical.target