广职院pc协会吧 关注:3,637贴子:10,378
  • 7回复贴,共1

PC小知识:计算机是如何启动的?

只看楼主收藏回复

从打开电源到开始操作,计算机的启动是一个非常复杂的过程。"o((>ω< ))o"
我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示...... 这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。
零、boot的含义
先问一个问题,"启动"用英语怎么说? (我没有秀英语的意思啦)
回答是boot。可是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语:
 "pull oneself up by one's bootstraps"
字面意思是 "拽着鞋带把自己拉起来" ,这当然是不可能的事情。最早的时候,工程师们用它来比喻,计算机启动是一个很矛盾的过程:必须先运行程序,然后计算机才能启动,但是计算机不启动就无法运行程序!
早期真的是这样,必须想尽各种办法,把一小段程序装进内存,然后计算机才能正常运行。所以,工程师们把这个过程叫做"拉鞋带",久而久之就简称为boot了。
计算机的整个启动过程分成四个阶段。


IP属地:广东本楼含有高级字体1楼2015-12-08 20:59回复
    第一阶段:BIOS
    上个世纪70年代初,"只读内存"(read-only memory,缩写为ROM)发明,开机程序被刷入ROM芯片,计算机通电后,第一件事就是读取它。

    这块芯片里的程序叫做"基本输出输入系統"(Basic Input/Output System),简称为BIOS。
    ①硬件自检
    BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"(Power-On Self-Test),缩写为POST。
    如果硬件出现问题,主板蜂鸣器会发出不同含义的蜂鸣(以前旧主板大多数存在蜂鸣器,自从uefi之后就很少有了),启动中止。如果没有问题,屏幕就会显示出CPU、内存、硬盘等信息。


    IP属地:广东2楼2015-12-08 21:08
    回复
      2025-05-18 05:57:06
      广告
      ②启动顺序
      硬件自检完成后,BIOS把控制权转交给下一阶段的启动程序。
      这时,BIOS需要知道,"下一阶段的启动程序"具体存放在哪一个设备。也就是说,BIOS需要有一个外部储存设备的排序,排在前面的设备就是优先转交控制权的设备。这种排序叫做"启动顺序"(Boot Sequence)。
      打开BIOS的操作界面,里面有一项就是"设定启动顺序"。



      不同版本,不同年份,不同厂家的主板,相对应的BIOS界面也相对应不一样。


      IP属地:广东3楼2015-12-08 21:11
      回复
        第三阶段:硬盘启动
        这时,计算机的控制权就要转交给硬盘的某个分区了,这里又分成三种情况。
        ①情况A:卷引导记录
        上一节提到,四个主分区里面,只有一个是激活的。计算机会读取激活分区的第一个扇区,叫做"卷引导记录"(Volume boot record,缩写为VBR)。
        "卷引导记录"的主要作用是,告诉计算机,操作系统在这个分区里的位置。然后,计算机就会加载操作系统了。
        ②情况B:扩展分区逻辑分区
        随着硬盘越来越大,四个主分区已经不够了,需要更多的分区。但是,分区表只有四项,因此规定有且仅有一个区可以被定义成"扩展分区"(Extended partition)。
        所谓"扩展分区",就是指这个区里面又分成多个区。这种分区里面的分区,就叫做"逻辑分区"(logical partition)。
        计算机先读取扩展分区的第一个扇区,叫做"扩展引导记录"(Extended boot record,缩写为EBR)。它里面也包含一张64字节的分区表,但是最多只有两项(也就是两个逻辑分区)。
        计算机接着读取第二个逻辑分区的第一个扇区,再从里面的分区表中找到第三个逻辑分区的位置,以此类推,直到某个逻辑分区的分区表只包含它自身为止(即只有一个分区项)。因此,扩展分区可以包含无数个逻辑分区。
        但是,似乎很少通过这种方式启动操作系统。如果操作系统确实安装在扩展分区,一般采用下一种方式启动。


        IP属地:广东本楼含有高级字体5楼2015-12-08 21:16
        回复
          情况C:启动管理器
          在这种情况下,计算机读取"主引导记录"前面446字节的机器码之后,不再把控制权转交给某一个分区,而是运行事先安装的"启动管理器"(boot loader),由用户选择启动哪一个操作系统。
          Linux环境中,目前最流行的启动管理器是Grub。
          win7系统还是黑底白字,操作放松还是“↑”“↓”键,还有“F8”
          WIN8系统下,相对来说风格比较时尚,win10版本的启动管理器和win8一样,界面看起来较亲民。


          IP属地:广东本楼含有高级字体6楼2015-12-08 21:22
          回复
            第四阶段:操作系统
            控制权转交给操作系统后,操作系统的内核首先被载入内存。
            至此,全部启动过程完成。
            终于完成了,原来开一次机要这么复杂,这么多年辛苦我们的电脑君了。


            IP属地:广东7楼2015-12-08 21:26
            回复


              来自Android客户端8楼2015-12-24 17:37
              回复


                来自Android客户端9楼2015-12-26 17:37
                回复