ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux第二本书第八章 Linux引导过程及引导修复(误删/boot/的文件修复方法)

2021-07-27 16:02:42  阅读:235  来源: 互联网

标签:引导 修复 ## boot 193 el8 内核 linux x86


1.磁盘引导出现问题:

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

dd if=/dev/zero of=/dev/sda bs=446 count=1
##截取零字节数据放到sda硬盘中(相当于用空白板覆盖住)
##清空系统/dev/sda上的mbr数据
 selinx中的状态改为disabled,可以节省时间

效果:

 修复过程:

1.修改启动方式

2.启动虚拟机

恢复方式:
用光盘进入系统挽救模式
chroot /mnt/sysimage
grub2-install /dev/vda ##重新安装grub2到系统硬盘上
exit
exit

3.再次启动虚拟机:把启动方式改回硬盘启动

2.grub2文件引导

1.主引导文件丢失

模拟问题一:主引导文件丢失
无法完成自动引导,需要手动添写引导信息

rm -fr /boot/grub2/grub.cfg
如果在重启之前发现,可以直接grub2-mkconfig

 重启后:

Set root=’hd0,msdos1’
Linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/sda3
Initrd16 /initramfs-4.18.0-193.el8.x86_64.img
boot

成功:

 注意:开机后要进行文件恢复,恢复了下次就不需要手动引导了

grub2-mkconfig > /boot/grub2/grub.cfg

 2.子文件引导丢失

 模拟问题二:entries文件丢失
无法完成自动引导,需要手动添写引导信息

rm -fr /boot/loader/entries/xxxxxxx.conf

 及时的修复:

Kernel-install add 内核版本号 内核镜像
Kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64

 如果重启了:和1.子引导文件丢失输入的内容一样

 

 开机成功后执行最初的add操作,下次开机就不用手动引导了

Kernel-install add 内核版本号 内核镜像
Kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64

 3.加载内核

加载内核作用:
/boot/vmlinuz-$(uname -r)
系统初始化硬件设备
只读挂载在/设备

1.制造问题

cd /boot/
ls   ##查看内核文件

rm vmlinuz-4.18.0-193.el8.x86_64
##内核文件删除,系统无法启动

2.问题出现

3.改变启动方式,用光驱启动

 4.分别选择第三个(trouble shooting)和第二个选项(rescue。。。)

输入

chroot /mnt/sysimage
cp /mnt/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文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟化控制台
开启图形

1.制造问题

rm -fr /boot/initramfs-4.18.0-193.el8.x86_64.img
##删除系统内核初始化镜像文件

2.问题出现

 

3.修改启动方式

4.选择1,回车启动shell

mkinitrd --help ##查看帮助
mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64
##生成内核初始化镜像文件

5.改回硬盘启动

5.系统启动级别

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

cd  /etc/systemd/system/    ##系统启动脚本都在此目录中
ls   ##查看系统启动级别的脚本连接

  1.制造问题

systemctl set-default reboot.target   ##会在开机时进入无限开机重启模式

 2.问题出现:无限重启

3.解决问题:

 在第六行输入5 指定启动级别,然后ctrl+x,执行

ctrl+x后的效果

 4.开机后要修改默认级别

systemctl set -default graphical.target

 

6.超级用户密码忘记

恢复方式

1.在开机选择界面按进入到引导文件编辑模式
2.在内核加载选项最后删除到ro选项
3.更改ro---->rw
4.加入rd.break参数终止系统启动进入单用户模式
5.ctrl+x启动

 具体输入:

chroot /sysroot
echo doudou| passwd --stdin root
touch /.autorelabel ##当/.autorelabel文件存在selinux会重新初始化cp

 两次exit后虚拟机自行启动,root用户密码修改成功

标签:引导,修复,##,boot,193,el8,内核,linux,x86
来源: https://blog.csdn.net/weixin_43803940/article/details/119135103

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有