Windows 10深度攻略
上QQ阅读APP看书,第一时间看更新

2.2 安装操作系统前必读

随着时代的发展,操作系统的安装变得越来越简单,越来越智能化,需要用户干预的地方越来越少了。但是对于初学者而言,自行安装操作系统之前,有一些基础知识是必须要掌握的。如果没有做好准备就自行安装,很有可能安装失败。下面介绍一下安装操作系统之前需要掌握的基本知识。

2.2.1 BIOS——操作系统和硬件间的桥梁

BIOS是英文Basic Input Output System的简称,直译过来后中文名称就是“基本输入输出系统”,是计算机中最重要的组成部分之一。它是一组固化到计算机内主板上一个ROM芯片上的程序,保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,可以从CMOS中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。使用BIOS设置程序还可以排除系统故障或诊断系统问题。BIOS应该是连接操作系统与硬件设备的一座“桥梁”,负责解决硬件的即时要求。

BIOS设置程序是存储在BIOS芯片中的,BIOS芯片是主板上一块长方形或正方形的芯片。早期的芯片有ROM(只读存储器)、EPROM(可擦除可编程只读存储器)、E2PROM(电可擦除可编程只读存储器)等。随着科技的进步和操作系统对硬件更高的响应要求,现在的BIOS程序一般存储在NORFlash(非易失闪存)芯片中,NORFlash除了容量比E2PROM更大外,主要是NORFlash具有写入功能,运行计算机通过软件的方式进行BIOS的更新,而无须额外的硬件支持(通常E2PROM的擦写需要不同的电压和条件),且写入速度快。

一、BIOS的3个主要功能

• 中断服务程序:中断服务程序是计算机系统软、硬件之间的一个可编程接口,用于程序软件功能与计算机硬件实现的衔接。操作系统对外围设备的管理即建立在中断服务程序的基础上。程序员也可以通过对INT 5、INT 13等中断的访问直接调用BIOS。

• 系统设置程序:计算机部件配置情况是放在一块可读写的CMOS芯片中的,它保存着系统CPU、硬盘驱动器、显示器、键盘等部件的信息。关机后,系统通过一块后备电池向CMOS供电以保持其中的信息。如果CMOS中关于计算机的配置信息不正确,会导致系统性能降低、硬件不能识别,并由此引发一系列的软、硬件故障。在BIOS ROM芯片中装有一个“系统设置程序”,用来设置CMOS中的参数。这个程序一般在开机时按下一个或一组键即可进入,它提供了良好的界面供用户使用。这个设置CMOS参数的过程,习惯上也称为“BIOS设置”。新购的计算机或新增了部件的系统,都需进行BIOS设置。

• 上电自检(POST):计算机接通电源后,系统将有一个对内部各个设备进行检查的过程,这是由一个通常称之为POST(Power On Self Test,上电自检)的程序来完成的,这也是BIOS的一个功能。POST自检通过读取存储在CMOS中的硬件信息识别硬件配置,同时对其进行检测和初始化。自检中若发现问题,系统将给出提示信息或鸣笛警告。

有时我们需要修改BIOS的信息来进行操作系统的安装,那么如何进入BIOS界面呢。当打开计算机时,屏幕上一般会出现品牌机启动画面或主板LOGO画面,在屏幕的左下角一般都有一行字提示如何进入BIOS设置。我们按照提示按键盘上相应的按键即可。

下面列出了部分品牌主板和计算机进入BIOS设置界面的快捷键。由于同品牌计算机随着时间的不同,进入BIOS的方式也不太相同,如果按照提供的快捷键无法进入,请参考主板或计算机的说明书。

(1)DIY组装机主板类。

• 华硕主板:F8

• 技嘉主板:F12

• 微星主板:F11

• 映泰主板:F9

• 梅捷主板:EscF12

• 七彩虹主板:EscF11

• 华擎主板:F11

• 斯巴达卡主板:Esc

• 昂达主板:F11

• 双敏主板:Esc

• 翔升主板:F10

• 精英主板:EscF11

(2)品牌笔记本。

• 联想笔记本:F12

• 宏碁笔记本:F12

• 华硕笔记本:Esc

• 惠普笔记本:F9

• 戴尔笔记本:F12

• 神舟笔记本:F12

• 东芝笔记本:F12

• 三星笔记本:F12

(3)品牌台式机。

• 联想台式机:F12

• 惠普台式机:F12

•宏碁台式机:F12

• 戴尔台式机:Esc

• 神舟台式机:F12

• 华硕台式机:F8

• 方正台式机:F12

• 清华同方台式机:F12

• 海尔台式机:F12

• 明基台式机:F8

生产BIOS的厂商很多,并且品牌机会对BIOS进行自己的个性化定制,所以BIOS的界面各式各样,不过其中大部分都是英文界面。下面以某品牌计算机为例介绍BIOS选项,其他品牌计算机可能设置上有不一样的地方,但是大部分设置都是通用的。

