目录
1.通电
Linux启动,先加载bios,然后读取mbr,加载boot loader,加载内核
2.bios初始化
对硬件检测
初始化硬件时钟
3.磁盘引导
mbr=主引导记录=0磁道1扇区446
作用:
记录grub2引导文件的位置当mbr数据丢失系统会因为找不到启动分区而停止启动
问题模拟方式
系统磁盘/dev/sdadd if=/dev/zero of=/dev/vda bs=446 count=1
重启显示无法进入系统
恢复方式:
断电
在虚拟机中添加一个光盘,文件设置为镜像文件,Bus type:SATA
设置光盘优先级最高
用光盘进入系统挽救模式
选择Rescur a Red Hat Enterprise Linux system
选择继续
进入shell运行chroot /mnt/sysimage
grub2-install /dev/vda #重新安装grub2到系统硬盘上
exit
exit
断电
然后把系统磁盘优先级调到最高,重新启动
4.grub2文件引导
作用:
指定/boot所在的位置,并且指定系统启动是加载文件的名称
rhel8
/boot/grub2/grub.cfg
/boot/loader/entries/xxxxxxxxxxxxx.conf指定/boot位置
指定系统启动时加载文件名模拟问题:
rhel8:
rm -fr /boot/loader/entries/xxxxxxxx.conf
如果没有重启就可以直接修复,如果重启了,先进行手动引导,成功进入系统后再进行修复
修复:
rhel8:
#kernel-install add 内核版本号 内核镜像kernel-install add 4.18.0-193.el8.x86_64 /lib/modules/4.18.0-193.el8.x86_64/vmlinuz
kernel-install add $(uname -r) /lib/modules/$(uname -r) /vmlinuz
手动引导
set root='hd0,msdos1'
linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/vda3
initrd16 /initramfs-4.18.0-193.el8.x86_64.img
boot
模拟问题2:
rm -rf /boot/grub2/grub.cfg
reboot
手动引导:
set root='hd0,msdos1'
linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/vda3
initrd16 /initramfs-4.18.0-193.el8.x86_64.img
boot
修复:
grub2-mkconfig > /boot/grub2/grub.cfg
reboot
5.内核加载
加载内核作用:
/boot/vmlinuz-$(uname -r)
系统初始化硬件设备
只读挂载/设备问题:
rm -rf /boot/vmlinuz-$(uname -r)
恢复:
复制系统中usr下的内核文件到/boot中即可进入到挽救模式
chroot /mnt/sysimagecp /usr/lib/modules/$(uname -r)/vmlinuz /boot/vmlinuz-$(uname -r)
####$(uname -r)表示优先执行括号里的语句 uname -r 获取版本号
exit
exit
断电
然后把系统磁盘优先级调到最高,重新启动
6.系统初始化镜像
/boot/initramfs-4.18.0-80.el8.x86_64.img
加载系统时钟
加载selinux
加载系统主机信息
加载/etc/fstab文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形问题出现:
rm -fr /boot/initramfs-xxxxx.img
恢复:
进入到挽救模式
mkinitrd --help
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
exit
exit
断电
然后把系统磁盘优先级调到最高,重新启动
7.系统启动级别
0 关机
1 单用户
2 无图形模式
3 无图形模式
4 无图形模式
5 无图形模式
6 重启/etc/systemd/system/ 命令存放地址
问题出现:
systemctl set-default reboot.target
set-default为设置系统图形模式,把set-default和重启链接起来,系统就会不停重启
恢复:
在开机选择界面按e进入到引导文件编辑模式
在内核加载选项最后加入启动级别5
ctrl+xsystemctl set-default graphical.target
8.超级用户忘记密码
恢复:
1.在开机选择界面按<e>进入到引导文件编辑模式
2.在内核加载选项最后删除到ro选项
3.更改ro为rw
4.加入rd.break参数终止系统启动进入单用户模式
5.ctrl+x启动
6.chroot /sysroot
7.echo lee | passwd --stdin root
8.touch /.autorelabel ##当/.autorelabel文件存在selinux会重新初始化cp kernel-core-4.18.0-80.el8.x86_64.rpm /mntexit
exit
实验
rm -rf /boot/*
恢复步骤
进入拯救模式
rpm -ivh kernel-core-xxxx.rpm
更换硬盘后重启进入引导模式进入主机
安装
grub2 -install /dev/vda
grub2 -mkconfig > /boot/grub2/grub.cfg重启