基于linux的系统排错

系统开启时的开启步骤:
通电—->bios初始化—–>grub2磁盘引导阶段—>grub2文件引导阶段—->指定boot所在分区—->启动内核,只读挂载/设备—->启动init程序进入初始化阶段—->启动systemd初始化进程—->读取/etc/systemd/中的文件—–>启动程序—->进入用户认证登录阶段
1.磁盘引导程序出错

 dd if=/dev/zero of=/dev/vda bs=446 count=1 若想做此实验可利用命令将磁盘引导程序删除

重启之后
这里写图片描述
解决: virt-manager—->server—->关闭server—>Boot options—>添加光驱—>选择镜像路径—>将添加的光驱放到第一位 replay—>进入拯救界面 选择第三行—->选择第二行—>contine–>ok—>ok–>进入一个shell
进入virt-manager中
这里写图片描述
这里写图片描述
添加光驱和镜像所在路径
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
光驱启动
这里写图片描述
这里写图片描述
这里写图片描述
进入挽救模式
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
OK后得到一个shell,在shell中执行命令

df 查看根挂载的位置
chroot /mnt/sysimage
grub2-install /dev/vda 安装磁盘引导程序
vim /etc/sysconfig/selinux  关闭selinux,否则启动时间太长
    disabled
exit    两次退出是因为在转到自己的根下时重新打开了一个shell
exit

这里写图片描述
关闭虚拟机退出挽救模式进行磁盘引导
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
2. grub2中的系统开机自动引导程序丢失:

      rm -fr /boot/grub2/grub.cfg
      grub2-mkconfig > /boot/grub2/grub.cfg(没有reboot时恢复)

若已经reboot重启:

       set root='hd0,msdos1'
        linux16 /boot/vmlinuz-3.10.0-123.x86_64 ro root=/dev/vda1
        initrd16 /root/initramfs-3.10.0-123.e17.x86_64.img
        boot
        grub2-mkconfig > /boot/grub2/grub.cfg(进入系统后恢复引导文件)

这里写图片描述
这里写图片描述
3. vmlinuz-3.10.0-123.x86_64文件丢失(内核文件丢失):
reboot之前:

      yum whatprovides /boot/vmlinuz-3.10.0-123.x86_64查看文件属于哪个包
       从光驱中移出上面查到的包(kernel-3.10.0-123.e17.x86_64.rpm)
       rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id
       cp boot/vmlinuz-3.10.0-123.x86_64 /boot/

这里写图片描述
这里写图片描述
恢复成功
这里写图片描述
reboot之后:
这里写图片描述
真机上: virt-manager—->server—->关闭server—>Boot options—>添加>光驱—>选择镜像路径—>将添加的光驱放到第一位 replay—>进入拯救界面 选择第三行—->选择第二行—>contine–>ok—>ok–>进入一个shell (操作截图如1中)

        df
        cd /run/install/repo/
        cd /Packages
        cp kernel-3.10.0-123.e17.x86_64.rpm /mnt/sysimage/mnt
        chroot /mnt/sysimage
        cd /mnt
        rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id
        cp boot/vmlinuz-3.10.0-123.x86_64 /boot/
        两次exit

这里写图片描述
退出挽救模式,关闭虚拟机——>将启动模式转换为磁盘启动—-> 重新打开。
4.initramfs-3.10.0-123.e17.x86_64.img(初始化程序丢失):
reboot之前:

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

这里写图片描述
reboot之后:
这里写图片描述
真机上: virt-manager—->server—->关闭server—>Boot options—>添加>光驱—>选择镜像路径—>将添加的光驱放到第一位 replay—>进入拯救界面 选择第三行—->选择第二行—>contine–>ok—>ok–>进入一个shell(操作截图如1中)

  chroot /mnt/sysimage
  mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) (uname -r查看内核版本号)

这里写图片描述
退出挽救模式,关闭虚拟机——>将启动模式转换为磁盘启动—-> 重新打开。
5.启动级别错误(为shutdown)
系统启动的几种级别:
0———–> poweroff.target
1———–> resucue.target
2———–> multi-user.target
3———–> multi-user.target
4———–> multi-user.target
5———–> grapical.target
6———–> reboot.target

systemctl set-default graphical.target

解决:重启后按上下键–>e–>内核行(linux16)写5–>ctrl+x重新启动
systemctl set-default graphical.target
这里写图片描述
这里写图片描述
进入系统后更改启动的级别
这里写图片描述

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页