Linux系统引导过程及引导修复

1.bios初始化

原理:对其硬件进行检测,初始化硬件时钟

2.磁盘引导

 mbr=主引导记录=0磁道1扇区446

作用:记录grub2引导文件的位置,当mbr数据丢失系统会因为找不到启动分区而停止启动

问题模拟:

(1)查询系统磁盘

fdisk -l                  //查询磁盘分区

 

由上图可知,系统磁盘位置为/dev/sda

(2)清除mbr数据

dd if=/dev/zero of=/dev/sda bs=446 count=1              //清除系统磁盘中的mbr数据

此时mbr数据已清除,系统无法启动

解决方法:

用光盘进入系统挽救模式

执行以下命令:
chroot /mnt/sysimage
grub2-install /dev/vda                            //重新安装grub2到系统硬盘上
exit
exit

然后重启系统,发现系统可以正常启动,问题解决

3.grub2文件引导

文件位置:主引导文件        /boot/grub2/grub2.cfg    

                  子引导文件        /boot/loader/entries/xxxx.conf

(1)主引导文件修复

执行以下命令:

ls /boot/
cd /boot/grub2/
ls

运行结果如下所示:

 
rm -fr grub.cfg

运行以上命令后,主引导文件已删除,重启系统,出现以下界面

在该界面输入以下命令,手动引导系统启动

set root='hd0,msdos1'
linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/sda1
initrd16 /initramfs-4.18.0-193.el8.x86_64.img
boot

系统启动后,输入以下命令

grub2-mkconfig > /boot/grub2/grub.cfg                   //恢复主引导文件

然后reboot重启系统,系统正常启动,且主引导文件恢复,如下图所示:

(2)子引导文件修复

执行以下命令:
ls /boot/loader/
ls /boot/loader/entries/

结果如下图所示:

 
rm -fr /boot/loader/entries/*

在执行以上命令后,子引导文件已删除,重启系统后,出现以下界面:

在该界面输入以下命令,手动引导系统启动

set root='hd0,msdos1'
linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/sda1
initrd16 /initramfs-4.18.0-193.el8.x86_64.img
boot

系统启动后,输入以下命令

kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz     //恢复子引导文件
ls /boot/loader/entries/

结果如下:

 4.内核加载

作用:系统初始化硬件设备,只读挂载 / 下的设备

问题模拟:

rm -fr /boot/vmlinuz-$(uname -r)

进行以上操作后,重启系统,系统无法启动

解决办法:

复制系统中usr下的内核文件到/boot中即可


通过光盘启动系统,输入以下命令:
chroot /mnt/sysimage
cp /usr/lib/modules/$(uname -r)/vmlinuz /boot/vmlinuz-$(uname -r)
exit
exit

输入以上命令后,重启系统,正常启动,说明修复成功

5.系统初始化镜像

文件位置:/boot/initramfs-4.18.0-193.el8.x86_64.img

作用:加载系统时钟、加载selinux、加载系统主机信息、加载/etc/fstab文件中磁盘挂在策略、加载磁盘配额、初始化系统程序开启开机启动服务、开启虚拟控制台、开启图形

问题模拟:

    rm -fr /boot/initramfs-4.18.0-193.el8.x86_64.img

执行以上操作后,初始化镜像被删除

解决方法:

 mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

6.系统启动级别

分为以下7种不同级别 

0 关机
1 单用户
2 无图形网络模式
3 无图形网络模式
4 无图形网络模式
5 有图形网络模式
6 重启

问题模拟:

systemctl set-default reboot.target

解决方法:

在开机选择界面按<e>进入到引导文件编辑模式

如下图所示:

 
在内核加载选项最后加入启动级别5,然后输入ctrl+x命令重启系统,执行以下命令

   systemctl set-default graphical.target

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值