小壮学运维21--linux系统排错
系统排错

一、MBR主导分区损坏

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

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


   此时系统将无法正常开机


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



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

   进入系统后,打开shell  chroot  /mnt/sysimage
   查看boot程序所在分区  df

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



   安装完成后,以虚拟硬盘驱动开机即可(注意镜像版本,不同版本安装步骤不同)
   
二、文件引导损坏

  1.boot分区的引导文件  /boot/grub2/grub.cfg
   引导文件指定了boor分区的位置;加载内核;启动系统初始化进程  
set root='hd0,msdos1'
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1

initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img



  2.若不小心删除,可通过命令自动创建  
   grub2-mkconfig > /boot/grub2/grub.cfg
[root@localhost grub2]# grub2-mkconfig > /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-946cb0e817ea4adb916183df8c4fc817
Found initrd image: /boot/initramfs-0-rescue-946cb0e817ea4adb916183df8c4fc817.img

done


  

  3.若系统没有该文件(rm -fr /boot/grub2/grub.cfg  手动删除该文件),启动时须手动引导

(注意:此实验重起虚拟机引导启动直接从硬盘启动,不用从光驱启动)

grub > set root='hd0,msdos1'
grub > linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1

grub > initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img

grub > boot





三、内核引导文件损坏  vmlinuz

(手动删除内核引导文件)


  1.内核引导文件vmlinuz
    检测硬件设备;设备驱动初始化;将/只读挂载;载入初始进程 systemd
  2.内核文件损坏,则无法正常开机,须重新安装内核软件
  3.开机模式中选择修复选项  ##注意:光驱启动
    进入系统后,打开shell  chroot  /mnt/sysimage
    挂载光驱  mount /dev/sr0  /mnt
    将光驱中内核软件拷贝至指定目录下
    mkdir /kernel

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


    解开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后以虚拟硬盘驱动开机即可



四、img文件损坏
   

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


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

  3.开机模式中选择修复选项  ##注意:光驱启动
    进入系统后,打开shell  chroot  /mnt/sysimage
    在/boot目录下自动建立文件  mkinitrd /boot/initramfs-`uname -r`.img `uname -r`

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



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

五、systemd初始化
  
  1.systemd初始化目录 /etc/systemd/system/multi-user.target.wants/
    开启selinux和systemd-tools;加载内核参数;加载系统时钟,键盘,主机名称
    读写挂载/文件系统;激活raid,lvm设备;激活系统配额;
    启动/etc/systemd/system/multi-user.target.wants/中所有脚本
    启用虚拟控台;启动图形;

  2.若系统故障,开机自动关机
    重启时按上下键,停止系统引导
    开机时按e,在内核引导时设置图形化界面开启
    正常开启后,修改systemd初始化默认参数,即可修复
    systemctl set-default graphical.target

六、root用户密码修改
 
   ###root用户密码被更改或忘记
   1.重启时按上下键,停止系统引导
   2.按e,在内核引导时找到指定行linux16,从最后往前删除至ro
    修改ro=rw rd.break

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


   4.进入系统后切换到真实系统环境,修改root密码
    chroot /sysroot
    passwd
   5.建立文件 /.autorelabel 
    ##当selinux关闭时,可不建立该文件;但当selinux开启时,必须建立该文件
    建议:重启时默认执行此命令

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




阅读更多
个人分类: 运维
想对作者说点什么? 我来说一句

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

不良信息举报

小壮学运维21--linux系统排错

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