二.bios初始化
对硬件检测
初始化硬件时钟
三.磁盘引导
mbr 系统主引导记录(启动默认读取磁盘的位置,磁头默认零磁道一扇区446字节)
挽救模式的/是光盘的/,硬盘的/会被挂载到当前环境光盘的/mnt/sysimage
模拟问题:
dd if=/dev/zero of=/dev/sda bs=446 count=1
恢复:
由光盘启动进入挽救模式
chroot /mnt/sysimage
grub2-install /dev/sda
两次exit
重新启动客户机
四.grub2文件引导
/boot/loader/entries
kernel-install add $(uname -r) /boot/vmlinuz-$(uname -r)
uname -r 查看内核版本
/boot/vmlinuz
模拟问题:
rhel8
rm -fr /boot/loader/entries/xxxxxx
未重启修复:
kernel-install add $(uname -r) /boot/vmlinuz-$(uname -r)
内核版本号 内核镜像
touch /boot/loader/entries/2554db53fc214de9a4a48e5928c3cb9f-0-rescue.conf
kernel-install add $(uname -r) /boot/vmlinuz-0-rescue-2554db53fc214de9a4a48e5928c3cb9f
重启之后手动引导:
set root=(hd0,msdos1)
linux16 /vmlinuz-4.18.0-80.el8.x86_64 ro root=/dev/sda3
initrd16 /initramfs-4.18.0-80.el8.x86_64.img
boot
五.内核加载
加载内核的作用:
fr /boot/vmlinuz-$(uname -r)
系统初始化硬件设备,只读挂载设备
模拟问题:
rm -fr /boot/vmlinuz-$(uname -r)
恢复:
拆解内核安装包并赋值内核压缩镜像到/boot
重装内核
进入到挽救模式
chroot /mnt/sysimage
mount /dev/cdrom /media
cd /media/BaseOS/Packages/
cp kernel-core-4.18.0-80.el8.x86_64.rpm /mnt/
rpm2cpio kernel-core-4.18.0-80.el8.x86_64.rpm | cpio -id
cp /mnt/lib/modules/4.18.0-80.el8.x86_64/vmlinuz /boot/vmlinuz-$(uname -r)
exit
exit
六.系统初始化镜像
/boot/initramfs-4.18.0-80.el8.x86_64.img
加载系统时钟
加载selinux
加载系统主机信息
加载/etc/fstab文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形
模拟问题:
rm -fr /boot/initramfs-xxxx.img
恢复:
未重启:
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
重启之后,进入挽救模式:
chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
exit两次
七.系统启动级别
设置开机启动/不启动sshd服务
/etc/systemd/system/multi-user.target.wants
rm -fr sshd.service 开机不启动sshd服务
systemctl enable sshd.service
systemctl restart sshd.service 启动sshd服务
设置系统启动级别
/etc/systemd/system/default.target
模拟问题:
systemctl set-default reboot.target 设置为无限重启模式
恢复:
重启,上下键停止读秒,按“e” ,ce rhgd quiet这一行
ce rhgd quiet 5 指定启动级别(5 图形界面)
ctrl+x
重启后 ,systemctl set-default graphical.target
八.超级用户密码忘记
恢复:
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 /mnt/
九.综合实验
rm -fr /boot/*
恢复:
grub2-install /dev/sda
grub2-mkconfig > /boot/grub2/grub.cfg
rpm -ivh kernel-core-xxxx.rpm