一,硬盘引导阶段丢失
1,模拟问题:MBR主引导记录丢失

dd  if=/dev/zero  of=/dev/vda  bs=446  count=1    ##破坏MBR,/dev/vda*是本机所在的/boot区

linux打不开系统只能打开bios linux系统开不开机_linux打不开系统只能打开bios


无法开机状态:

linux打不开系统只能打开bios linux系统开不开机_linux打不开系统只能打开bios_02

2,解决方法:

若是真实主机,则需要插入镜像光驱,并从光驱启动 :若是虚拟机,则添加虚拟光驱,从光驱启动 
    
        virt-manager

以下为在虚拟机中的操作过程:

linux打不开系统只能打开bios linux系统开不开机_根目录_03


linux打不开系统只能打开bios linux系统开不开机_linux_04

she设置完成后,启动虚拟机后进入挽救模式:

linux打不开系统只能打开bios linux系统开不开机_命令行_05

linux打不开系统只能打开bios linux系统开不开机_linux_06

linux打不开系统只能打开bios linux系统开不开机_根目录_07

然后出入命令:

chroot /mnt/sysimage ##切换到真实根目录

grub2-install /dev/vda ##/dev/vda与模拟问题所截的/boot的所在位置一致

linux打不开系统只能打开bios linux系统开不开机_根目录_08


force off (关闭)虚拟机,然后改成从磁盘启动,系统即可恢复正常。

linux打不开系统只能打开bios linux系统开不开机_linux_09

文件引导阶段的问题

1,模拟问题:引导文件丢失

(1)引导文件所在路径: /boot/grub2/grub.cfg

(2)查看根目录所在的分区和内核版本

查看根目录所在分区:

linux打不开系统只能打开bios linux系统开不开机_linux打不开系统只能打开bios_10


查看内核版本:

linux打不开系统只能打开bios linux系统开不开机_根目录_11


(3)模拟问题:

rm -rf  /boot/grub2/grub.cfg     ##删除引导文件
     reboot   ##重启系统

linux打不开系统只能打开bios linux系统开不开机_linux打不开系统只能打开bios_12


linux打不开系统只能打开bios linux系统开不开机_根目录_13

解决方案:

在命令行输入:

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      ##内核版本指定本机的

linux打不开系统只能打开bios linux系统开不开机_linux_14

注:以上步骤只是临时更改,下次开机会有同样的错误,所以需要进入系统后恢复引导文件

linux打不开系统只能打开bios linux系统开不开机_linux_15


2,模拟问题:内核文件丢失

(1)内核文件: /boot/vmlinuz-3.10.0-514.el7.x86_64

(2)模拟问题:

rm  -rf   /boot/vmlinuz-3.10.0-514.el7.x86_64      ##删除内核文件

linux打不开系统只能打开bios linux系统开不开机_命令行_16

解决方案;

进入挽救模式

同上面解决MBR丢失相同的方法

(1)添加虚拟光驱,从光驱启动:

linux打不开系统只能打开bios linux系统开不开机_根目录_17

linux打不开系统只能打开bios linux系统开不开机_根目录_18

linux打不开系统只能打开bios linux系统开不开机_命令行_19

linux打不开系统只能打开bios linux系统开不开机_根目录_20

linux打不开系统只能打开bios linux系统开不开机_linux打不开系统只能打开bios_21


出现命令行后输入:

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/下

linux打不开系统只能打开bios linux系统开不开机_根目录_22


linux打不开系统只能打开bios linux系统开不开机_根目录_23


force off虚拟机后,更改从磁盘启动,即可恢复正常

linux打不开系统只能打开bios linux系统开不开机_命令行_24

模拟问题:系统初始化镜像文件丢失
(1)系统初始化镜像文件
/boot/initramfs-3.10.0-514.el7.x86_64.img
(2)模拟问题

rm  -rf  /boot/initranfs-3.10.0-514.el7.x86_64.img

linux打不开系统只能打开bios linux系统开不开机_linux打不开系统只能打开bios_25

解决方法

进入挽救模式:

linux打不开系统只能打开bios linux系统开不开机_命令行_26


在命令行输入:

chroot  /mnt/sysimage/  
      mkinitrd  /boot/initramfs-$(uname -r).img $(uname -r)

linux打不开系统只能打开bios linux系统开不开机_linux打不开系统只能打开bios_27


然后reboot虚拟机即可恢复

#模拟问题:/boot/分区丢失

rm -rf /boot/*    ##删除/boot/分区所有文件

linux打不开系统只能打开bios linux系统开不开机_命令行_28

linux打不开系统只能打开bios linux系统开不开机_命令行_29

解决方法:
进入挽救模式:

同上面解决MBR丢失相同的方法

出现命令行后:

linux打不开系统只能打开bios linux系统开不开机_linux打不开系统只能打开bios_30


在命令行输入:

chroot /mnt/sysimage

mkdir /boot ##建立boot分区

grub2-install /dev/sda ##启动分区所在的硬盘

mount /dev/cdrom /mnt

rpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --force ##安装内核文件

grub2-mkconfig > /boot/grub2/grub.cfg ##引导文件

exit

exit

linux打不开系统只能打开bios linux系统开不开机_根目录_31


退出后强制停止虚拟机,取消cdrom启动,再正常启动即可。

##模拟问题:启动级别被篡改##
错误形成:

ln -s /lib/systemd/system/reboot.target /etc/systemd/system/default.target

启动级别修改,造成一直重复开机操作

linux打不开系统只能打开bios linux系统开不开机_根目录_32


解决方案:

开机按上下键停止读秒

按“E”进入编辑模式

linux打不开系统只能打开bios linux系统开不开机_linux_33


选择内核启动行

linux16 /vmliunz-xxxxxx ro xxxxxxxxxxxxxx

改为:

linux16 /vmliunz-xxxxxx ro xxxxxxxxxxxxxx 5

linux打不开系统只能打开bios linux系统开不开机_linux_34


ctrl+x 启动系统以上操作可以使系统正常启动,但是是临时的,所以进入系统后还是需要执行以下操作:

linux打不开系统只能打开bios linux系统开不开机_命令行_35

将启动级别链接到图形上

root密码忘记的解决方法

1.开机后在系统选择页面按e,找到以linux16为开头的那一行,删除ro后面的内容,并将ro改为rw rd.break

linux打不开系统只能打开bios linux系统开不开机_linux_36


linux打不开系统只能打开bios linux系统开不开机_命令行_37


同时按下ctrl+x进入拯救模式

linux打不开系统只能打开bios linux系统开不开机_linux打不开系统只能打开bios_38

2.在命令界面输入

chroot   /sysroot/     ##从内核模式切换到shell模式
   echo  westos | passwd  --stdin  root    ##设置密码为westos
   touch   /.autorelabel                             ##建立密码认证文件

linux打不开系统只能打开bios linux系统开不开机_linux打不开系统只能打开bios_39