• Main标签:主要用来设置时间和日期。显示计算机的硬件相关信息,如序列号、CPU型号、CPU速度、内存大小等,如图2-1所示。

图2-1

• Advanced标签:主要用来进行BIOS的高级设置。如启动方式、开机显示、USB选项、硬盘工作模式等,如图2-2所示。

图2-2

• Security标签:主要用来进行安全相关的设置。可以设置BIOS管理员密码、开机密码、硬盘密码,如图2-3所示。

图2-3

• Boot标签:用来设置计算机使用启动设备的顺序,如图2-4所示。

图2-4

• Exit标签:退出BIOS设置。在这里可以选择保存当时的修改,或者放弃修改直接退出。如果BIOS设置出现问题,还可以在这个界面载入初始设置,如图2-5所示。

图2-5

二、主引导记录和分区表

(1)主引导记录。

计算机开机后,BIOS首先进行自检和初始化,然后开始准备操作系统数据。这时就需要访问硬盘上的主引导记录了。

主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导代码。它负责磁盘操作系统对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它是由磁盘操作系统在对硬盘进行初始化时产生的。

通常,我们将包含MBR引导代码的扇区称为主引导扇区。因这一扇区中,引导代码占有绝大部分空间,故而习惯上将该扇区称为MBR扇区(简称MBR)。由于这一扇区是管理整个磁盘空间的一个特殊空间,它不属于磁盘上的任何分区,因而分区空间内的格式化命令不能清除主引导记录的任何信息。

(2)主引导记录的组成如下。

• 启动代码:主引导记录最开头是第一阶段引导代码。其中,硬盘引导程序的主要作用是检查分区表是否正确,并且在系统硬件完成自检以后将控制权交给硬盘上的引导程序(如GNU GRUB)。它不依赖任何操作系统,而且启动代码也是可以改变的,从而能够实现多系统引导。

• 硬盘分区表:硬盘分区表占据主引导扇区的64个字节(偏移01BEH~偏移01FDH),可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节。每个字节的定义可以参考硬盘分区结构信息。

• 结束标志:结束标志字55 AA(偏移1FEH~偏移1FFH)最后两个字节,是检验主引导记录是否有效的标志。

(3)分区表。

分区表是存储磁盘分区信息的一段区域。

传统的分区方案(称为MBR分区方案)是将分区信息保存到磁盘的第一个扇区(MBR扇区)中的64个字节中,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容。因为MBR扇区只有64个字节用于分区表,所以只能记录4个分区的信息。这就是硬盘主分区数目不能超过4个的原因。后来为了支持更多的分区,引入了扩展分区及逻辑分区的概念,但每个分区项仍用16个字节存储。

2.2.2 磁盘分区

计算机中存放信息的主要存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。

• 主分区:主分区通常位于硬盘最前面的一块区域中,构成逻辑C磁盘。其中的主引导程序是它的一部分,此段程序主要用于检测硬盘分区的正确性,并确定活动分区,负责把引导权移交给活动分区的操作系统。如果这个分区的数据损坏将无法从硬盘启动操作系统。

• 扩展分区:除主分区外的其他用于存储的磁盘区域,我们叫它扩展分区。扩展分区不可以直接进行存储数据,它需要分成逻辑磁盘才可以被用来读写数据。如图2-6所示,左侧深蓝色的区域就是主分区,右侧浅蓝色部分是扩展分区。“D:”和“E:”是两个逻辑磁盘。

图2-6

2.2.3 UEFI——新的计算机硬件接口

UEFI,全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface),是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。

UEFI是以EFI 1.10为基础发展起来的。EFI中文名为“可扩展固件接口”,是Intel为PC固件的体系结构、接口和服务提出的建议标准。其主要目的是为了提供一组在OS(操作系统)加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看作是有20多年历史的BIOS的继任者。

与传统的BIOS相比,UEFI有以下优点。

• 纠错特性:与BIOS显著不同的是,UEFI是用模块化、C语言风格的参数堆栈传递方式、动态链接的形式构建系统,它比BIOS更易于实现,容错和纠错特性更强,从而缩短了系统研发的时间。更加重要的是,它运行于32位或64位模式,突破了传统16位代码的寻址能力,达到处理器的最大寻址,此举克服了BIOS代码运行缓慢的弊端。

