博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小猿圈解析Linux系统启动过程
阅读量:6964 次
发布时间:2019-06-27

本文共 1984 字,大约阅读时间需要 6 分钟。

现在IT发展迅速,大多数朋友无论是什么行业或者岗位都在或多或少的学习一些IT方面的知识,而linux又是最受欢迎的一种。今天小猿圈linux老师为你分享一下Linux 系统启动过程,感兴趣的朋友一起看看吧。

Linux系统的启动过程可以分为5个阶段:

1、BIOS自检。2、内核的引导。3、运行init。4、系统初始化。5、用户登录系统。

BIOS自检:

BIOS是英文"Basic Input Output System"的缩写,中文名称就是"基本输入输出系统"。 BIOS是电脑启动时加载的第一个程序,它是计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。主机接通电源后,系统将有一个对内部各个设备进行检查的过程,这是由一个通常称之为POST(Power On Self Test,上电自检)的程序来完成的。这也是BIOS的一个功能。完整的POST自检将包括CPU、640K基本内存、1M以上的扩展内存、ROM、主板、 CMOS存贮器、串并口、显示卡、软硬盘子系统及键盘测试等。自检中若发现问题,系统将给出提示信息或鸣笛警告。如果自检没有问题,会根据BIOS中的引导选项中查找引导设备,然后读取设备的第一扇区,设备的第一个扇区(MBR)主要记录了系统的分区信息。

内核引导:

此时BIOS将权限交给GRUB(GRand Unified Bootloade),GRUB到/boot目录下去读取内核文件。读取成功后,将控制权交给内核。

INIT:

内核启动系统的第一个进程INIT,因此INIT的进程号总是1,init进程是所有进程的发起者和控制者,所有如果init出现问题,系统随之垮掉。init读取配置文件/etc/inittab,决定启动的运行级别(runlevel)。

Linux系统有7个运行级别(runlevel):

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2:多用户状态(没有NFS)

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

运行级别4:系统未使用,保留

运行级别5:X11控制台,登陆后进入图形GUI模式

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

系统初始化:

centos7以前版本在/etc/inittab文件中系统默认运行级别。然后根据运行级别/etc/rc*.d执行相应的环境初始化,建立终端。

用户登陆:

输入用户名密码登陆系统。

初次安装系统后,系统的时区可能不是我们想要的。

1、查看系统时间:

[root@localhost ~]# timedatectl

Local time: Mon 2019-04-29 01:24:46 CST

Universal time: Sun 2019-04-28 17:24:46 UTC

RTC time: Sun 2019-04-28 19:19:12

Time zone: Asia/Shanghai (CST, +0800)

NTP enabled: no

NTP synchronized: no

RTC in local TZ: no

DST active: n/a

发现系统时间和Universal time时间相差8个小时;

2、将当前系统所处的分区重新命名:

[root@localhost ~]# mv /etc/localtime /etc/localtime.bak

3、将/usr/share/zoneinfo/中创建软连接以替换当前的时区信息:

[root@localhost ~]# ln -s /usr/share/zoneinfo/Universal /etc/localtime

4、再次查看系统时间

[root@localhost ~]# timedatectl

Local time: Sun 2019-04-28 19:26:03 UTC

Universal time: Sun 2019-04-28 19:26:03 UTC

RTC time: Sun 2019-04-28 19:26:03

Time zone: n/a (UTC, +0000)

NTP enabled: no

NTP synchronized: no

RTC in local TZ: no

DST active: n/a

最后想要了解更多关于Linux开发方面内容的小伙伴,请关注小猿圈官网,小猿圈竭力为你提供更全面更有竞争力的,希望对你有所帮助。

转载地址:http://ilzsl.baihongyu.com/

你可能感兴趣的文章
hdu 思维风暴
查看>>
hive进行词频统计
查看>>
复旦大学2016--2017学年第二学期(16级)高等代数II期末考试第七大题解答
查看>>
linux kill杀死进程
查看>>
Git协作流程
查看>>
NET(C#):使用HttpWebRequest头中的Range下载文件片段
查看>>
java(9)并发编程
查看>>
删除表里重复数据
查看>>
HDOJ How many ways?? 2157【矩阵高速幂】
查看>>
Android--向SD卡读写数据
查看>>
mysql数据类型总结
查看>>
地图之CLLocationManager的使用 定位功能使用
查看>>
《linux 内核全然剖析》 mktime.c
查看>>
Java8学习之旅2---基于Lambda的JDBC编程
查看>>
Logon database Tiger引起DataGuard不同步问题
查看>>
【css】垂直居中的几种写法
查看>>
find中的-print0和xargs中-0的奥妙
查看>>
hdu 3622 二分+2-sat
查看>>
SQL 模糊查询
查看>>
spring (由Rod Johnson创建的一个开源框架)
查看>>