Linux的系统管理--(5)linux系统引导过程及引导修复

Linux系统管理

实验所用系统为Redhat-rhel8.2。

Linux的系统管理–linux系统引导过程及引导修复

一、通电

二、bios初始化(无法控制)

对硬件检测
初始化硬件时钟

三、磁盘引导

盘片–存储数据
磁头–读取数据,默认在零磁道
磁道–磁头在磁盘表面划出的圆形轨迹
扇区–是指磁盘上划分的区域。磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,硬盘的读写以扇区为基本单位
磁盘引导–零磁道一扇区,引导磁头下一步的动作

mbr=主引导记录=零磁道一扇区=446字节
作用:记录grub2引导文件的位置

当mbr数据丢失,系统会因为找不到启动分区而停止启动

  • 问题模拟方式:
    系统磁盘 /dev/sda
dd if=/dev/zero of=/dev/vda bs=446 count=1	
##清空系统/dev/sda上的mbr数据,只能是446,后面的64个字节是分区表,没有备份的情况下删除掉,只能重装系统

请添加图片描述
#清空主引导记录,重启虚拟机
请添加图片描述
#报错,无法重启

  • 恢复方式
用光盘进入挽救模式
chroot /mnt/sysimage
grub2-install /dev/vda		##重新安装grub2到系统硬盘上
exit
exit
  • 具体步骤