• 兼容性:与BIOS不同的是,UEFI体系的驱动并不是由直接运行在CPU上的代码组成的,而是用EFI Byte Code(EFI字节代码)编写而成的。Java是以“Byte Code”形式存在的,正是这种没有一步到位的中间性机制,使Java可以在多种平台上运行。UEFI也借鉴了类似的做法。EFI Byte Code是一组用于UEFI驱动的虚拟机器指令,必须在UEFI驱动运行环境下被解释运行,由此保证了充分的向下兼容性。一个带有UEFI驱动的扩展设备既可以安装在使用安卓的系统中,也可以安装在支持UEFI的新PC系统中,它的UEFI驱动不必重新编写,这样就无须考虑系统升级后的兼容性问题。基于解释引擎的执行机制,还大大降低了UEFI驱动编写的复杂门槛,所有的PC部件提供商都可以参与。

• 鼠标操作:UEFI内置图形驱动功能,可以提供一个高分辨率的彩色图形环境,用户进入后能用鼠标单击调整配置,一切就像操作Windows系统下的应用软件一样简单。

• 可扩展性:UEFI将使用模块化设计,它在逻辑上分为硬件控制与OS软件管理两部分,硬件控制为所有UEFI版本所共有,而OS软件管理其实是一个可编程的开放接口。借助这个接口,主板厂商可以实现各种丰富的功能。比如我们熟悉的各种备份及诊断功能可通过UEFI加以实现,主板或固件厂商可以将它们作为自身产品的一大卖点。UEFI也提供了强大的联网功能,其他用户可以对你的主机进行可靠的远程故障诊断,而这一切并不需要进入操作系统。

因为UEFI标准出现的比较晚,所以如果启用了UEFI,则只能安装特定版本的Windows。Windows支持UEFI的情况如图2-7所示。

图2-7

2.2.4 MBR分区表和GPT分区表

由于磁盘容量越来越大,传统的MBR(主引导记录)分区表已经不能满足大容量磁盘的需求。传统的MBR分区表只能识别磁盘前面的2.2TB左右的空间,对于后面的多余空间只能浪费掉了,而对于单盘4TB的磁盘,只能利用一半的容量。因此,就有了GPT(全局唯一标识)分区表。

除此以外,MBR分区表只能支持4个主分区或3个主分区+1个扩展分区(包含随意数目的逻辑分区),而GPT分区表在Windows下可以支持多达128个主分区。

下面介绍MBR分区表和GPT分区表的区别。

一、MBR分区表

在传统硬盘分区模式中,引导扇区是每个分区(Partition)的第一扇区,而主引导扇区是硬盘的第一扇区。它由3部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里,MBR占446个字节;第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少及每一分区的大小都记在其中;第三部分是magic number,占2个字节,固定为55AA。一个扇区的硬盘主引导记录MBR由3部分组成。

• 主引导程序(偏移地址0000H~0088H),它负责从活动分区中装载,并运行系统引导程序。

• 分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH~01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。

• 结束标志字,偏移地址01FE~01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。

二、GPT分区表

GPT的分区信息是在分区中,而不像MBR一样在主引导扇区,为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一个保护分区(Protective MBR)的MBR分区表(此分区并不必要),这种分区的类型标识为0xEE,这个保护分区的大小在Windows下为128MB,Mac OS X下为200MB,在Window磁盘管理器里名为GPT保护分区,可让MBR类磁盘管理软件把GPT看成一个未知格式的分区,而不是错误地当成一个未分区的磁盘。

另外,为了保护分区表,GPT的分区信息在每个分区的头部和尾部各保存了一份,以便分区表丢失以后进行恢复。

基于x86/64的Windows想要从GPT磁盘启动,主板的芯片组必须支持UEFI(这是强制性的,但是如果仅把GPT用作数据盘则无此限制),如Windows 8/Windows 8.1支持从UEFI引导的GPT分区表上启动,大多数预装Windows 8系统的计算机也逐渐采用了GPT分区表。至于如何判断主板芯片组是否支持UEFI,一般可以查阅主板说明书或厂商的网站,也可以通过查看BIOS设置里面是否有UEFI字样。

2.2.5 配置基于UEFI/GPT的硬盘驱动器分区

当我们在基于UEFI的计算机安装Windows时,必须使用GUID分区表(GPT)文件系统对包括Windows分区的硬盘驱动器进行格式化。其他驱动器可以使用GPT或主启动记录(MBR)文件格式。

一、Windows RE工具分区

• 该分区必须至少为300MB。

• 该分区必须为Windows RE工具映像(winre.wim,至少为250MB)分配空间,此外,还要有足够的可用空间以便备份实用程序捕获到该分区。

• 如果该分区小于500MB,则必须至少具有50MB的可用空间。

• 如果该分区等于或大于500MB,则必须至少具有320MB的可用空间。

• 如果该分区大于1GB,我们建议应至少具有1GB的可用空间。

• 该分区必须使用Type ID:DE94BBA4-06D1-4D40-A16A-BFD50179D6AC。

• Windows RE工具应处于独立分区(而非Windows分区),以便为自动故障转移和启动Windows BitLocker驱动器加密的分区提供支持。

