第八章 Linux系统引导过程及引导修复

磁盘引导

mbr=主引导记录=0磁道1扇区446
作用:记录grub2引导文件的位置
当mbr数据丢失系统会因为找不到启动分区而停止启动

实验环境:

打开虚拟机nodea

fdisk -l    查看自己的根目录在那个磁盘上 如果在//dev/vda上

dd if=/dev/zero  of=/dev/vda bs=446 count=1  将主引导记录删除

执行命令reboot,系统将起不来

实验目的:将系统恢复

实验方法:用光盘进入挽救模式

实验步骤

关掉虚拟机,给虚拟机添加一个光盘CDROM1

Device type : STAT   CDROM1
Source path : 找到自己的镜像

在Boot Options中  将光盘选择到最上面,开启虚拟机

选择 Troubleshooting---选择Bescue a Red Hat Enterprise Linux System

选择 1
df
chroot  /mnt/sysimage/      
grub2-install  /dev/vda
exit
exit

将虚拟机关掉
在Boot Options中  将磁盘选择到最上面,开启虚拟机,然后系统就可以正常启动了

 

 在开启的过程会很漫长,如果想解决这个问题,可以执行命令:

vim  /etc/sysconfig/selinux

编辑内容:

SELINUX=disabled系统重启之后就会很快

grub2文件引导 

作用

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

/boot/grub2/grub.cfg     主引导文件  
/boot/loader/entries     子引导文件

 如果执行命令rm -fr /boot/grub2 将其删除 ,可以直接执行命令  grub2-mkconfig > /boot/grub2/grub.cfg就可以恢复

如果执行命令rm -fr /boot/loader/entries将其删除,可以直接执行命令 kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz将其恢复

如果将以上两条当中的任意一条删除,并执行reboot命令,系统在启动过程中会停止
可以手动引导,其命令为:
set root='gd0,msdos1'
linux16 /vmlinuz-4.18.0-193.e18.x86_64 ro root=/dev/vda3
initrd16 /initramfs-4.18.0-193.e18.x86_64.img
boot
进系统之后将之前删掉的用上面恢复命令之执行之后,下次再启动系统就正常的开机如果将以上两条当中的任意一条删除,并执行reboot命令,系统在启动过程中会停止
可以手动引导,其命令为:
set root='gd0,msdos1'
linux16 /vmlinuz-4.18.0-193.e18.x86_64 ro root=/dev/vda3
initrd16 /initramfs-4.18.0-193.e18.x86_64.img

boot
进系统之后将之前删掉的用上面恢复命令之执行之后,下次再启动系统就正常的开机

 

 内核加载

/boot/vmlinuz-$(uname -r)

加载内核作用:系统初始化硬件设备,只读挂在/设备   

如果将其删除 rm -fr /boot/vmlinuz-$(uname -r)
可以执行命令 cp /usr/lib/modules/$(uname -r)/vmlinuz   /boot/vmlinuz-$(uname -r)就可以恢复

系统初始化镜像

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

如果将其删除 rm -fr /boot/initramfs-4.18.0-80.el8.x86_64.img
可以执行命令 mkinitrd /boot/initramfs-4.18.0-80.el8.x86_64.img 4.18.0-80.el8.x86_64就可以将其恢复

如果将以上两个删除,并且执行reboot命令
重启启起不来,要进入到挽救模式
先关闭虚拟机,将光盘调到最上面,开启虚拟机
选择 Troubleshooting---选择Bescue a Red Hat Enterprise Linux System
选择 1
df
chroot  /mnt/sysimage/
cp /usr/lib/modules/$(uname -r)/vmlinuz /boot/vmlinuz-$(uname -r)
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
exit
exit
关闭虚拟机,磁盘选到最上面,开启虚拟机,就可以正常启动了

系统启动级别 

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

在/etc/systemd/system中将执行命令systemctl disable sshd.service,然后执行systemctl enable sshd.serviceke可以看到系统会自动生成一个链接Created symlink /etc/systemd/system/multi-user.target.wants/sshd.service → /usr/lib/systemd/system/sshd.service.关闭是将链接断开,重启是将链接重新建立 如果现在执行systemctl set-default poweroff.target,那么执行reboot之后。系统会一直重复在重启动作,开不了机
解决这个问题的方法为:
在开机选择界面按<e>进入到引导文件编辑模式
在内核加载选项最后加入启动级别5
ctrl+x
进入系统后执行命令systemctl set-default graphical.target,之后重启系统时就会正常启动

 

超级用户忘记密码

 恢复:
1.在开机选择界面按<e>进入到文件编辑模式
2.在内核加载选项作后删除到ro选项
3.更改ro---->rw
4.加入rd.break参数终止系统启动进入单用户模式
5.ctrl+x启动
6.chroot /sysroot    单用户模式
7.echo  westos | passwd --stdin root
8.touch /.autorelabel(自动重新设置标签)   当/.autorelabel文件存在selinux会重新初始化cp kernel-core-4.18.0-80.el8.x86_64.如果这个文件不存在,那么修改的密码系统不会识别
exit
exit

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值