###虚拟机
shell里执行dd if=/dev/zero of=/dev/vda bs=446 count=1
reboot
##虚拟机关机情况下
在虚拟机控制器里force off
双击打开引导程序坏掉的虚拟机
add hardware
--> storage
--> device(CDROM),bus type(SATA),manage(镜像) 
--> boot options 
--> 勾选sata cdrom1并置顶						##以光驱启动
--> 启动虚拟机
--> troubleshooting 
--> rescue a red hat enterprise linux system	##当前读取的是光驱的系统
--> 选择1(continue--> 回车 
--> chroot /mnt/sysimage 						##更改根目录到硬盘
--> grub2-install /dev/vda 
--> vim /etc/sysconfig/selinux 
--> SELINUX=disabled							##加快开机速度 
--> exit exit 
--> 关机 
--> virtlO Disk 1置顶							##将硬盘启动方式置顶 
--> 开机

请添加图片描述

#添加光驱

请添加图片描述
#置顶光驱,按照顺序以此方式开机

请添加图片描述
#选择troubleshooting

请添加图片描述
#进入挽救模式

请添加图片描述
#[注意] /dev/vda,如果输入/dev/vda/会报错
请添加图片描述
#修改selinux状态为disabled,这里写错会导致不能开机

请添加图片描述
#将硬盘启动方式置顶,开机

四、grub2文件引导

rhel8
/boot/grub2/grub.cfg				##主引导文件,丢失后系统不能启动
/boot/loader/entries/xxxxxx.conf	##子引导文件

[注意] 手动引导需要知道/boot和/所在磁盘和分区

指定/boot位置
指定系统启动时加载文件名称
uname -r	##查看版本号(4.18.0-193.el8.x86_64)
  • 模拟问题1
rm -rf /boot/grub2/grub.cfg
  • 修复
  1. 直接恢复文件
cd /boot/grub2
ls
rm -rf /boot/grub2/grub.cfg
grub2-mkconfig > /boot/grub2/grub.cfg	##恢复文件

请添加图片描述

  1. 手动引导
reboot 
--> set root='hd0,msdos1' 		##磁盘0,分区1
--> linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/vda3 
--> initrd16 /initramfs-4.18.0-193.el8.x86_64.img 
--> boot 
--> 恢复文件grub2-mkconfig > /boot/grub2/grub.cfg

请添加图片描述
#删除主引导文件,重启
请添加图片描述
#可以tab补齐,注意不要输入错误

请添加图片描述
#恢复文件

  • 模拟问题2
rm -rf /boot/loader/entries/xxxxxx.conf
  • 修复
  1. 直接恢复文件
cd /boot/loader/entries
ls
rm -rf /boot/loader/entries/*
ls
kernel-install add 4.18.0-193.el8.x86_64 /lib/modules/4.18.0-193.el8.x86_64/vmlinuz
ls

##kernel-install add 内核版本号 内核镜像

请添加图片描述

  1. 手动引导
rm -rf /boot/loader/entries/*
ls
reboot 
--> set root='hd0,msdos1' 
--> linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/vda3 
--> initrd16 /initramfs-4.18.0-193.el8.x86_64.img 
--> boot 
--> kernel-install add 4.18.0-193.el8.x86_64 /lib/modules/4.18.0-193.el8.x86_64/vmlinuz 
--> ls

请添加图片描述
#恢复文件

五、内核加载

加载内核作用:
/boot/vmlinuz-4.18.0-193.el8.x86_64
系统初始化硬件设备
只读挂载在/设备

系统有备份,可以直接复制恢复
  • 模拟问题
rm -rf /boot/vmlinuz-4.18.0-193.el8.x86_64
  • 恢复
  1. 恢复文件
ls -l /boot/vmlinuz-4.18.0-193.el8.x86_64
cp /lib/modules/4.18.0-193.el8.x86_64/vmlinuz /boot/vmlinuz-4.18.0-193.el8.x86_64

请添加图片描述
#复制备份文件

  1. 手动引导
删除文件
-->reboot
-->关机 
--> 灯泡 
--> boot options 
--> 勾选sata cdrom1并置顶(以光驱启动) 
--> 启动虚拟机
--> troubleshooting 
--> rescue a red hat enterprise linux system (当前读取的是光驱的系统) 
--> 选择1(comtinue) 
--> 回车 
--> chroot /mnt/sysimage (更改根目录到硬盘) 
##以上步骤同上
-->cp /lib/modules/4.18.0-193.el8.x86_64/vmlinuz /boot/vmlinuz-$(uname -r) 
--> ls(已恢复) 
--> exit exit 
--> 关机 
--> virtlO Disk 1置顶(将硬盘启动方式置顶) 
-->开机

##$(uname -r) 	$()表示先执行此命令

请添加图片描述
#重启报错,关机用光驱开机

六、系统初始化镜像

/boot/initramfs-xxx.img
加载系统时钟
加载selinix
加载系统主机信息
甲子阿/etc/fstab文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开启开机自启服务
开启虚拟控制台
开启图形
  • 模拟问题
rm -rf /boot/initramfs-xxx.img
  • 恢复
  1. 直接恢复文件
mkinitrd /boot/initrsmfs-$(uname -r).img $(uname -r)
  1. 手动引导
删除文件
-->reboot
-->关机 
--> 灯泡 
--> boot options 
--> 勾选sata cdrom1并置顶(以光驱启动) 
--> 启动虚拟机
--> troubleshooting 
--> rescue a red hat enterprise linux system (当前读取的是光驱的系统) 
--> 选择1(comtinue) 
--> 回车 
--> chroot /mnt/sysimage (更改根目录到硬盘) 
##以上步骤同上
 --> mkinitrd /boot/initrsmfs-$(uname -r).img $(uname -r) 
 --> exit exit 
--> 关机 
--> virtlO Disk 1置顶(将硬盘启动方式置顶)
 -->开机

请添加图片描述
#直接文件恢复
请添加图片描述

#手动引导

七、系统启动级别

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

/etc/systemd/system/	##用于存放服务链接
  • 模拟问题
systemctl set-default reboot.target		##系统启动级别设定为重启,会无限重启
reboot

请添加图片描述

  • 恢复
在开机选择界面按e进入到引导文件编辑模式
在内核加载选项最后加入启动级别5					##当前为临时设定
ctrl+x
systemctl set-default graphical.target		##永久设定为图形模式启动

请添加图片描述
#临时设定系统启动级别为5图形模式
请添加图片描述
#永久设定

八、超级用户密码忘记

当忘记超级用户密码
在开机选择界面按e进入到引导文件编辑模式
在内核加载选项删除到ro改为rw,加上rd.break(终止系统启动进入单用户模式)
ctrl+x 启动


请添加图片描述
#终止系统启动进入单用户模式

回车
chroot /sysroot/
echo westos | passwd --stdin root(passwd直接改也可以)
touch /.autorelabel
exit
exit

##touch /.autorelabel

-为了初始化selinux,作用后会被删掉
-selinux是一个安全增强系统,内部有许多安全策略
-针对一些操作,如果你做了这些操作,没有得到策略的放行,会被禁止
-比如用单用户修改root密码是不被策略放行的
-怎么让selinux策略放行
	@touch /.autorelabel 创建这个文件就是告诉selinux放行这个策略
	@直接关闭selinux

请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值