linux第二本书第八章 Linux引导过程及引导修复(误删/boot/的文件修复方法)
2021/7/28 7:08:14
本文主要是介绍linux第二本书第八章 Linux引导过程及引导修复(误删/boot/的文件修复方法),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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用户密码修改成功
这篇关于linux第二本书第八章 Linux引导过程及引导修复(误删/boot/的文件修复方法)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法