linux的开机启动过程和实验之——root密码遗忘和MBR及GRUB配置文件损坏开机修复

一,开机启动引导

linux的开机启动引导大致可以分成下面五个步骤
1、BIOS的加电自检:及其充电后,主板上的bios的设置进行硬件的自检,如cpu,内存等初始化,找到可引导的硬盘的之后把控制器交给MBR
2、MBR的引导:根据MBR的设置,硬盘将系统控制权传递给包含系统操作的文件分区,或者直接调用启动菜单。
3、grub2菜单的引导:系统控制权传递给grup,将显示提供用于选择,并根据选项加载内核。
4、加载内核:系统引导器程序会从本地硬盘中加载内核以及内存文件系统 initramfs,其中包含启动时所有必要的硬件内核模块、初始化脚本等
5、初始化进程-在initramfs中找到驱动程序的所有硬件,然后作为PID 1从initramfs执行/lib/systemd/systemd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二.系统初始化进程

3.1 init进程
由Linux内核加载运行/sbin/init程序
init进程是系统中的第一个进程,是所有进程的父进程
init进程的PID(进程标记)号永远为1
init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以init始终是第一个进程(其进程编号始终为1)。

systemd即为system daemon,是linux下的一种init软件,能供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果
Systemd相比init的优点
1.启动速度快→各服努平行运行(SSD会加快)
2提供系统服务的快照·
3,挂找及自动挂载的管理,
4.服务自动突时更新,重新启动与暂停或停止5.使用linux核cgroup功能进行管理.

三,进程的指令

1、init1~6对应的Systemd 目标

0:停机
1:单用户模式
2:无网络多用户模式
3:多用户模式
4:系统未使用,保留一般不用
5:图形界面多用户模式
6:重启

2、常用 init 初始化linux进程
init 0:关机
int 2~5:切换模式
init 6:重启

3、runlevel #查看前一个和现在运行的init类型
systemctl get-default #systemctl只能查看默认的运行级别
systemctl isolate graphical.target #systemctl的命令参数是具体的target

4、[root@localhost ~]# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.

五,故障排除

1、root密码遗忘
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
退出并关机
在这里插入图片描述
重新开机设置密码

  1. runlevel 系统运行级别

在这里插入图片描述

MBR扇区修复
1、首先模拟故障
新加一块硬盘,格式化挂载
dd if=/dev/sda of=/opt/sdb/mbr.bak bs=512 count=1
dd if=/dev/zero of=/dev/sda bs=512 count=1
2、重启电脑,无法进入系统
3、设置boot选项从光盘进入
4、选择修复模式进入
5、mkdir /bak
6、重新挂载sdb,mount /dev/sdb /bak
7、dd if=/bak/mbr.bak of=/dev/sda
8、reboot重启
9、boot修改第一启动项为硬盘,顺利进入系统

grub修复
1、从光盘启动,进入救援模式,进入修复shell

执行chroot /mnt/sysimage #初始系统已经挂载到了/mnt/sysimage下面,想要进入初始系统下面,需要执行chroot /mnt/sysimage命令
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
exit
reboot

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值