Linux系统开机过程详解

从按下电源键开始,到登录成功,计算机都做了哪些事儿呢?且听我细细道来。

其过程可以总结如下:

一 BIOS

当按下计算机电源键时,计算机便会读取主板的BIOS(Basic Input/Output System)中存储的程序,

BIOS允许你从软盘、光盘或者硬盘中选择一个来“存储设备”启动计算机。

二 MBR

当你选择“存储设备”后,计算机便读取其起始的512 bytes数据,即主引导记录MBR (master boot record),

MBR会告诉计算机从该设备的哪一个分区(partition)来装载引导加载程序(boot loader)。

三 boot loader

boot loader中储存有操作系统(OS)相关信息,如操作系统名称,内核 (kernel)所在位置等,

常用的boot loader有GRUB和LILO,然后加载操作系统内核(kernel)。

四 kernel

kernel管理计算机的硬件资源,充当软件和硬件的接口。kernel会首先预留自己运行所需的内存空间,

然后通过驱动程序(driver)检测计算机硬件,启动初始化进程(init process)。

五 init process

init process是系统中1号进程,根据boot loader选项,Linux此时可以进入单用户模式(single user mode),检测并修复计算机可能存在的错误,

随后,init process会运行一系列的初始脚本(startup scripts)。

六 startup scripts

startup scripts是一些shell scripts,用以设置计算机名称,时区,检测文件系统,挂载硬盘,清空临时文件,设置网络等。

然后,给出登录(login),或者给出图形化的登录界面。

七 login

输入用户名密码,然后进行登录验证,并根据你创建用户时的设定,Linux还会将你归到某个组(group)中。

整个过程到此结束。

总结:BIOS -> MBR -> boot loader -> kernel -> init process -> startup scripts -> login。

时间: 2024-10-16 01:37:44

Linux系统开机过程详解的相关文章

关于Linux操作系统的开机过程详解

由 于操作系统正在变得越来越复杂,所以开机引导和关机下电的过程也越来越智能化.从简单的DOS系统转移到 Windows NT系统,人们已经亲身感受到了这些变化--这已不仅仅是核心操作系统的启动引导和关闭了,还包括必须要同时启动或者关闭相当数量的服务项目.类似于 Windows NT,Linux系统启动过程需要打开的服务项目也是数量极大的. 这里,我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Li

Linux系统中目录详解

1.Linux文件系统的层次结构 在Linux或Unix操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构. 文件系统的最顶层是由根目录开始的,系统使用"/"来表示根目录.在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件.如此反复就可以构成一个庞大的文件系统. 在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点"."来表示:另一个是当前目录的上一级目录,也叫父目录,可以使用两个

linux系统下信号详解2

信号是UNIX 系统所使用的进程通信方法中,最古老的一种.信号不但能从内核发往一个进程,也能从一个进程发往另一个进程.例如,用户在后台启动了一个要运行较长时间的程序,如果想中断其执行,可以用kill 命令把SIGTERM信号发送给这个进程,SIGTERM 将终止此进程的执行.信号还提供了向UNIX 系统进程传送软中断的简单方法.信号可以中断一个进程,而不管它正在作什么工作.由于信号的特点,所以不用它来作进程间的直接数据传送,而把它用作对非正常情况的处理.由于信号本身不能直接携带信息,这就限制了它

linux系统find命令详解

find命令 –用途:用于查找文件或目录 –格式:find  [查找范围]  [查找条件] 常用查找条件 –-name:按文件名称查找 –-size:按文件大小查找 –-user:按文件属主查找 –-type:按文件类型查找 –-print:以\n为换行符打印出文件(路径) 高级查找条件 –-perm:按权限查找 –-ctime(-cmin):按文件创建时间(天为单位)查找 –-atime(-amin):按访问时间查找 –-mtime(-mmin):修改时间查找 –-newer:查找比指定文件更

<Linux系统hostname命令详解>

hostname命令的用法的小知识我们都知道hostname命令是查看主机名和修改主机名的. [[email protected] ~]# hostname  //查看本机的主机名apache.example.com[[email protected] ~]# hostname redhat //临时修改主机名[[email protected] ~]# hostname redhat[[email protected] ~]# uname -n //这样也可以显示主机名redhat不过这样的修

Linux系统的文件系统详解

Linux系统文件系统: 1.文件系统介绍 文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储结构.软链接硬链接.和常见目录的介绍.相信有了这些知识对于深入的学习linux会有一定的帮助. Linux文件管理从用户的层面介绍了Linux管理文件的方式.Linux有一个树状结构来组织文件.树的顶端为根目录(/),节点为目录,而末端的叶子为包含数据的文件.当我们给

深入了解linux操作系统引导过程详解

Linux操作系统的引导过程:开机自检.mbr引导.grub菜单.加载linux内核.init进程初始化. 1.开机自检,检测硬件后根据启动顺序将控制权交给本机硬盘 2.mbr引导,根据硬盘的主引导记录,将控制权转交给引导分区或者启动菜单 3.grub菜单,启动菜单提供给用户选择进入不同的操作系统(例如windows)的界面.默认进入linux将系统控制权转交给内核. 4.加载linux内核,内核负责分配调度硬件资源与系统程序,内核接过系统控制权,开始管理整个Linux系统. 5.init进程初

第十二天-linux系统文件属性知识详解

本文总结Linux添加或者删除用户和用户组时常用的一些命令和参数.1.建用户: adduser xiaorui                             //新建xiaorui用户 passwd  xiaorui                             //给xiaorui用户设置密码 2.建工作组 groupadd   test                             //新建test工作组 3.新建用户同时增加工作组 useradd -g tes

Linux进程创建过程详解

本文首先使用了接口pthread_create创建一个线程,并用strace命令追踪了接口pthread_create创建线程的步骤以及涉及到的系统调用,然后讨论了Linux中线程与进程关系,最后概述了为了实现POSIX线程,Linux内核所做的修改. 一.使用pthread_create创建线程 在Linux下可以使用pthread_create来创建线程,该接口声明如下: #include <pthread.h> int pthread_create(phtread_t *thread,