【Linux】操作系统引导过程,手把手教你修复3种开机故障

目录

一、操作系统引导过程

​编辑

第一步:开机自检BIOS

第二步:MBR引导

第三步:GRUB菜单

第四步:加载内核

第五步:启动进程

二、修复故障模拟实验

1、mbr分区错误

第一种:采用新硬盘备份的方式

第二种远程备份至另一台主机:

2、grub菜单丢失

3、忘记root密码

①、没有光驱的前提下忘记密码

②、有光驱的前提下,忘记密码


一、操作系统引导过程

第一步:开机自检BIOS

服务器开机以后,根据主板BIOS中的设置对CPU、内存、显卡、键盘等硬件设备进行初步的检测,检测成功以后,根据预设的启动顺序。

系统控制权移交给硬盘(主要是去找操作系统,操作系统要么在硬盘、要么在光驱、要么在优盘)

BIOS是个小程序

第二步:MBR引导

当从本机的硬盘中启动系统时,首先找到硬盘的第一个扇区,因为第一个扇区存着MBR引导、以及分区表,这里存着操作系统的位置信息(在grub配置文件中,以及分区表)

此时,系统的控制权移交给了MBR引导(因为mbr引导中有grub启动菜单信息)

第三步:GRUB菜单

对于Linux操作系统来说,grub又叫统一启动加载器,是使用最为广泛的多系统引导器程序

此时系统的控制权,移交给了grub,这时会显示启动菜单给客户选择。

centos 7采用的是grub2启动引导器

grub引导程序是通过读取配置文件,/boot/grub2/grub.cfg,配置文件中写明了内核和镜像文件的设置和路径(记住原理!!)

第四步:加载内核

内核是介于硬件和系统程序之间,可以分配资源;此时系统程序和一些第三方的开机自启动程序分配好这些启动需要的资源

此时系统的控制权从内核即将移交给初始化程序

第五步:启动进程

为了完成进一步的引导过程,Linux内容首先将系统中的程序加载到内存中运行(运行中的程序叫做进程)

init进程负责完成一系列的系统初始化过程,最后等待用户进行登录(注意:此时shell解释器还没有启动哦,因为要用户登录,才加载shell,shell是介于内核与用户之间)

init 是Linux系统运行的第一个程序

centos7是systemd初始化 :特点是并行启动,具有提供按需启动服务的能力

centos 6 是init初始化:串行启动

二、修复故障模拟实验

1、mbr分区错误

第一种:采用新硬盘备份的方式

第一步:先添加一个新硬盘,进行硬盘分区,格式化,以及临时挂载;

第二步:将/dev/sda的前512字节备份至新硬盘中;

第三步:模拟破坏/dev/sda的前512字节,开机重启;

第四步:此时开机bios是找不到硬盘的操作系统,会先进入光驱的操作系统,进入急救模式,进入继续;

第五步:先lsblk查看所有硬盘是否存在,先创建一个新目录/backup,将/dev/sdb1挂载到新目录/backup,然后查看之前备份的mbr.bak文件是否存在;

第六步:将mbr.bak文件备份至/dev/sda中,再使用hexdump命令验证一下,是否修复成功,然后reboot重启一下即可;

第二种远程备份至另一台主机:

第一步:先将/dev/sda的前512字节备份至/opt/mbr.bak,然后将其备份至另一台主机中

#备份/dev/sda的第一个扇区
[root@localhost opt]#dd if=/dev/sda of=/opt/mbr.bak count=1 bs=512



##将其备份的文件,远程复制到同网段的主机
[root@localhost opt]#scp /opt/mbr.bak 192.168.20.10:/opt
The authenticity of host '192.168.20.10 (192.168.20.10)' can't be established.
ECDSA key fingerprint is SHA256:t8FpQIt7q42QgD8R4xWF4qpS+ohNRdBBS8Ob+Yk/PKM.
ECDSA key fingerprint is MD5:ab:98:42:cf:4c:50:98:ee:00:e9:53:ae:18:5e:4b:ea.
Are you sure you want to continue connecting (yes/no)? yes  ##这里是yes
Warning: Permanently added '192.168.20.10' (ECDSA) to the list of known hosts.
root@192.168.20.10's password: 
mbr.bak                                                                100%  512   136.7KB/s   00:00    


