linux怎么引导,Linux引导过程

Linux引导过程

Linux引导过程一共分为五个步骤

开机加电自检

MBR引导

grub菜单

加载内核

进程初始化

运行级别

init 0

init 1

init 2

init 3

init 4

init 5

init 6

systemd中的单元类型

相关实验

centos7忘记密码恢复方法

MBR扇区修复

grub修复

Linux引导过程一共分为五个步骤

开机加电自检

对硬件进行自检,找到可引导的硬盘后将控制器给MBR

MBR引导

MBR中存放boot loader启动引导程序,存放了分区表,里面有一个55AA或AA55字段,表示有操作系统,同时生成一个initramfs虚拟文件系统,同时寻找内核并加载内核,调用grub菜单

grub菜单

系统控制权传递给GRUB 以后,将会显示提供用于选择,并根据选项加载linux内核文件,centos6是grub菜单,centos是grub2菜单。

加载内核

检测硬件驱动程序,加载module模块用于存放硬件驱动程序,其中initramfs为了驱动和挂载系统

进程初始化

在initramfs中找到驱动程序的所有硬件,然后作为PID 1从initramfs执行/lib/systemd/systemd,centos6是init进程,centos7是systemd进程

运行级别

Linux系统中有七种

init 0

关机,systemd中是target

init 1

维护系统,单用户模式,systemd中是rescue.target

init 2

没有网络,没有共享存储的命令行,systemd中是multi-user.target

init 3

命令行模式,systemd中是multi-user.target

init 4

用作保留,未使用,systemd中是multi-user.target

init 5

图形界面模式,systemd中是graphcal.target

init 6

重启,systemd中是reboot.target

查看当前运行级别用runlevel,或者systemctl get-default

systemd中的单元类型

单元类型Timer.timer描述一个定时器(用于实现类似cron的调度任务)

Snapshot.snapshot用于保存一个systemd的状态

Scope.scope使用systemd的总线接口以编程的方式创建外部进程

Slice.slice描述居于Cgroup的一组通过层次组织的管理系统进程

Target.target描述一组systemd的单元

Service.service描述一个系统服务

Socket.socket描述一个进程间通信的套接字

Device.device描述一个内核识别的设备文件

Mount.mount描述一个文件系统的挂载点

Automount.automount描述一个文件系统的自动挂载点

Swap.swap描述一个内存交换设备或交换文件

Path.paht描述一个文件系统中文件或目录

systemctl的管理命令

/etc/systemd/system 用于存放不同级别的开机自启服务

/run/sysytemd/system 系统执行过程中所产生的服务脚本所在目录

/usr/lib/systemd/system 每个服务最主要的启动脚本设置

systemdsystemctl is-enabled httpd查看是否开机自启

systemctl enable httpd设置开机自启

systemctl disable httpd设置开机不自启

systemctl status httpd查看当前服务的状态

systemctl reload httpd不关闭进程重启

systemctl start httpd开启httpd服务

systemctl stop httpd关闭httpd服务

systemctl list-unit-files | grep enabled查看当前启动的进程

systemctl cat httpd查看服务启动配置文件

systemctl isolate multi-user.target切换模式为命令行模式

相关实验

centos7忘记密码恢复方法

启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式

0816e7010a59c837f1571ea949a1bc58.png

按Ctrl+x启动到shell,然后重新挂载,重新设置密码

fa06230b869304517acb072f17a20b8c.png

然后重启

bbdcc0accc6fdeac7359b7505e547909.png

如果发现重启一直进不去,可以进入/etc/selinux中删除config这个文件即可

注意:密码必须八位,不然会提示密码不正确

MBR扇区修复

先模拟扇区故障,将a硬盘第一块扇区移走

[root@localhost ~]# dd if=/dev/sda of=/opt/mbr.bak bs=512 count=1

记录了1+0 的读入

记录了1+0 的写出

512字节(512 B)已复制,0.000147779 秒,3.5 MB/秒

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1

记录了1+0 的读入

记录了1+0 的写出

512字节(512 B)已复制,0.000145505 秒,3.5 MB/秒

[root@localhost ~]#

发现一直不能开机

9d758eff73b174037511b4e710a5d836.png

设置boot选项从光盘进入,选择修复模式进入

844b08b85d0a6a65c3888a80bf06ef62.png

选第三个

2613e8b4a6f4b7bee120a386877b61d8.png

选第二个

5a9da43d1ebcbdf8373736b699829cfa.png

选1继续

1a34f9796ef57ebf427a85e355291da4.png

进入shell

e5db0231bdf218b5fcf0236b66cba8e8.png

重新创建一个挂载点挂载,然后将备份的第一个扇区转入sda中

40cf052f340a099d664769674b8cbea3.png

然后将boot选项设置成硬盘启动

3a8af70dc790ee1508fa1724d8292389.png

然后就可以输入密码了

cf352b1d212e7b92eb4360c91a71dafe.png

grub修复

模拟grub故障

97c7b4876530eeb7b63079ce3c925769.png

删掉图形化菜单后开机

22be10f2b4508226f44c9017b402d950.png

设置boot从光盘启动

b3cf53fa49b338c513a300823a733d3a.png

同上进入修复模式,然后按1继续

f49d53509fffa054e9f2a411ca317766.png

然后输入

c1e1fe26720161e6655dfe2c44196ed0.png

然后重新创建grub2中的被删除的文件

4f67aef6d8c7bad6cca3f414aacf2359.png

ccbc68cd4d8db881dc0919ff311fed42.png

然后将boot设置硬盘启动

c8362df1913db696b50766dccc52dc94.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值