Linux系统下的排错

时间:2024-03-19 18:27:12

##1.MBR主导分区损坏##

 1.可覆盖掉虚拟机的主导分区

   dd   if=/dev/zero   of=/dev/vda   bs=446  count=1

   此时系统将无法正常开机

Linux系统下的排错

 2.根据虚拟机版本添加光驱(如7.0的系统光驱为7.0版本的镜像)

Linux系统下的排错

3.开机模式中选择修复选项    ##注意:光驱启动

Linux系统下的排错

Linux系统下的排错  

Linux系统下的排错

 

进入系统后,打开 shell   chroot   /mnt/sysimage

   查看boot程序所在分区  df

   安装主导分区的程序  grub2-install    /dev/vda

两次exit退出

   安装完成后,以虚拟硬盘驱动开机即可

Linux系统下的排错

##2.文件引导损坏##

  1.boot分区的引导文件  /boot/grub2/grub.cfg

Linux系统下的排错

   引导文件指定了boor分区的位置;加载内核;启动系统初始化进程  

 2.若不小心删除,可通过命令自动创建  

   grub2-mkconfig   >   /boot/grub2/grub.cfg

  Linux系统下的排错

 3.若系统没有该文件,启动时须手动引导

Linux系统下的排错

##3.内核引导软件损坏  vmlinuz##  

  1.内核引导文件vmlinuz

    检测硬件设备;设备驱动初始化;将/只读挂载;载入初始进程 systemd

  2.内核文件损坏,则无法正常开机,须重新安装内核软件

Linux系统下的排错

Linux系统下的排错

3.开机模式中选择修复选项   ##注意:光驱启动

Linux系统下的排错

    进入系统后,打开shell 

    chroot   /mnt/sysimage

    挂载光驱   mount   /dev/sr0    /mnt

    将光驱中内核软件拷贝至指定目录下

    mkdir   /kernel

    cp   /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm   /kernel

Linux系统下的排错

    解开kernel,得到所需的内核引导软件

    rpm2cpio   kernel-3.10.0-123.el7.x86_64.rpm   |   cpio   -id

    cp   ./boot/vmlinuz-3.10.0-123.el7.x86_64    /boot

    查看/boot分区文件是否完整,ok后以虚拟硬盘驱动开机即可

Linux系统下的排错

##4.img文件损坏##

  1.若不小心删除,可通过命令自动创建

   mkinitrd   /boot/initramfs-`uname -r`.img   `uname -r`

   ##uname -r 系统内核版本:3.10.0-123.el7.x86_64

Linux系统下的排错

2.img文件损坏后,无法正常开机,须重新建立img文件

Linux系统下的排错

3.开机模式中选择修复选项   ##注意:光驱启动

    进入系统后,打开shell  chroot  /mnt/sysimage

    在/boot目录下自动建立文件     

    查看/boot分区文件是否完整,ok后以虚拟硬盘驱动开机即可

Linux系统下的排错

##5.systemd初始化##

  1.systemd初始化目录    /etc/systemd/system/multi-user.target.wants/

    开启selinux和systemd-tools;加载内核参数;加载系统时钟,键盘,主机名称

    读写挂载/文件系统;**raid,lvm设备;**系统配额;

    启动/etc/systemd/system/multi-user.target.wants/中所有脚本

    启用虚拟控台;启动图形

Linux系统下的排错

  2.若系统故障,开机自动关机

Linux系统下的排错

重启时按上下键,停止系统引导

    开机时按e,在内核引导时设置图形化界面开启(5)

Linux系统下的排错

正常开启后,修改systemd初始化默认参数,即可修复

    systemctl   set-default   graphical.target

Linux系统下的排错

##6.root用户密码修改##

   root用户密码被更改或忘记

   1.重启时按上下键,停止系统引导

Linux系统下的排错

   2.按e,在内核引导时找到指定行linux16,从最后往前删除至ro

    修改ro=rw rd.break

Linux系统下的排错

   3.ctrl + x 启动修改设定后的系统引导

   4.进入系统后切换到真实系统环境,修改root密码

    chroot   /sysroot

    passwd

   5.建立文件  /.autorelabel

    ##当selinux关闭时,可不建立该文件;但当selinux开启时,必须建立该文件

    建议:重启时默认执行此命令

   6.输入2次exit退出、重新启动

Linux系统下的排错