与电脑相关的那些事情

        在重装系统,设置启动项,装驱动等啥时,只是按照网上步骤一步一步的操作,对其中的操作的缘由并没有清晰、整体的认识。对电脑的认识还停留在非常浅显的地方。趁着这次的学习,把看过的博客总结一下,方便以后查阅。

        首先要说的就是电脑的一个简单概括的架构了,如图:

        下面的内容就是围绕这四个模块展开了。主要的关注点就是中间两个模块了。

        1. 硬件

        毫无疑问,我们都能说一些硬件的名字。如,CPU,显卡,键盘鼠标等。如果想要选购去比较他们的好坏,这个就需要自己在网上自己查找了,毕竟硬件的更新速度还是很快的。

        2. BIOS

        BIOS指(Basic Input & Output System,基本输入输出系统 ),相当于一个与硬件直接打交道的原始级操作系统。其内容集成在微机主板上的一个ROM芯片上,主要保存着有关微机系统最重要的基本输入输出程序,系统信息设置、开机上电自检程序和系统启动自举程序等。所以更加正确的叫法应该是:ROM-BIOS,只读存储器--基本输入输出系统。

        在IBM PC兼容系统上,是一种业界标准的固件接口BIOS,这个字眼是在1975年第一次由CP/M操作系统中出现。BIOS是个人电脑启动时加载的第一个软件。它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。

        BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是系统开机讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。

        2.1 对BIOS一般性错误认识

  • 我们一般以为BIOS就是一个开机的引导程序,其实它是支撑电脑运行的底层基石。
  • 以为BIOS就是开机DEL进去的蓝底红字界面,这只是bios人机交互的一部分。
  • 以为BIOS就是主板上的一块芯片,其实BIOS是软件,确切点讲叫固件(和硬件紧密结合的软件,可以升级)。它装在芯片内,设计这个固件的公版有三家,AMI,Award,Phoenix。IBM、ACER自己开发。
  • 以为BIOS就是CMOS,CMOS只是在北桥芯片内的一小块存储器,用电池供电,它的修改要用到BIOS的人机交互设置程序。

        2.2 BIOS的功能

  • BIOS中断服务程序
    BIOS中断服务程序实质上是微机系统中软件与硬件之间的一个可编程接口,主要用来在程序软件与微机硬件之间实现衔接。例如,DOS和windows操作系统中对软盘、硬盘、光驱、键盘、显示器等外围设备的管理,都是直接建立在BIOS系统中断服务程序的基础上,而且操作人员也可以通过访问INT 5、INT 13等中断点而直接调用BIOS中断服务程序。
  • BIOS系统设置程序
    微机部件配置记录是放在一块可读写的 CMOS RAM 芯片中的,主要保存着系统基本情况、CPU特性、软硬盘驱动器、显示器、键盘等部件的信息。在 BIOS ROM芯片中装有"系统设置程序",主要用来设置CMOS RAM中的各项参数。这个程序在开机时按下某个特定键即可进入设置状态,并提供了良好的界面供操作人员使用。事实上,这个设置CMOS参数的过程,习惯上也称为" BIOS设置"。一旦CMOS RAM芯片中关于微机的配置信息不正确时,轻者会使得系统整体运行性能降低、软硬盘驱动器等部件不能识别,严重时就会由此引发一系统的软硬件故障。
  • POST上电自检
    微机按通电源后,系统首先由POST(Power On Self Test,上电自检)程序来对内部各个设备进行检查。通常完整的POST自检将包括对 CPU、640K基本内存、 1M以上的扩展内存、ROM、主板、CMOS存贮器、串并口、显示卡、软硬盘子系统及键盘进行测试,一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。
  • BIOS系统启动自举程序
    系统在完成 POST自检后, ROM BIOS 就首先按照系统 CMOS设置中保存的启动顺序搜寻软硬盘驱动器及CD-ROM、网络服务器等有效地启动驱动器,读入操作系统引导记录,然后将系统控制权交给引导记录,并由引导记录来完成系统的顺利启动。

        3.操作系统

        说系统这一块主要是介绍重装系统及重装系统涉及到的一些东西。

        3.1 安装系统原理

        系统安装有两个关键点:系统部署和系统引导。无论你是U盘装系统、光盘装系统、硬盘直接装系统、UEFI引导装系统、legacy引导装系统等等,说到本质都是这两点,万变不离其宗。

        系统部署:就是把系统镜像文件写入硬盘中。一般来说比较常见的系统部署方式是ghost还原和原版安装。这里注意,不管是ghost封装的gho文件,还是微软官方的wim或者esd文件(wim文件更常见),都属于镜像安装文件,只不过所使用的封装工具不同。(原版windows安装包是iso文件,解压后在sources文件夹下的install.wim就是官方的wim镜像,高手一般都把这个文件单独复制出来)。gho和wim两种文件封装方式虽然不同,但是安装原理都是一样的。

        目前有很多装机工具同时支持gho和wim两种格式的部署,比如“映像总裁”和“CGI备份还原”,还有支持wim和esd文件部署的“winNTsetup”,推荐这几款软件除了因为它们功能强大,使用简单,更重要的是不会篡改系统不会添加捆绑软件。

        系统引导:系统部署完成后,还需要让电脑在开机的时候能识别电脑中的系统,这个过程就是系统引导。目前主要有两种引导方式:legacy引导和UEFI引导,这两种引导方式区别在于,Legacy引导对应的必须是MBR硬盘模式,UEFI引导对应的必须是GPT硬盘模式(这两种硬盘模式的转换和区别以后单独发文再讲)。电脑用哪种引导方式可以在电脑主板bios里设置,这两种引导方式互不兼容。现在大部分还是以legacy引导方式居多,但品牌机(台式机、笔记本)现在出厂预装的系统都是UEFI引导方式。UEFI是比较新的引导方式,支持win8和win10。win7只有64位的才支持,但是支持并不完善。

        这里注意:UEFI引导的电脑,不能用传统的一键ghost的方式安装系统,必须得用原版系统安装或者使用启动U盘进PE系统安装才行。这也是为什么很多人买来品牌机想一键重装系统,却ghost失败的原因。

        legacy引导方式中,引导文件可以和系统在同一个盘里,也可以单独创建一个分区作为引导分区。举例来说,如下图的磁盘管理中,C盘标识着(系统、启动、活动、主分区),启动说明系统部署在C盘,系统则说明引导文件也在C盘。

        3.2 BIOS和UEFI的引导方式

  • 传统BIOS引导
    开机-->BIOS启动MBR-->MBR启动激活分区PBR-->启动bootmgr-->读取BCD-->启动对应的系统
    详细解释:①电脑开机,BIOS找到第一个硬盘 ②MBR在硬盘开头几百k以内,BIOS启动到硬盘上的MBR(主引导记录) ③PBR在分区开头的几百k以内,MBR启动当前磁盘激活分区的PBR(分区引导记录) ④VISTA以上的PBR启动当前分区上的BOOTMGR,找不到则启动NTLDR ⑤读取当前分区根目录下\boot\BCD文件 ⑥启动BCD里对应菜单的系统。

  • UEFI引导
    开机-->BIOS启动FAT分区上的启动文件-->读取BCD-->启动对应的系统
    详细解释:①电脑开机,BIOS找到第一个硬盘 ②BIOS搜索到FAT/FAT32分区上的\EFI\BOOT\BOOTx64.efi(计算机默认引导)或\efi\Microsoft\boot\bootmgrfw.efi(Windows默认引导),BIOS内会有个EFPROM,如果有多个efi文件,会记录efi文件的启动顺序。这个顺序可以在BIOS里修改,也可以用工具修改,EFI文件一般在ESP分区下,分区格式只能是FAT16或FAT32 ③读取\efi\Microsoft\boot\BCD ④启动BCD里对应菜单的系统。

        3.3 具体的系统安装教程

        链接,点击访问:安装纯净Windows系统(一):U盘安装

        链接,点击访问:安装纯净Windows系统(二):硬盘安装

        3.4 系统安装中涉及到东西

  • 安装镜像:ISO,WIM与ESD
    .iso是电脑上光盘镜像(CD Mirror)的存储格式之一,因为其是根据ISO-9660有关CD--ROM文件系统标准存储的文件,所以通常在电脑中以后缀.iso命名,俗称iso镜像文件。它形式上只有一个文件,可以真实反映光盘的内容,可由刻录软件或者镜像文件制作工具创建。

  • Windows 映像文件格式(WIM)是一个基于文件的磁盘映像格式。它由微软公司设计且发布于windows Vista及其之后的Windows操作系统中,用来支持他们的一部分标准安装过程。

  • ESD,极限压缩镜像的缩写,是目前微软推出的压缩率最高的一种文件,一般用于系统大版本更新的推送。