二、系统分区

• 计算机应含有一个系统分区。在可扩展固件接口(EFI)和UEFI系统上,这也可称为EFI系统分区或ESP。该分区通常存储在主硬盘驱动器上,计算机启动到该分区。

• 该分区的最小规格为100MB,必须使用FAT32文件格式进行格式化。

• 该分区由操作系统加以管理,不应含有任何其他文件,包括Windows RE工具。

• 对于Advanced Format 4K Native(4-KB-per-sector)驱动器,由于FAT32文件格式的限制,大小最小为260MB。FAT32驱动器的最小分区大小可按以下方式计算:扇区大小(4KB)×65527=256MB。

• Advanced Format 512e驱动器不受此限制的影响,因为其模拟扇区大小为512字节。512字节×65527=32MB,比该分区的最小值100MB要小。

下面介绍下默认分区配置和建议分区配置。

默认配置:Windows RE工具、系统、MSR和Windows分区。

Windows安装程序默认配置包含Windows恢复环境Windows RE工具分区、系统分区、MSR和Windows分区。图2-8所示显示了该配置。该配置可让BitLocker Drive Encryption投入使用,并将Windows RE存储在隐藏的系统分区中。通过使用该配置,可以将系统工具(如Windows BitLocker驱动器加密和Windows RE)添加到自定义Windows安装。

图2-8

建议配置包括Windows RE工具分区、系统分区、MSR、Windows分区和恢复映像分区。以下图表显示了该配置,如图2-9所示。

图2-9

在添加Windows分区之前添加Windows RE工具分区和系统分区,最后添加包含恢复映像的分区。在删除恢复映像分区或更改Windows分区大小的此类操作期间,这一分区顺序有助于维护系统和Windows RE工具分区的安全。

2.2.6 检测计算机是使用UEFI还是传统BIOS固件

要查看计算机固件的设置,进入开机设置界面是最好的办法,如果进入操作系统后,我们还想查看固件信息,那怎么实现呢?

1. 同时按键盘上的Win键和R键,打开“运行”对话框,输入“msinfo32”并按Enter键,如图2-10所示。

图2-10

2. 在弹出的“系统信息”窗口中,可以看到BIOS模式:如果值为“传统”,则为BIOS固件;如果值是“UEFI”,则为UEFI固件,如图2-11所示。

图2-11

2.2.7 Windows的启动过程

掌握Windows的启动过程会对以后的计算机问题分析中有很大的帮助,下面简要介绍Windows的启动过程。

一、从BIOS启动的过程

• 当打开电源后,BIOS首先执行上电自检(POST)过程,如果自检出现问题,此时无法启动计算机,并且系统会报警。自检完成后,BIOS开始读取启动设备启动数据。如果是从硬盘启动的话,BIOS会读取硬盘中的主引导记录(MBR),然后由主引导记录进行下一步操作。

• 主引导记录(MBR)搜索分区表并找到活动分区,然后读取活动分区的启动管理器(bootmgr),把它写入内存并执行,这一步之后,主引导记录的操作完成,下一步由bootmgr进行以后的操作。

• 启动管理器执行活动分区boot目录下的启动配置数据(BCD),启动配置数据中存储了操作系统启动时需要的各种配置。如果有多个操作系统,则启动管理器会让用户选择要启动的操作系统。如果只有一个操作系统,则启动管理器直接启动这个操作系统。

• 启动管理器运行Windows\system32目录下的winload.exe程序,然后启动管理器的任务就结束了。winload程序会完成后续的启动过程。

二、从UEFI启动Windows的过程

• 打开电源后,UEFI模块会读取启动分区内的bootmgfw.efi文件并执行它,然后由bootmgfw执行后续的操作。

bootmgfw程序读取分区内的BCD文件(启动配置数据)。此时和BIOS启动一样,如果有多个操作系统,会提示用户选择要启动的操作系统;如果只有一个,则默认启动当前操作系统。

• bootmgfw读取winload.efi文件并启动winload程序,由winload程序完成后续的启动过程。

2.2.8 Windows 10的安全启动

安全启动是在UEFI 2.3.1中引入的,安全启动定义了平台固件如何管理安全证书,如何进行固件验证及定义固件与操作系统之间的接口(协议)。

微软的平台完整性体系结构利用UEFI安全启动及固件中存储的证书与平台固件之间创建一个信任根。随着恶意软件的快速演变,恶意软件正在将启动路径作为首选攻击目标。此类攻击很难防范,因为恶意软件可以禁用反恶意软件产品,彻底阻止加载反恶意软件。借助Windows 10的安全启动体系结构及其建立的信任根,通过确保在加载操作系统之前,仅能够执行已签名并获得认证的“已知安全”代码和启动加载程序,可以防止用户在根路径中执行恶意代码。