Linux系统排错

1.系统正常启动流程

1.通电
2.bios(basic input or output system基本输入输出系统)初始化:
主要作用是自检及初始化,开机后bios最先被启动,他会对电脑的硬件设备进行完全彻底的检验和测试。
3.grub系统引导,分为两个阶段:
1>阶段1:mbr主引导记录,在硬盘的0磁道,1扇区,共446字节。
2>阶段2:grub文件引导阶段
4.启动内核,只读挂载根设备,检测设备,对设备驱动进行初始化。
5.系统初始化阶段:系统初始化阶段加载initrd镜像,开启初始化进程systemd,开启selinux,加载内核参数,初始化系统时钟,键盘,主机名称,重新读写挂载设备,激活RAID,lvm,激活配额,启动multi-user.target.wants中的所有服务,开启虚拟控制台,启动图形界面。
在这里插入图片描述

2.常见系统故障恢复

1.硬盘引导阶段(mbr主引导记录的恢复)

若mbr引导分区数据(程序)丢失,系统将无法启动;mbr 的作用是为了记录 /boot 目录所在分区位置,磁盘的 0 磁道 1 扇区的前 446 字节。

  • 模拟问题:dd if=/dev/zero of=/dev/vda bs=446 count=1
    在这里插入图片描述
    在这里插入图片描述
    重启后显示:
    在这里插入图片描述
  • 解决:

关闭虚拟机,并给虚拟机添加光驱,将开机启动方式改为光驱启动优先
在这里插入图片描述
在这里插入图片描述
重新启动后进入secure模式
在这里插入图片描述

执行如下命令进行恢复:

chroot /mnt/sysimage
grub2-install 启动分区所在硬盘
grub2-install /dev/vda
exit
exit

在这里插入图片描述
完成后关闭虚拟机,取消光驱启动,改为默认的硬盘启动即可。

2.文件引导阶段
1)引导文件丢失

  • 模拟问题:rm -fr /boot/grub2/grub.cfg

-当系统没有重新启动时

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

在这里插入图片描述

  • 当系统重新启动时

grub > set root=‘hd0,msdos1’
grub > linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 root=/dev/vda1
grub > initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img
grub > boot

在这里插入图片描述
以上操作可以使系统正常启动,但是是临时的,grub2.cfg文件还没恢复,所以进入系统后还是需要执行:grub2-mkconfig > /boot/grub2/grub.cfg
在这里插入图片描述
2)内核文件丢失

  • 模拟问题:rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64
    在这里插入图片描述
    使用光盘重启时,进入rescue模式

    chroot /mnt/sysimage
    mkdir /rhel7
    mount /dev/sr0 /rhel7
    cd /rhel7/Packages
    cp kernel-3.10.0-123.el7.x86_64.rpm /mnt
    rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio - id
    cd boot
    cp vmlinuz-3.10.0-123.el7.x86_64 /boot
    exit
    exit

在这里插入图片描述
完成后关闭虚拟机,将开机方式设置为硬盘启动,再正常开机

3)初始化镜像文件丢失

  • 模拟问题:rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img

  • 当系统没有重启时
    执行mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

在这里插入图片描述

  • 当系统重启后,使用光盘重启,进入rescue模式:

    chroot /mnt/sysimage ##切换目录
    mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##转换类型
    cd /boot/
    ls
    exit
    exit

在这里插入图片描述
4)当/boot分区被删掉
模拟问题:rm -fr /boot/*
在这里插入图片描述
当系统重启后,使用光盘重启,进入rescue模式:

chroot /mnt/sysimage
mkdir /boot
grub2-install /dev/vda ##启动分区所在硬盘,不固定,我这里是/dev/vda
mount /dev/sr0 /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --force  ##强制安装内核文件
grub2-mkconfig > /boot/grub2/grub.cfg  ##引导文件
exit
exit

在这里插入图片描述
完成后关闭虚拟机,将开机方式设置为硬盘启动,再正常开机

3.当开机启动级别被篡改

  • 模拟问题
    执行systemctl set-default reboot.target

在这里插入图片描述

  • 解决方法
    1.开机按上下健停止读秒
    在这里插入图片描述
    2.按e编辑
    在这里插入图片描述
    3.选择内核启动行
    linux16 /vmlinuz-xxxxx ro xxxxx改为:linux16 /vmlinuz-xxxxx rw rd.break

在这里插入图片描述
4.执行如下命令:

ctrl+x
chroot /sysroot
rm -fr /etc/systemd/system/default.target
ln -s /lib/systemd/system/graphical,target /etc/systemd/system/default.target
exit*2

在这里插入图片描述

4.忘记超户密码
1.开机按上下健停止读秒
在这里插入图片描述
2.按e编辑
在这里插入图片描述
3.选择内核启动行
linux16 /vmlinuz-xxxxx ro xxxxx改为:linux16 /vmlinuz-xxxxx rw rd.break按crtl+x退出

在这里插入图片描述
4.chroot /sysroot/ ##进入sysroot目录下
echo westos | passwd --stdin root ##将超户密码改为westos
在这里插入图片描述
5.执行touch /.autorelable
执行两次exit退出
在这里插入图片描述
6.使用新密码登陆进入系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值