电脑里的boot是什么意思()

即使是计算机专业出身的人,可能也不太了解计算机的启动过程。看完之后可以和linux的启动过程对比一下。启动电脑从接通电源到开始操作是一个非常复杂的过程。我一直没

电脑里的boot是什么意思()插图

即使是计算机专业出身的人,可能也不太了解计算机的启动过程。看完之后可以和linux的启动过程对比一下。

启动电脑从接通电源到开始操作是一个非常复杂的过程。

我一直没搞清楚这个过程到底是怎么回事。我只看到屏幕快速滚动各种提示...这几天查了一些资料,想了解一下。这是我的笔记。

零,开机的意思

我先问你一个问题。“开始”用英语怎么说?

回答开机。但是,boot的本义是靴子。“boot”和靴子有什么关系?原来这里的boot是bootstrap的缩写,来源于一句谚语:

"自力更生"

字面意思是“通过拉鞋带把自己拉起来”,这当然是不可能的。最早的时候,工程师用它来比喻。电脑启动是一个非常矛盾的过程:必须先运行程序,然后才能启动电脑,但是电脑不启动程序就不能运行程序!

在早期,确实是这样。我们不得不想尽一切办法把一个短程序存入内存,然后计算机才能正常运行。因此,工程师将这一过程称为“拉鞋带”,随着时间的推移将简称为boot。

计算机的整个启动过程分为四个阶段。

一、第一阶段:BIOS

20世纪70年代初,发明了“只读存储器”(缩写为ROM),将启动程序刷入ROM芯片。电脑开机后,第一件事就是看。

这个芯片里的程序叫做“基本输入输出系统”(简称BIOS)。

1.1硬件自测

BIOS首先检查计算机硬件是否能满足运行的基本条件,称为“硬件自检”(缩写为POST)。

如果硬件有问题,主板会发出不同含义的嘟嘟声,启动会中止。如果没有问题,屏幕会显示CPU、内存、硬盘等信息。

1.2启动顺序

硬件自检完成后,BIOS将控制权移交给下一个启动程序。

此时,BIOS需要知道“下一阶段启动程序”存储在哪个设备中。也就是说,BIOS需要有一个排序的外部存储设备,第一个设备是优先转移控制权的设备。这种排序被称为“引导序列”。

打开BIOS的操作界面,其中一项是“设置启动顺序”。

二、第二阶段:主引导记录

根据BIOS“引导顺序”,将控制权转移到第一个存储设备。

此时,计算机读取设备的第一个扇区,即第一个512字节。如果这512个字节的后两个字节是0x55和0xAA,这个设备可以用来启动;如果不是,则表明该设备不能用于启动,然后控制权被转移到启动序列中的下一个设备。

前512个字节称为“主引导记录”(MBR)。

2.1主引导记录的结构

“主引导记录”只有512字节,所以没有太多的空间。它的主要作用是告诉电脑在硬盘上的什么地方可以找到操作系统。

主引导记录由三部分组成:

(1)字节1-446:调用操作系统的机器码。(2)字节447-510:分区表。(3)字节511-512:主引导记录的签名(0x55和0xAA)。

其中,“分区表”的第二部分是用来将硬盘划分成若干个分区的。

2.2分区表

硬盘分区有很多优点。考虑到每个区域可以安装不同的操作系统,“主引导记录”必须知道将控制转移到哪个区域。

分区表只有64字节长,分为四项,每项16字节。所以一个硬盘最多只能分为四个主分区,也叫“主分区”。

每个主分区16字节,由6部分组成:

(1)第1个字节:如果是0x80,说明主分区是活动分区,控制权要转移到这个分区。四个主分区中只能有一个是活动的。(2)第2-4字节:主分区第一个扇区的物理位置(柱面、磁头、扇区号等。).(3)第5字节:主分区类型。(4)字节6-8:主分区最后一个扇区的物理位置。(5)字节9-12:这个主分区的第一个扇区的逻辑地址。(6)字节13-16:主分区的扇区总数。

最后四个字节(“主分区的扇区总数”)决定了这个主分区的长度。也就是说,一个主分区中的扇区总数最多不应该超过2的32次方。

如果每个扇区是512字节,这意味着单个分区的最大大小是2TB。考虑到扇区的逻辑地址也是32位,单个硬盘的可用空空间不超过2TB。如果想使用更大的硬盘,只有两个办法:一是增加每个扇区的字节数,二是增加总扇区数。

三、第三阶段:硬盘启动

这时候电脑的控制权就会转移到硬盘的一个分区上,分三种情况。

3.1情况A:卷引导记录

如前所述,四个主要分区中只有一个是活动的。计算机读取活动分区的第一个扇区,称为“卷引导记录”(VBR)。

“卷引导记录”的主要作用是告诉电脑操作系统在这个分区中的位置。然后,计算机将加载操作系统。

3.2情况B:扩展分区和逻辑分区

随着硬盘越来越大,四个主分区已经不够用了,需要更多的分区。但是分区表只有四个条目,所以规定只有一个区域可以定义为“扩展分区”。

所谓“扩展分区”,就是把这个区域分成多个区域。这种分区称为“逻辑分区”。

计算机首先读取扩展分区的第一个扇区,称为“扩展引导记录”(EBR)。它还包含一个64字节的分区表,但最多只有两个条目(即两个逻辑分区)。

然后计算机读取第二个逻辑分区的第一个扇区,从里面的分区表找到第三个逻辑分区的位置,以此类推,直到一个逻辑分区的分区表只包含自己(即只有一个分区项)。因此,一个扩展分区可以包含无数个逻辑分区。

不过好像很少用这种方式启动操作系统。如果操作系统确实安装在扩展分区中,一般采用下一种方法启动。

3.3案例C:启动管理器

这种情况下,计算机读取“主引导记录”前面446字节的机器码后,不再将控制权转移到某个分区,而是运行预装的“引导加载程序”,用户可以选择启动哪个操作系统。

在Linux环境下,目前最流行的引导管理器是Grub。

四、第四阶段:操作系统

在控制权转移到操作系统之后,操作系统的内核首先被加载到内存中。

以Linux系统为例,首先在/boot目录下加载内核。内核成功加载后,运行的第一个程序是/sbin/init。它根据配置文件生成init进程(Debian系统是/etc/initab)。这是Linux启动后的第一个进程。pid进程号是1,其他进程是它的后代。

然后,init线程加载系统的各个模块,如窗口程序、网络程序等,直到执行/bin/login程序,跳出登录界面,等待用户输入用户名和密码。

至此,所有启动过程都已完成。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/344165.html

发表回复

登录后才能评论