全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Linux开机启动过程详解

计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。然而,计算机开机又是个异常脆弱的过程,我们满心期望的登录界面可能并不会出现,而是一个命令行或者错误信息。了解计算机开机过程有助于我们修复开机可能出现的问题。

最初始阶段

当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Input/Output System)读取其中所存储的程序。这一程序通常知道一些直接连接在主板上的硬件(硬盘,网络接口,键盘,串口,并口)。现在大部分的BIOS允许你从软盘、光盘或者硬盘中选择一个来启动计算机。

下一步,计算机将从你所选择的存储设备中读取起始的512个字节(bytes)。如果我们从光盘启动的话,那么计算机就会读取光盘最开始的512个字节。这512个字节叫做主引导记录MBR (master boot record)。MBR会告诉电脑从该设备的某一个分区(partition)来装载引导加载程序(boot loader)。引导加载程序储存有操作系统(OS)的相关信息,比如操作系统名称,操作系统内核 (内核)所在位置等。常用的引导加载程序有GRUB和LILO。

随后,引导加载程序会帮助我们加载内核(kernel)。内核实际上是一个用来操作计算机的程序,它是计算机操作系统的内核,主要的任务是管理计算机的硬件资源,充当软件和硬件的接口。操作系统上的任何操作都要通过内核传达给硬件。Windows和Linux各自有自己内核。狭义的操作系统就是指内核,广义的操作系统包括内核以及内核之上的各种应用。

(Linus Torvalds与其说是Linux之父,不如说是Linux 内核之父。他依然负责Linux 内核的开发和维护。至于Ubuntu, Red Hat, 它们都是基于相同的内核之上,囊括了不同的应用和界面构成的一个更加完整的操作系统版本。)

实际上,我们可以在多个分区安装引导加载程序,每个引导加载程序对应不同的操作系统,在读取MBR的时候选择我们想要启动的引导加载程序。这就是多操作系统的原理。

小结:BIOS -> MBR -> 引导加载程序 -> 内核

内核

如果我们加载的是Linux内核,Linux内核开始工作。内核会首先预留自己运行所需的内存空间,然后通过驱动程序(driver)检测计算机硬件。这样,操作系统就可以知道自己有哪些硬件可用。随后,内核会启动一个init进程。它是Linux系统中的1号进程(Linux系统没有0号进程)。到此,内核就完成了在计算机启动阶段的工作,交接给init来管理。

小结: 内核 -> init process

init process

(根据boot loader的选项,Linux此时可以进入单用户模式(single user mode)。在此模式下,初始脚本还没有开始执行,我们可以检测并修复计算机可能存在的错误)

随后,init会运行一系列的初始脚本(startup scripts),这些脚本是Linux中常见的shell scripts。这些脚本执行如下功能:

设置计算机名称,时区,检测文件系统,挂载硬盘,清空临时文件,设置网络……

当这些初始脚本,操作系统已经完全准备好了,只是,还没有人可以登录。init会给出登录(login)对话框,或者是图形化的登录界面。

输入用户名(比如说vamei)和密码,DONE!

在此后的过程中,你将以用户(user)vamei的身份操作电脑。此外,根据你创建用户时的设定,Linux还会将你归到某个组(group)中,比如可以是stupid组,或者是vamei组。

所以你将是用户vamei, 同时是vamei组的组员。(注意,组vamei和用户vamei只是重名而已,就好想你可以叫Dell, 同时还是Dell公司的老板一样。你完全也可以是用户vamei,同时为stupid组的组员)

总结

BIOS -> MBR -> 引导加载程序 -> 内核 -> init process -> login

用户,组。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Linux  # 开机启动  # linux设置服务开机自启动的三种方式  # linux下oracle设置开机自启动实现方法  # Linux下的Oracle启动脚本及其开机自启动  # Linux中Oracle服务启动和停止脚本与开机自启动  # Linux中设置Redis开机启动的方法  # Linux 添加开机启动方法(服务/脚本)  # linux开机启动nodemanager步骤  # Linux下Redis设置密码及开机自启动  # linux 开机自启动redis服务的方法  # Linux系统设置开机自动运行脚本的方法实例  # 操作系统  # 加载  # 是一个  # 它是  # 我们可以  # 或者是  # 之父  # 的是  # 都是  # 这一  # 就会  # 还没有  # 你可以  # 又是  # 都要  # 多个  # 在此  # 这就是  # 还会  # 所需 


相关文章: 开心动漫网站制作软件下载,十分开心动画为何停播?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  代购小票制作网站有哪些,购物小票的简要说明?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  官网网站制作腾讯审核要多久,联想路由器newifi官网  建站之星导航配置指南:自助建站与SEO优化全解析  攀枝花网站建设,攀枝花营业执照网上怎么年审?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何获取开源自助建站系统免费下载链接?  如何在宝塔面板中修改默认建站目录?  如何在阿里云通过域名搭建网站?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  如何实现建站之星域名转发设置?  ,网站推广常用方法?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  网站制作新手教程,新手建设一个网站需要注意些什么?  如何高效搭建专业期货交易平台网站?  如何在Golang中使用replace替换模块_指定本地或远程路径  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  如何高效配置IIS服务器搭建网站?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  定制建站如何定义?其核心优势是什么?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  公司门户网站制作流程,华为官网怎么做?  如何快速生成ASP一键建站模板并优化安全性?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  如何挑选最适合建站的高性能VPS主机?  网站企业制作流程,用什么语言做企业网站比较好?  建站之星如何快速更换网站模板?  北京制作网站的公司,北京铁路集团官方网站?  测试制作网站有哪些,测试性取向的权威测试或者网站?  XML的“混合内容”是什么 怎么用DTD或XSD定义  网站制作服务平台,有什么网站可以发布本地服务信息?  内网网站制作软件,内网的网站如何发布到外网?  如何登录建站主机?访问步骤全解析  红河网站制作公司,红河事业单位身份证如何上传?  如何在Golang中指定模块版本_使用go.mod控制版本号  建站org新手必看:2024最新搭建流程与模板选择技巧  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何选择香港主机高效搭建外贸独立站?  建站之星如何保障用户数据免受黑客入侵?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何零基础开发自助建站系统?完整教程解析  建站主机默认首页配置指南:核心功能与访问路径优化  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。