引导过程(修复MBR故障和GRUB鼓掌及破解密码)

引导过程(引导在第一块磁盘第一个扇区):
(1)启动第一步--开机自检(BIOS)
当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等
(2)启动第二步--MBR引导
众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,可里面却存放了预启动信息、分区表信息。系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中
(3)启动第三步--GRUB菜单
GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数
(4)启动第四步--加载内核(kernel)
执行 GRUB 主程序的,这个主程序必须放在启动区中(也就是 MBR 或者引导扇区中),加载 GRUB 的置文件/boot/grub/grub.conf,然后根据配置文件中的定义,加载内核和虚拟文件系统。接下来内核就可以接管启动过程,继续自检与加载硬件模块了
(5)启动第五步--init进程
执行rc.sysinit在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等,
init进程:
由LINUX内核运行/sbin/init程序
是系统中第一个进程
PID(进程标记)号永远为1
在这里插入图片描述

unit(单元)
系统初始化需要做的事情非常多。需要启动后台服务,比如启动 ssh 服务;需要做配置工作,比如挂载文件系统。这个过程中的每一步都被 systemd 抽象为一个配置单元,即 unit。可以认为一个服务是一个配置单元,一个挂载点是一个配置单元,一个交换分区的配置是一个配置单元等等。systemd 将配置单元归纳为以下一些不同的类型。然而,systemd 正在快速发展,新功能不断增加。所以配置单元类型可能在不久的将来继续增加。下面是一些常见的 unit 类型:

service :代表一个后台服务进程,比如 mysqld。这是最常用的一类。
socket :此类配置单元封装系统和互联网中的一个套接字 。当下,systemd 支持流式、数据报和连续包的 AF_INET、AF_INET6、AF_UNIX socket 。每一个套接字配置单元都有一个相应的服务配置单元 。相应的服务在第一个"连接"进入套接字时就会启动(例如:nscd.socket 在有新连接后便启动 nscd.service)。
device :此类配置单元封装一个存在于 Linux 设备树中的设备。每一个使用 udev 规则标记的设备都将会在 systemd 中作为一个设备配置单元出现。
mount :此类配置单元封装文件系统结构层次中的一个挂载点。Systemd 将对这个挂载点进行监控和管理。比如可以在启动时自动将其挂载;可以在某些条件下自动卸载。Systemd 会将 /etc/fstab 中的条目都转换为挂载点,并在开机时处理。
automount :此类配置单元封装系统结构层次中的一个自挂载点。每一个自挂载配置单元对应一个挂载配置单元 ,当该自动挂载点被访问时,systemd 执行挂载点中定义的挂载行为。
swap:和挂载配置单元类似,交换配置单元用来管理交换分区。用户可以用交换配置单元来定义系统中的交换分区,可以让这些交换分区在启动时被激活。
target :此类配置单元为其他配置单元进行逻辑分组。它们本身实际上并不做什么,只是引用其他配置单元而已。这样便可以对配置单元做一个统一的控制。这样就可以实现大家都已经非常熟悉的运行级别概念。比如想让系统进入图形化模式,需要运行许多服务和配置命令,这些操作都由一个个的配置单元表示,将所有这些配置单元组合为一个目标(target),就表示需要将这些配置单元全部执行一遍以便进入目标所代表的系统运行状态。 (例如:multi-user.target 相当于在传统使用 SysV 的系统中运行级别 5)
timer:定时器配置单元用来定时触发用户定义的操作,这类配置单元取代了 atd、crond 等传统的定时服务。
snapshot :与 target 配置单元相似,快照是一组配置单元。它保存了系统当前的运行状态。
path:文件系统中的一个文件或目录。
scope:用于 cgroups,表示从 systemd 外部创建的进程。
slice:用于 cgroups,表示一组按层级排列的单位。slice 并不包含进程,但会组建一个层级,并将 scope 和 service 都放置其中。

每个配置单元都有一个对应的配置文件,系统管理员的任务就是编写和维护这些不同的配置文件,比如一个 MySQL 服务对应一个 mysql.service 文件。这种配置文件的语法非常简单,用户不需要再编写和维护复杂的系统脚本了

target 和运行级别
systemd 用目标(target)替代了运行级别的概念,提供了更大的灵活性,如您可以继承一个已有的目标,并添加其它服务,来创建自己的目标。下表列举了 systemd 中的 target 和 sysvinit 中常见的 runlevel 的对应关系:
在这里插入图片描述
一、修复MBR引导故障
1、备份mbr引导扇区到其他磁盘
mkdir /data 创建文件data
mount /dev/sdb1 /data 挂载
df -h 查看挂载点(确认挂载成)
在这里插入图片描述
dd if=/dev/sda of=/data/sda.mbr.bak bs=512 count=1 将sda备份到创建的data文件中
2、模拟破坏mbr引导扇区
dd if=/dev/zero of=/data/sda bs=512 count=1 直接覆盖sda将引导破坏
在这里插入图片描述
重新登陆,无法完成需要修复
在这里插入图片描述
3、引导镜像急救模式进行mbr扇区恢复
重启电脑 然后进度开始时按“Esc”
CD-ROM Drive 光盘驱动盘
troubleshooting 分析解决问题
Rescue a CentOS system 解决CentOS系统问题
1)continue 继续
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
mkdir /bak 创建文件
mount /dev/sdb1 /bak 挂载
ls /bak 查看文件
dd if=/bak/sda.mbr.bak of=/dev/sda 备份
在这里插入图片描述
reboot 重启
问题解决,正常登陆就行

二、修复GRUB引导故障
cd /boot/grub2 配置文件
rm -rf grub.cfg 模拟GRUB故障
在这里插入图片描述
在这里插入图片描述
1、引导急救模式,加载系统镜像
重启电脑 然后进度开始时按“Esc”
CD-ROM Drive 光盘驱动盘
troubleshooting 分析解决问题
Rescue a CentOS system 解决CentOS系统问题
1)continue 继续
chroot /mnt/sysimage
2、重新建立加载sda分区
grub2-install /dev/sda
3、重新构建grub菜单配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
4、退出bash环境
exit
5、重启
reboot
在这里插入图片描述

三、破解centos7 root登录密码
遗忘root用户密码后,破解密码
1、进入急救模式,加载环境
重启电脑 然后进度开始时按“Esc”
CD-ROM Drive 光盘驱动盘
troubleshooting 分析解决问题
Rescue a CentOS system 解决CentOS系统问题
1)continue 继续
chroot /mnt/sysimage
2、破解密码
passwd root
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值