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

1.通电

2.bios初始化

对硬件检测初始化硬件时钟,计算机上电之后,CPU就可以执行程序了,但是此时内存中并没有程序让CPU执行,因为内存是RAM掉电丢失。而且操作系统也没有装上,这个时候就要装系统了。ROM中就固化了一些计算机刚上电要执行的初始化程序,也就是BIOS(Basic Input and Output System,基本输入输出系统) 。简单地理解 BIOS,它就是固化在主板上一个 ROM(只读存储器)芯片上的程序,主要保存计算机的基本输入/输出信息、系统设置信息、开机自检程和系统自启动程序,用来为 计算机提供最底层和最直接的硬件设置与控制。

3.磁盘引导

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

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

问题模拟方式:系统磁盘/dev/sda

dd if=/dev/zero of=/dev/vda bs=446 count=1        清空系统/dev/sda上的mbr数据

 恢复方式:用光盘进入系统挽救模式 chroot /mnt/sysimage

grub2-install  /dev/vda         重新安装grub2到系统硬盘上

exit      exit

 

 

4.grub2文件引导

指定/boot位置,指定系统启动时加载文件成名

模拟问题1:rm -fr /boot/loader/entries/*.conf

修复:cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot/

kerne-install add                 内核版本号内核镜像

kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64/vmlinuz

手动引导:set root='hd0,msdos1'                           激活/boot分区

linux16 /vmlinuz-3.10.0-957.el7.x86_64 ro root=/dev/sda3      加载内核并只读挂在/分区

initrd16 /initramfs-4.18.0-80.el8.x86_64.img                             启动系统初始化程序

boot

 模拟问题2: rm -fr /boot/grub2/grub.cfg

修复:grub2-mkconfig > /boot/grub2/grub.cfg

 

5.内核加载

加载内核作用: /boot/vmlinuz-$(uname -r)

系统初始化硬件设备,只读挂在/设备

问题出现: rm -fr /boot/vmlinuz-$(uname -r)

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

进入到挽救模式 chroot /mnt/sysimage

cp /usr/lib/modules/$(uname -r)/vmlinuz   /boot/vmlinuz-$(uname -r)

exit    exit

6.系统初始化镜像

/boot/initramfs-4.18.0-80.el8.x86_64.img

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

问题出现: rm -fr /boot/initramfs-xxxxx.img

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

 

 rm –rf /boot/initramfs-4.18.0-80.el8.x86_64.img

手动引导 如下

 

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 linux | passwd --stdin root

8.touch /.autorelabel        当/.autorelabel文件存在selinux会重新初始化cp kernelcore-4.18.0-80.el8.x86_64.rpm /mnt/

exit

exit

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值