Linux系统排错及启动流程

系统启动过程

在这里插入图片描述

  1. 通电
  2. bios(basic input or output system基本输入输出系统)初始化,主要作用是自检及初始化,开机后bios最先被启动,他会对电脑的硬件设备进行完全彻底的检验和测试。MBR:硬盘上0扇区0磁道前512bytes,它是一个独立于操作系统的部分,是一个全局重要区域,MBR对于系统启动至关重要!
  3. 阶段1:mbr主引导记录,在硬盘的0磁道,1扇区,共446字节。
  4. 阶段2:grub文件引导阶段
  5. 启动内核,只读挂载根设备,检测设备,对设备驱动进行初始化。

附一张详细的Linux启动过程的图:
在这里插入图片描述

Linux启动时常见错误及排错

系统启动级别问题

  • 系统启动级别
    在/lib/systemd/system/目录下可以查看:
runlever0.target -> poweroff.target
runlever1.target -> rescue.target
runlever2.target -> multi-user.target
runlever3.target -> multi-user.target
runlever4.target -> multi-user.target
runlever5.target -> grapical.target
runlever6.target -> reboot.target
  • 设定启动级别
方法一:systemctl set-default + 启动级别
方法二:先删除默认启动级别,再使用软链接的方式
rm  -rf  /etc/systemd/system/default.target
ln -s /lib/systemd/system/某个启动级别 /etc/systemd/system/default.target
  • 系统启动级别错误
    如果系统被人恶习修改启动级别为reboot.target,则系统在启动时会陷入无限循环重启中。我们应该怎么解决这类问题?
  • (1)模拟错误
方法一:systemctl set-default reboot.target
方法二:
rm  -rf  /etc/systemd/system/default.target
ln -s /lib/systemd/system/reboot.target  /etc/systemd/system/default.target

在这里插入图片描述

  • (2)解决办法
    第1步:开机按上下健停止读秒
    第2步:按“E”进入编辑模式
    在这里插入图片描述
    第3步:选择内核启动那一行(就是以linux16开头这一行),在末尾加5,也就是runlever5.target -> grapical.target
    在这里插入图片描述
    第4步:“ctrl+x”启动系统,成功进入图形界面的系统。
    在这里插入图片描述
    第5步:进入系统后一定要修改系统启动级别!systemctl set-default graphical.target

磁盘引导阶段 -------- mbr主引导记录的恢复

  • mbr的作用是为了记录/boot目录所在分区位置
  • 注意:主引导记录在含有"*"的分区所在的硬盘上,磁盘的 0 磁道 1 扇区的前 446 字节,所以当这前446字节被破坏或者被替代,就会发生系统错误。
    在这里插入图片描述
  • (1)模拟错误
    破坏主引导记录分区:dd if=/dev/zero of=/dev/vda bs=446 count=1,重启系统,发现系统启动不起来。
    在这里插入图片描述
  • (2)解决方法:
    第1步:关闭系统,添加光驱,加载镜像进行修复,使系统从光驱启动。
    在这里插入图片描述
    在这里插入图片描述
    第2步:选择修复选项,进入拯救模式
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    第4步:执行相关操作
chroot /mnt/sysimage   				##切换到当前镜像系统的真实根分区
df									##查看挂载情况,找到boot分区所在文件系统
grub2-install /dev/vda    			##grub2安装
exit
exit

第5步:关闭虚拟机,取消光驱启动,修改为默认的硬盘启动,成功启动。
在这里插入图片描述

文件引导阶段文件的恢复

引导文件丢失:/boot/grub2/grub.cfg

  • grub引导文件/boot/grub2/grub.cfg指定/boot分区的位置,用于加载内核,启动系统初始化进程。该配置文件描述了相关的信息:
    在这里插入图片描述
  • (1)模拟问题
rm  -fr /boot/grub2/grub.cfg

系统无法启动:
在这里插入图片描述

  • 解决方法
    方法1:当系统没有重新启动,grub2-mkconfig >/boot/grub2/grub.cfg 生成引导文件grub2-mkconfig > /boot/grub2/grub.cfg在这里插入图片描述
    方法二:系统重启后,采用手动引导的方式
grub > set root='hd0,msdos1'  ##也就是刚刚配置文件中的内容
##首先查/boot有没有独立挂载,如果没有独立挂载,就是在/分区下所在的设备,若独立挂载,则在挂载的设备上
grub > linux16 /vmlinuz-3.10.0-514.el7.x86_64 ro root=/dev/mapper/rhel-root  ##启动内核,根分区的设备名称
grub > initrd16 /initramfs-3.10.0-514.el7.x86_64.img			 ##启动init程序,进入初始化阶段启动初始化进程
grub > boot

注意:以上操作可以使系统正常启动,但是是临时的,所以进入系统之后还需要执行:grub2-mkconfig > /boot/grub2/grub.cfg生成引导文件

系统内核文件丢失

  • 模拟问题:rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64删除内核文件
  • 解决方法:
    类似的,从光驱启动,进入挽救模式,从挂盘挂载的镜像中找到内核的安装包,解包,得到和系统相匹配的内核文件,拷贝到/boot下即可。
chroot /mnt/sysimsge			
mount /dev/sr0 /westos
cd /westos/Packages 
cp kernel-3.10.0-123.el7.x86_64.rpm /mnt                 #复制到别的目录下
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm  | cpio -id    #解包,解出来
cp  vmlinuz-3.10.0-514.el7.x86_64 /boot   ##将内核文件复制到/boot下
exit
exit

系统初始化镜像文件丢失

  • 模拟问题:rm -fr /boot/initramfs-3.10.0-514.el7.x86_64.img删除初始化镜像文件
  • 解决方法:
    方法1:系统未重启时
    mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
    注意:uname -r 表示查看内核版本 $()会优先执行括号内的指令
    在这里插入图片描述
    方法2:系统重启后
    改变启动引导,进入挽救模式,使用mkinitrd命令恢复初始化镜像文件
chroot /mnt/sysimage 
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) 
ls /boot/
exit
exit

在这里插入图片描述

boot分区被删除

  • 模拟问题:rm -rf /boot/*
    在这里插入图片描述
  • 解决方法:改变启动引导,进入挽救模式
    这个思想就是将boot分区做的一系列事情进行糅合。
chroot /mnt/sysimage
mkdir /boot   ##新建/boot目录
grub2-install /dev/vda   ##启动分区所在硬盘
mount /dev/sr0 /westos  ##挂载镜像
rpm -ivh /westos/Packages/kernel-3.10.0-514.el7.x86.64.rpm --force  ##强制安装内核文件
grub2-mkconfig > /boot/grub2/grub.cfg   ##引导文件
exit
exit

完成后重新更换启动系统方式,成功。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值