linux-系统引导过程及修复

磁盘引导

mbr表示主引导记录,位置在0磁道1扇区,大小为446字节,如下图:
在这里插入图片描述

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

问题模拟方式

[root@localhost Desktop]# fdisk -l 查看磁盘系统磁盘哪个带*相应的设备上就有mbr主引导区
Disk /dev/vda: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x657e7edc

Device     Boot   Start      End  Sectors  Size Id Type   可以看出有mbr主引导区的设备是 /dev/vda
/dev/vda1  *       2048  1026047  1024000  500M 83 Linux
/dev/vda2       1026048  2050047  1024000  500M 82 Linux swap / Solaris
/dev/vda3       2050048 16777215 14727168    7G 83 Linux

[root@localhost mnt]# dd if=/dev/zero of=/dev/vda bs=446 count=1 将mbr主引导区的数据清空,系统会因为找不到启动分区而停止启动
[root@localhost mnt]# dd if=/dev/vda of=/mnt/mbrfile bs=446 count=1  截取数据
1+0 records in
1+0 records out
446 bytes copied, 0.000127563 s, 3.5 MB/s
[root@localhost mnt]# hexdump -C /mnt/mbrfile  查看截取数据,全部是0,说明mbr数据已经被清空
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 0a     |...............|
000001bf

清空后重启系统,系统就会显示如下界面
在这里插入图片描述

恢复方式:
添加一个光盘,如下图
在这里插入图片描述
从光盘启动
在这里插入图片描述
在这里插入图片描述
进入挽救模式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、grub2文件引导(启动文件)

/boot/grub2/grub.cfg 主启动文件
/boot/loader/entries/xxxxxxxxx.conf 标题启动文件
作用:指定/boot位置
指定系统启动时加载文件名

模拟问题1:

rm -fr /boot/loader/entries/xxxxxxxxx.conf 删除,系统重启就会出问题

修复方法(在没有重启之前可以修复):

[root@localhost modules]# cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot/  bls.conf将模板文件拷贝到boot里
[root@localhost entries]# kernel-install add $(unam -r) /boot/vmlinuz-4.18.0-193.el8.x86_64  
                                              内核版本号              内核镜像
                                              

手动引导(重启系统和之后需要重新引导)

[root@localhost Desktop]# df  首先必须查看/分区所挂载的设备,为/dev/vda3 
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          392292       0    392292   0% /dev
tmpfs             419148       0    419148   0% /dev/shm
tmpfs             419148    6812    412336   2% /run
tmpfs             419148       0    419148   0% /sys/fs/cgroup
/dev/vda3        7353344 4459724   2893620  61% /
/dev/vda1         506528  216728    289800  43% /boot
tmpfs              83828    1180     82648   2% /run/user/42
/dev/sr0         8238560 8238560         0 100% /run/media/root/RHEL-8-2-0-BaseOS-x86_64
tmpfs              83828      20     83808   1% /run/user/0

在这里插入图片描述

 cd /boot  先切换到/boot看有没有模板文件 bls.conf
[root@host boot]# ls
config-4.18.0-193.el8.x86_64
efi
grub2
initramfs-0-rescue-105326b025324973babc920ed9b5428e.img
initramfs-4.18.0-193.el8.x86_64.img
initramfs-4.18.0-193.el8.x86_64kdump.img
loader
System.map-4.18.0-193.el8.x86_64
vmlinuz-0-rescue-105326b025324973babc920ed9b5428e
vmlinuz-4.18.0-193.el8.x86_64
[root@host boot]#cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot/ #没有则把模板文件复制过来
[root@localhost boot]# kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64 执行

模拟问题2:

删除主引导文件:
root@localhost grub2]# rm -fr grub.cfg 删除主引导文件
root@localhost grub2]# reboot
修复方法:
在这里插入图片描述

[root@localhost boot]# cd /boot/grub2/
[root@localhost grub2]# ls
device.map  fonts  grubenv  i386-pc
[root@localhost grub2]# grub2-mkconfig > /boot/grub2/grub.cfg
Generating grub configuration file ...
done
[root@localhost grub2]# ls
device.map  fonts  grub.cfg  grubenv  i386-pc

3、内核加载

问题出现:

[root@localhost boot]# rm -fr vmlinuz-4.18.0-193.el8.x86_64 删除内核

在这里插入图片描述

恢复:

进入挽救模式:
输入1
回车
输入 chroot /mnt/sysimage
输入 cp /usr/lib/modules/$(uname -r)/vmlinuz   /boot/vmlinuz-$(uanme -r)  复制模板文件中存的内核文件
exit
exit
以硬盘设备重新进入系统,检测是否修复成功

4、内核初始化镜像

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

问题出现:
[root@localhost boot]# rm -fr initramfs-4.18.0-193.el8.x86_64.img 删除系统初始化镜像

恢复—前提是没有重启,可以使用如下方法:

[root@localhost boot]# mkinitrd  --help  查看帮助
usage: mkinitrd [--version] [--help] [-v] [-f] [--preload <module>]
       [--image-version] [--with=<module>]
       [--nocompress]
       <initrd-image> <kernel-version>

       (ex: mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64)
[root@localhost boot]# mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64  直接复制这个命令,就可以生成了
Creating: target|kernel|dracut args|basicmodules 

如果重启,系统就会启动不了(如下图),该如何恢复?
在这里插入图片描述
进入挽救模式
在这里插入图片描述
输入: mkinitrd /boot/initramfs-$(uname -r).img $(uanme -r)
在这里插入图片描述
在这里插入图片描述

5、系统启动级别

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

问题出现
[root@localhost Desktop]# systemctl set-default 查看启动级别
oot@localhost Desktop]# systemctl set-default runlevel6.target 启动级别设置为6,就会一直重启
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/reboot.target.

恢复
手动指定启动级别:
开机按e
在这里插入图片描述
在这里插入图片描述
指定完后,进入系统用命令改成runlevel5.target

[root@localhost Desktop]# systemctl set-default runlevel5.target 
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/graphical.target.

6、超级用户密码忘记,破解密码

在开机选择界面按e进入到引导文件编辑模式
在这里插入图片描述
在这里插入图片描述
将ro 改称rw 并添加rd.break 表示系统启动内核之后停止初始化
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小莫细说linux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值