linux系统启动过程:
通电–>bios初始化–>grub2磁盘引导阶段–>grub2文件引导阶段–>指定boot所在分区–>启动内核,只读挂载设备–>启动init程序进入初始化阶段–>启动systemd初始化进程–>读取/etc/systemd/中的文件–>启动程序–>启动登陆环境
bios初始化
基于输入 / 输出系统(BIOS)是内置标准x86/x86-64硬件的固件接口,将硬件置于已知状态,并准备好系统以加载操作系统。
作用:检测并初始化硬件,确定从中引导的设备。
异常错误:错误或异常BIOS设置,错误引导设备顺序。
如何解决:使用特定供应商的键可以进行引导顺序覆盖,一般为F12。
grub磁盘引导阶段
MBR的作用时记录/boot目录所在分区位置磁盘的0此道1扇区的前446字节
系统故障处理
1、mbr主引导记录的恢复
模拟问题:
dd if=/dev/zero of=/dev/xda bs=446 count=1
解决问题:
grub2-install /主引导所在分区
grub2-install /dev/xda
2、文件引导阶段
1)、引导文件丢失
模拟问题:
rm -fr /boot/grub2/grub.cfg
解决问题:
当系统没有重新启动时:
grub2-mkconfig > /boot/grub2/grub.cfg
当系统重启之后:
grub > set root='hd0,msdos1' 设置/boot所在分区
grub > linux16 /vmlinuz-3.10.0-123.e17.x86_64 ro root=/跟分区设备名称
grub > initrd16 /initramfs-3.10.0-123.e17.x86_64.img
grub > boot
grub2-mkconfig > /boot/grub2/grub.cfg 系统启动之后执行该命令,永久恢复
操作如下:
2)、内核文件丢失
模拟问题:
rm -rf /boot/vmlinuz-3.10.0-123.e17.x86_64 删除内核
解决问题:
进入救援模式
chroot /mnt/sysimage
mount /dev/sr0 /opt
cp /opt/Packages/kernel....rpm /mnt
cd /mnt
rmp2cpio kernel....rpm | cpio -id
cp vmlinuz.... /boot
exit
exit
实验流程:
3)、系统初始化文件丢失
模拟问题:
rm -rf /boot/vmlinuz-3.....img
解决问题:
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
uname -r 内核版本
3、系统不断重启
/etc/systemd/system/multi-user.target.wants 开机启动自动读取的文件
模拟问题:
ls -l default.target
systemctl set-default reboot.target 使开机即重启
解决问题:
systemctl set-default graphical.target 恢复正常