首先声明,我只是感兴趣于iso内的安装文件,并无他意。这篇文章也仅仅代表我个人的观点与立场。一个有意思的地方是,安装文件里的文本相当一部分编码采用的是UTF-16而非UTF-8和BGK。

概览

我的系统是政府精简版1709,使用rufus烧录,大体上精简了一部分次要功能。
ZgubU1.png

我的U盘位于/run/media/raincorn/WIN10_CMGE/,该目录下有5个文件夹以及4个文件。

文件

注意,下文若未单独指明,文本文件内容编码则为UTF-8。

autorun.inf

文件内容:

1
2
3
4
5
6
7
[AutoRun.Amd64]
open=setup.exe
icon=setup.exe,0

[AutoRun]
open=sources\SetupError.exe x64
icon=sources\SetupError.exe,0

inf文件,即为windows操作系统下用来描述设备或文件等信息的文件。此处的autorun.info,顾名思义,是针对X86 电脑的自动运行标识符。文件内容反馈出的含义为运行setup.exe,并可用于指定盘符图标。

bootmgr

传统BIOS模式下的引导文件。

传统BIOS+MBR启动流程为:

  • PC上电,主板芯片组加电自检(POST)。
  • 自检通过则优先从设置的默认设备启动。
  • 读取位于硬盘第一扇区的MBR记录,并搜寻活动分区。
  • 在根目录下读取bootmgr(启动管理器),此时计算机控制权交由bootmgr。
  • bootmgr搜索boot目录下的BCD(启动配置数据),若存在多个启动选项则会交由用户选择,反之直接启动。
  • bootmgr继续读取并运行Windows\System32\winload.exe。
  • winload.exe则完成内核读取与其余启动过程。

简洁版便是:BIOS-POST-MBR-Bootmgr-BCD-Winload.exe-内核

bootmgr.efi

UEFI启动的引导文件。

经典UEFI+GPT启动流程为:

  • PC加电,UEFI 读取位于 ESP 分区 EFI/Microsoft/Boot/目录下的 bootmgfw.efi 。
  • 运行bootmgr.efi并将计算机控制权交于 bootmgfw 。
  • bootmgfw搜索并读取EFI/Microsoft/Boot/BCD,若有多个启动选项则交由用户选择,反之启动默认系统。

  • 默认启动 Windows之后,bootmgrfw 搜索并读取 Windows 分区 Windows\System32 目录下的 winload.efi 程序。

  • winload.efi完成后续内核加载与启动流程。

二者区别:ZgubU1.png

setup.exe

用于正常windows环境或者预安装环境下启动安装程序的应用文件。

文件夹

boot

BIOS启动流程所需的文件。

EFI

UEFI启动流程所需的文件。

sources

Windowa安装文件所在位置,一般而言包含install.wim和预安装环境。

support

包含帮助信息以及系统工具。