Linux操作系统基础 2.8 -- 系统的引导修复

目录

linux系统的引导修复

1、磁盘引导

2、grub2文件引导

3、内核加载

4、系统初始化镜像

5、系统启动级别

6、超级用户密码忘记


linux系统的引导修复

通电
linux系统启动先加载bios,再读取mbr,加载boot loader, 加载内核。

bios初始化
对硬件检测 初始化硬件时钟

1、磁盘引导

mbr=主引导程序=0磁道1扇区446字节
作用:记录grub2引导文件所在位置,记录磁盘引导程序,引导磁头去读取电脑启动的文件
当磁盘引导程序被破坏电脑无法启动

问题模拟:
dd if=/etc/zero of=/dev/vda bs=446 count=1     删掉系统盘vda中的mbr数据
reboot    重启后显示电脑无法正常启动

解决:
断电,虚拟机配置界面 添加光驱 设置开机优先启动 用光驱替代磁盘引导
开启虚拟机  Rescue 系统挽救模式
1
chroot /mnt/sysimage/        
df                            
grub2-install /dev/vda          重新安装grub2到系统磁盘上  
vim /etc/sysconfig/selinux   
SELINUX=disabled             设置不读取全盘文件(可以忽略,启动速度稍慢)
exit
exit                         因为优先读取光驱所以需要断电修改优先级

2、grub2文件引导

/boot/grub2/grub.cfg
/boot/loader/entries/xxxxx.conf

指定/boot位置
指定系统启动时加载的配置文件名

模拟问题:

1.
cd /boot/loader/entries/
ls
rm -rf /boot/loader/entries/xxxxxx.conf
恢复:
kernel-install add 4.18.0.193.el8.x86_64 /lib/modules/4.18.0-193.el8.x86_64/vmlinuz
                    (uname -r 内核版本号)     (内核镜像)
2.
cd /boot/grub2/
ls
rm -rf /boot/grub2/grub.cfg
恢复:
grub2-mkconfig > /boot/grub2/grub.cfg

手动引导:
grub> set root=‘hd0,msdos1’
grub> linux16 /vmlinuz-4.18.0.193.el8.x86_64 ro root=/dev/vda3
grub> initrd16 /initramfs-4.18.0.193.el8.x86_64.img
grub> boot

3、内核加载

加载内核作用:
/boot/vmlinuz-(username -r)
系统初始化硬件设备
只读挂载/设备

问题:
cd /boot/
rm -rf /boot/vmlinuz-4.18.0-193.el8.x86_64

恢复:
复制系统中的usr下的内核文件到/boot中即可
cp /lib/modules/4.18.0-193.el8.x86_64/vmlinuz /boot/vmlinuz-4.18.0-193.el8.x86_64

如图当内核文件无法快捷出来时判定他已损毁

解决:
断电,虚拟机配置界面 添加光驱 设置开机优先启动 用光驱替代磁盘引导
开启虚拟机  Rescue 进入系统挽救模式

输入1得到一个shell

chroot /mnt/sysimage/        
cp /lib/modules/4.18.0-193.el8.x86_64/vmlinuz /boot/vmlinuz-$(name -r)    ## $(name -r) 表示优先执行括号内的语句
ls /boot/
exit
exit          因为优先读取光驱所以需要断电修改优先级

4、系统初始化镜像

/boot/initramfs-4.18.0-193.el8.x86_64.img
加载系统时钟
加载selinux
加载系统主机信息
加载/etc/fstab文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开启开机自启服务
开启虚拟控制台
开启图形

问题出现:
ls /boot
rm -rf /boot/initramfs-XXXX.img

恢复:
mkinitrd --help
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

解决:
断电,虚拟机配置界面 添加光驱 设置开机优先启动 用光驱替代磁盘引导
开启虚拟机  Rescue 进入系统挽救模式
1
chroot /mnt/sysimage/        
mkinitrd /boot/initramfs-$(uname -r).img $(name -r)    ## uname -r 查看内核版本号
ls /root/
exit
exit          因为优先读取光驱所以需要断电修改优先级

5、系统启动级别

0     关机
1     单用户
5     有图形网络模式
6     重启

问题出现:

cd /etc/systemd/system/multi-user.target.wants/
systemctl set-default reboot.target

恢复:
在开机界面按 <e> 进入到引导文件编辑模式
在内核加载选项最后加入启动级别 5
Ctrl+x 启动
systematl set-default graphical.target

6、超级用户密码忘记

恢复:
1.在开机界面按<e> 进入引导文件编辑模式
2.在内核加载选项行中删除到 ro选项
3.更改ro----->rw
4.加入rd.break参数终止系统启动进入单用户模式
5.ctrl+x启动
6.chroot /sysroot
7.echo westos | passwd --stdin root
8.touch /.autoreabel     当/.autorelabel文件中存在selinux会重新初始化cp kernel-core-$(uname -r).rpm /mnt/
exit
exit

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值