##模拟mbr丢失
[root@localhost opt]#dd if=/dev/zero of=/dev/sda count=1 bs=512
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000422726 秒,1.2 MB/秒

##检测一下 已经破坏了
[root@localhost opt]#hexdump -C -n512 /dev/sda
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200
[root@localhost opt]#reboot

第二步:模拟破坏/dev/sda的前512字节,开机重启;

第三步:选择急救模式,选择3,

第四步:配置一个虚拟临时网卡,与远程主机同网段,然后ping一下是否通,然后远程将其复制到根目录下

#先配置一个临时网卡
ifconfig ens33 192.168.20.50 255.255.255.0



#从远程主机拷贝过来
scp 192.168.20.10:/opt/mbr.bak  /

#查看一下
ls

#恢复MBR分区表
#dd if=/mbr.bak of=/dev/sda bs=512 count=1

#检查一下
hexdump -C -n512 /dev/sda

第五步:将mbr.bak复制到/dev/sda中,然后检测一下,重启

2、grub菜单丢失

1、模拟grub配置文件丢失

2、

3、忘记root密码

①、没有光驱的前提下忘记密码

在grub菜单选择时候

按e键进入编辑模式,可以查看grub2中的配置文件grub.cfg

找到linux开始的行,添加内核参数 rd.break
按ctrl-x启动

mount –o remount,rw /sysroot
chroot /sysroot
passwd root
#如果SELinux是启用的,需要执行下一句命令
touch /.autorelabel
exit
reboot

②、有光驱的前提下,忘记密码

这个之前已经写过了,请看前面的博客

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
构建自己的Linux系统是一项有趣和有挑战性的任务。下面是一个简单的手把手程,帮助你构建自己的Linux系统,并将其整理成PDF格式。 步骤一:准备工作 首先,你需要准备将要构建Linux系统的计算机。确保计算机具备足够的计算资源,并且有足够的存储空间来存放操作系统。 步骤二:选择合适的Linux发行版 选择适合你需求的Linux发行版。你可以选择像Ubuntu、CentOS或者Arch Linux这样的流行发行版,也可以选择构建自己的自定义发行版。 步骤三:下载Linux发行版的源代码 前往所选择的发行版官方网站,下载源代码。这些源代码通常以tar包的形式提供。 步骤四:解压源代码 使用适当的解压工具解压源代码。你将得到一个包含源代码树的文件夹。 步骤五:配置和编译源代码 根据不同的发行版,有不同的配置和编译选项。查看源代码中的README文件以获取更多信息。通常,你需要运行"./configure"命令生成Makefile,然后运行"make"命令来编译源代码。 步骤六:安装编译后的文件 完成编译后,你可以通过运行"make install"命令将编译的文件安装到系统中。确保你有足够的权限来执行此操作。 步骤七:配置你的系统 完成安装后,你需要配置你的系统。这可能包括设置网络、安装和配置软件包、配置用户帐户等等。根据你的需求和偏好进行配置。 步骤八:测试和优化 在配置完成后,你应该进行测试以确保系统正常运行。测试网络连接、软件包安装等功能。根据需要进行优化,以提高系统的性能和稳定性。 步骤九:整理PDF文档 将你的构建过程整理成PDF文档,可以使用文档编辑工具,如Microsoft Word或Google Docs,将需要的内容整理成适合打印或分享的PDF格式。 完成以上步骤,你将成功构建自己的Linux系统,并将其整理成PDF格式。记得保存你的PDF文档,以备将来参考或与他人分享。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

运维菜鸟XY

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

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

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

打赏作者

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

抵扣说明:

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

余额充值