基于linux的系统排错

本文详细介绍了Linux系统的开机启动过程,以及遇到MBR损坏、引导文件删除、内核文件丢失等情况时的恢复方法。包括恢复MBR、修复引导文件、恢复内核文件的步骤,并提供了进入恢复模式的指南,帮助用户解决系统故障。
摘要由CSDN通过智能技术生成

###linux系统的开机启动过程#####

通电-->bios初始化-->grub2磁盘引导阶段-->grub文件引导阶段-->指定boot所在分区-->启动内核,只读挂载/设备

-->启动init程序进入初始化阶段-->启动systemd初始化进程-->取/etc/systemd中的文件-->启动程序-->启动登陆环境

####linux中在启动过程中mbr主引导程序被破坏,如何恢复#####

1.grub  磁盘引导阶段
mbr 的作用是为了记录 /boot 目录所在分区位置

磁盘的0磁道 1 扇区的前446字节

2.查看自己系统的版本(hostnamectl进行查看)

3.查看boot引导程序所在分区(fdisk -l 查看)

4.模拟破坏程序,进行恢复

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

           reboot    ###系统会启不了

(2)重启后有如下报错

(3)在真机中virt-manager打开虚拟机图形管理,关掉server虚拟机,点击小灯泡图标,选择下面的Add Hardware添加

选择本虚拟机相应的镜像7.0,设备选CDROM光驱,IDE,点击finish即可

出来后选择Boot Options 把刚才添加的CDROM排到第一读取的位置,然后重启虚拟机

再次进入后,选择Trobuleshooting进入挽救模式,回车

然后再选择Rescue  a  Red  Hat  Enterprise Linux  system ,回车

进入之后会让你确认是否恢复选continue,然后会告诉你你的系统被挂载在/mnt/sysimage,进入挽救模式后你需要切换根目录chroot  /mnt/sysimage

下面两个选ok即可

进入挽救模式后,恢复引导程序,命令如下,完成后两次exit退出

关闭虚拟机,点击小灯泡,选择Boot Options将Disk1调至第一读取位置,点击apply,重启即可恢复

####系统引导文件删除后的恢复####

引导文件在/boot/grub2/grub.cfg中

1.删除引导文件,在系统没有重启之前可直接恢复

2.若已经重启,就需要手动引导

####第一行,指定/boot所在分区,在grub.cfg里可以查看

####第二行,root=根分区的设备名称,df可以查看

3.恢复好后还需grub2-mkconfig > /boot/grub2/grub.cfg     否则,每次启动都需要手动引导

#######系统内核文件删除后的恢复#######

1.系统内核文件就在/boot下,ls可看到

2.删除内核文件后,未重启的情况

df 查看镜像挂载点

cd /run/media/root/RHEL-7.0\ Server.x86_64/

  ls

 cd Packages/    ####进入Packages
 cp kernel-3.10.0-123.el7.x86_64.rpm   /root/Desktop    ###复制到桌面
 rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id   ####将内核安装包解压

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

3.删除内核文件后,重启之后的恢复,报错情况

4.进入到挽救模式,df查看/dev/sr0的挂载点,切换至所在目录cd /run/install/repo/Packages,复制内核安装包到/mnt/sysimage的mnt目录里,操作如下图

      cd  /run/install/repo
      ls
      cd  Packages
      cp  kernel-3.10.0-123.el7.x86_64.rpm  /mnt/sysimage/mnt

     chroot   /mnt/sysimage
      cd  /mnt
      rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id

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

切入系统现在的根chroot    /mnt/sysimage,进入/mnt,将内核包解压,再将内核文件复制到/boot

完成后,两次exit退出,再进入虚拟机管理界面,把Disk1调至第一读取位置,重启即可恢复(同上面)

##########系统初始化文件丢失的恢复###########

1.删除镜像文件(镜像文件在/boot/下)

2.当系统没有重启时,可以直接恢复,命令如下:提示$()为先执行括号里的内容,$(uname -r)自动匹配文件的版本

3.如果重启了,会出现如下报错

4.然后进入挽救模式,恢复初始化镜像文件

5.完成后,两次exit退出,再进入虚拟机管理界面,把Disk1调至第一读取位置,重启即可恢复(同上面)

############系统开机启动级别被篡改的恢复########

###系统的启动级别##

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

1.修改开机级别

systemctl set-default shutdown.target
rm '/etc/systemd/system/default.target'
ln -s '/usr/lib/systemd/system/shutdown.target' '/etc/systemd/system/default.target'

reboot

2.重启后,有如下报错

3.此时修改为,进入登陆选择界面时,先按上下键停止进入,然后选择你要登陆的系统按e,选择linux16这一行,在最后添加5,按crlt+x,系统重启

4.系统重启后,应修改系统的启动级别,不然下次还会出现此情况

systemctl   set-default  graphical.target















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值