ISO镜像

        ISO镜像是通用的打包镜像,通过它我们可以制作启动U盘或者刻录启动光盘。除了Windows系统以外,诸如Ubuntu等Linux发行版也是用这种格式来进行打包的。这里主要讲解Windows系统安装镜像的目录结构。如何挂载一个ISO镜像:点击访问(外链)挂载ISO镜像,或者使用如7zip那样的压缩软件打开ISO镜像就可以查看ISO的目录。这里以一个Windows 10 1709的镜像为例:

ISO目录

        boot:BIOS启动需要的文件
        EFI:UEFI启动所需文件
        sources:Windows安装ESD镜像或者WIM镜像所在文件夹,同时包含了Windows预安装环境(WinRE)以及从一个Windows系统启动安装所需的文件
        support:一些帮助信息,部分镜像含有文件转移工具
        autorun.inf:自动播放文件,用于挂载镜像后自动启动安装与个性化盘符图标
        bootmgr:BIOS启动的引导文件
        bootmgr.efi:UEFI启动的引导文
        setup.exe:用于启动安装程序的程序文件

        sources下面有两个很重要的文件,一个是boot.wim,这个文件是官方镜像从U盘或者光盘启动安装的关键;还有一个是install.esd或者install.wim,这个文件包含了Windows系统的完整内容。

