Linux系统引导过程及引导修复
1.通电
2.bios初始化
作用:对硬件进行检测,初始化硬件时钟
3.磁盘引导
mbr=主引导记录=0磁道1扇区446
作用:记录grub2引导文件的位置
【注】:当mbr数据丢失系统会因为找不到启动分区而停止启动
问题模拟方式:
系统磁盘/dev/nvme0n1
dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1 ##清空/dev/nvme0n1磁盘上的mbr数据
接着重启系统,发现因为mbr数据丢失从而导致找不到启动分区而无法启动
解决办法:
用光盘进入挽救模式
4.grub2文件引导
作用:按照文件里面的内容自动加载系统里面的内核和系统初始化镜像
在rhel7中:
/boot/grub2/grub.crg
在rhel8中:
/boot/grub2/grub.crg
/boot/loader/entries/xxxx.conf
指定/boot位置
指定系统启动时加载文件名称
模拟问题:
rhel7中:
在rhel8中:
修复:
在rhel7中:
如果没有重启直接执行
在rhel8:
如果没有重启,直接执行:
kernel-install add 内核版本号 内核镜像
kernel-install add $(uname -r) /lib/modules/ $(uname -r)/vmlinuz
重启后需要手动引导:
5.内核加载
/boot/vmlinuz-$(uname -r)
加载内核作用:系统初始化硬件设备,只读挂载/设备
问题出现:
修复:重装内核
进入到挽救模式:
在rhel7中:
【注】在rhel8中:安装镜像时是这个版本
6.系统初始化镜像
加载系统时钟
加载selinux
加载系统主机信息
加载/etc/fstab文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形
问题出现:
rm -fr /boot/initramfs-xxx.img
恢复:
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
7.系统启动级别
0 | 关机 |
---|---|
1 | 单用户 |
2 | 无图形网络模式 |
3 | 无图形网络模式 |
4 | 无图形网络模式 |
5 | 有图形网络模式 |
6 | 重启 |
问题出现:
systemctl set-default reboot.target
恢复:
在开机选作界面按进入到引导文件编辑模式‘在内核加载选项最后加入启动级别5
ctrl+x
systemctl set-default graphical.target
8.超级用户密码忘记
恢复:
1.在开机选择界面按进入到引导文件编辑模式
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会重新初始化