一、Bios初始化
bios的打开方式:开机重启一直按F12,直到出现Bios界面
磁盘引导
电脑启动时会读取0磁道1扇区的446bit内容
该扇区的作用是将grub2的引导文件的位置记录下来,从而找到系统的启动分区的位置
将这446bit内容删掉,系统会因为找不到启动分区而停止,无法启动电脑
举例:删除引导分区
- 使用fdisk -l 查看系统磁盘所在位置
- 使用dd if=dev/zero of=/dev/vda bs=446 count=1来清空/dev/vda上的负责找启动分区的数据
- 在系统进行重启后,发现停在界面无法启动
修复方法: - 在虚拟机设置中选择CD-ROM方法启动
- 在选择界面选择挽救模式
- 在挽救模式中进入由于使用CD-ROM启动,所以/目录是CD-ROM的/,硬盘的/所在位置是/mnt/sysimages
- 输入命令chroot /mnt/sysimages进入硬盘的/中
- 输入命令grub2-install /dev/vda将grub2安装在系统中
- 输入两次exit退出
grub2文件的引导
输入/boot/grub2/grub.cfg命令
输入/boot/loader/entries命令
模拟问题
rm -fr /boot/loader/entires/*
修复方式(手动引导)
输入
- set root=‘hd0,msdos1’
- linux16 /vmlinuz(内核镜像)
- kernel-install add(内核镜像)/boot/vmlinuz(内核镜像)
五、修改超级用户密码
- 在开机的选择界面中按下e键进入引导文件编辑模式
- 进入内核加载选项在后面加上rw rd.break命令终止系统启动
- 按ctrl+x进入单用户模式
- 输入以下内容
- chroot /sysroot
- echo westos | passwd --stdin root
- touch /.autorelabel(在/.autorelabel文件存在时,selinux会重新初始化exit)
六、内核加载
加载内核作用(/boot/vmlinuz-$(uname -r)):
- 系统初始化硬件设备
- 只读挂载/设备
问题举例:rm -fr /boot/vmlinuz-$(uname -r)
恢复方式:拆解内核安装包并复制内核压缩到/目录下
步骤
- 用CD启动进入挽救模式
- chroot /mnt/sysimage
- mount /dev/cdrom /media
- cd /media/BaseOS/Packages
- cp kernal-core-4.18.0.80.el8.x86_64.rpm /mnt/
- cd /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
- 加载系统时钟
- 加载selinux
- 加载系统主机信息
- 加载/etc/fstab文件中磁盘挂载策略
- 加载磁盘配额
- 初始化系统程序开启开机启动服务
- 开启虚拟控制台
- 开启图形
问题举例:rm -fr /boot/initramfs-xxxxx.img
恢复方式:进入挽救模式下输入命令mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
八、系统启动级别
级别 | 表示 |
0 | 关机 |
1 | 单用户 |
2 | 多用户无网络模式 |
3 | 命令行模式 |
4 | |
5 | GUI图形界面模式 |
6 | 重启 |
问题举例:systemctl set-default reboot.target
系统不断在启动界面重复
恢复方式:进入开机选择界面后按e键进入引导文件模式,在内核的加载内容最后加上3(命令行模式)选择完毕后按ctrl+x进入文本界面
进入文本界面