文件

        在PE工具箱下手动安装系统就需要使用install.wim / install.esd这个文件。

WIM镜像

WIM镜像

        使用7zip打开该镜像,如图:

WIM目录

        INSTALL.WIM里面包含了多个目录与一个XML文件,每一个目录即使一个操作系统,不同的目录代表着不同版本的系统(家庭版、专业版等)。通过压缩软件,我们看不到系统的版本,所以,我们要使用DISM++来解决问题。

打开

        按照提示,打开install.wim或者install.esd文件,

文件

        这样就可以看到详细信息了。使用这些镜像安装系统请参考:DISM++官方文档

ESD镜像

       一般情况下,由媒体创建工具获取的初始镜像其实是一个完整的ESD镜像,然后通过解压与转换把ESD镜像写入U盘或者生成ISO镜像。通过媒体创建工具生成的ISO镜像的sources目录下会存在一个install.esd而不是install.wim,而由于esd格式压缩率最高,因此同样的内容下ESD镜像使用的空间也最少。使用DISM++可以把ESD镜像转换成ISO镜像,但是,DISM++会把install.esd转换成install.wim文件。

ESD目录

        ESD目录接近于WIM,但是完整版ESD包含了一个ISO所有的信息,所以部分目录下(一般是1,2,3)包含的其实不是Windows系统,而是其它系统文件。install.esd包含的内容与install.wim是一样的。

        4. 应用程序

        在这一层我们大家都应该很熟悉了,就不再详细说明了。

       5. 电脑开机全过程详解

        首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(前面介绍过),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。

        第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的内存最大只有1MB,这1MB的低端640KB被称为基本内存,而A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。

        好了,下面我们就来仔细看看计算机的启动过程吧。

        第一步: 当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。

        第二步: 系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。

        第三步: 接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。

        第四步: 查找完所有其它设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。

        第五步: 接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,我们可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。

        第六步: 内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD-ROM、串口、并口、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。

        第七步: 标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。

        第八步: 到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。

        第九步: 接下来系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统配置数据)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到“Update ESCD… Success”这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows 9x不相同的数据格式,于是Windows 9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。

        第十步: ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是DOS和Windows 9x最基本的系统文件。Windows 9x的IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作

参考资料:

DOS和BIOS的区别是什么

安装系统原理

【操作系统安装与引导】Windows引导详解

Windows系统安装原理那点事

电脑开机全过程详解

猜你喜欢

转载自blog.csdn.net/qq_31112205/article/details/84581503