公告:本站正在遭受网络攻击,访问速度可能严重下降甚至无法访问。

Windows安装程序

来自BetaWorld 百科
Kud留言 | 贡献2024年2月6日 (二) 16:35的版本 (first commit)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

Windows 安装程序为执行Windows安装程序中执行的程序的总称,根据版本的不同,执行的操作包括但不限于:对磁盘驱动器分区和分区格式化、复制操作系统文件、配置安装的系统等。

作为用户第一次感受到Windows的便利性的地方,Windows的安装程序常常被人津津乐道。其向导化的安装方式和相对友好的界面让即使是完全的电脑小白也不需要过于知晓电脑内部的安装方式即可安装Windows操作系统。

Windows 3.x之前的安装程序

在Windows 1.0中只存在一个非常基本的安装程序,只能根据选择的安装到的磁盘分区和基本的硬件配置后复制文件。而Windows 2.x中安装程序支持自定义配置文件并可以加载第三方驱动文件,但是仍未支持升级系统。

此外因为各家兼容机具体的实现不一致,可能不会采用微软官方的安装程序。

Windows 1.0 Development Release #5的安装程序
Windows 2.03的安装程序

Windows 3.x之后的安装程序

而随着Windows系统的复杂度逐步上升,安装所需要执行的操作越来越多,自Windows 3.x之后的安装程序一般分为两个阶段,以第一次重启/进入系统为阶段分界。一般来说安装程序的第一阶段负责复制文件,第二阶段阶段负责系统的具体安装操作和配置。

在Windows 9x之后的存在的OOBE(开箱即用)不在本条目讨论范围内。

第一阶段

Windows 3.x

Windows 3.2安装程序第一阶段

在Windows 3.x中,当在Dos中运行setup后,首先会显示一个蓝色底色的文本安装界面界面(在部分平台可能是黑色底色),负责配置系统驱动并安装最小化系统,并进入最小化系统内执行的安装向导程序完成系统完整安装和具体配置。因此该阶段俗称为“蓝屏安装”阶段。

此外,在MS-DOS后期也有类似的蓝屏文本安装界面安装程序,但是该程序可以进行磁盘分区和格式化,并执行完整系统安装操作。

Windows Vista之前的基于Windows NT内核的操作系统

Windows 2000的第一阶段安装程序

在Windows Vista之前的基于Windows NT内核的操作系统中,若使用安装光盘或者启动软盘进入安装程序后,首先会进入一个跟Windows 3.x安装类似的蓝色底色的文本安装界面界面(在部分平台可能是黑色底色),在该界面中完成磁盘控制器挂载,磁盘分区和格式化及复制最小化系统。随后重启进入最小化系统内执行的安装向导程序完成系统完整安装和具体配置。

和Windows 3.x不同的是,该安装阶段已经完全本地化,且该安装阶段并不基于DOS。而是基于Windows NT内核的Native运行时。在该运行时内,只运行起来基本的Windows NT内核程序。此阶段只有最基本的16色的图形支持,并只能执行特定API。在进入安装程序前,启动的NT内核(ntkrnlmp.exe)会完成硬件识别,驱动程序加载步骤。随后启动一个特殊的smss.exe(会话管理子系统)用于加载安装介质内的安装程序。所以该阶段不能脱离安装介质运行。

在Windows XP升级过程中,执行完Windows内复制步骤后进入的Windows徽标启动(不含有XP)和16色安装程序界面也是第一阶段的安装程序,只不过调用的smss.exe做了一个假的图形化安装界面用于遮蔽蓝屏安装并展示进度。

此外,在安装盘内仍然存在可以在DOS运行的安装程序(一般为winnt.exe)用于第一阶段安装。界面同样为蓝色底色的文本安装界面界面,也能进行磁盘分区和格式化操作,但没有本地化支持。此外会把完整安装文件复制到系统磁盘内,随后重启进入正式的安装程序(即前文提到的基于NT Native运行时的第一阶段安装)进行安装最小化系统的操作。


Windows 9x

Windows 98 RTM的第一阶段安装程序

在DOS内运行setup后,如果一切顺利会进入一个Windows 3.x风格的安装向导,在安装向导中进行基本的系统安装配置和复制文件操作。随后重启进入系统内完成驱动安装等剩余步骤。

在Windows 98/Me之中,安装程序被扩展为全屏。显示包括安装阶段和预计完成时间等信息。复制文件时进度条位于预计时间下方。右方显示产品介绍信息。

该阶段其实是在一个最小化的Windows 3.1内执行的,这个最小化的Windows 3.1一般被称作SUWIN。(因为该最小化系统进入时实际上执行的文件是SUWIN.exe)

该最小化的Windows 3.1位于Windows 9x安装文件的MINI.CAB内,运行的程序仍为安装文件内的SETUP.exe。所以你仍可通过在Windows 3.x和9x内执行SETUP.exe来进入第一阶段的安装程序。(如果在安装了256位色或者真彩色的显示驱动程序的系统上执行SETUP,产品介绍信息下方还会显示产品特性对应的图片)

但Windows 9x部分版本的安装过程中仍存在蓝屏文本安装界面界面的安装阶段用于分区和格式化,复制安装文件到磁盘上等操作。

Windows Vista之后

Windows Server 2012的第一阶段安装程序

在Windows Vista中,微软大幅更改了安装程序以更加的适应现代计算机。在之前的安装程序中,系统文件用CAB文件的形式进行压缩,并采用.inf对安装程序进行配置。并存在文本安装界面用于磁盘分区,最小化系统环境配置等操作。而Vista及之后的Windows镜像使用预打包的WIM文件格式(Windows Image)的形式储存整个文件系统。并通过使用在Windows XP中引入的Windows PE(Windows预安装环境)作为安装程序第一阶段运行的环境,这使得大部分系统安装操作在第一阶段即可完成,并使得Windows安装程序彻底告别文本安装界面,从而全图形化。

在第一阶段时,安装介质启动时BCD会将介质内的boot.wim读取进内存后从内存启动Windows PE并启动安装程序。在第一屏可以选择对应的键盘布局和输入法。随后进入正式安装程序,在Windows 11 Build 26040之前,安装程序一般为全屏显示,下方显示具体安装阶段及安装总进度。安装向导将完成磁盘控制器驱动识别(假设boot.wim内没有包含对应的磁盘控制器驱动),分区及格式化,产品认证和选择版本等步骤。随后释放Windows文件系统到所选定的分区内,安装并配置引导,随后重启计算机进入第二阶段的配置中。

尽管Windows Vista才引入的WIM格式的安装镜像,但是在FLP及WePOS中,仍然使用了WIM用于存储系统镜像,并使用Windows PE运行的安装程序进行磁盘分区和释放镜像等操作。

在Windows 8之后,安装程序从ImageX改用DISM作为镜像释放的后端,在Windows 8.1之后增加对于ESD格式预打包安装程序的支持。

在Windows 11 Build 26040中,原有的安装程序被改为使用Modern Setup Host为后端的新版安装程序(尽管Modern Setup Host在Windows 10中就被引入作为Windows下的安装程序),但仍然可以切换回原有的安装程序。

第二阶段

通常情况下,第二阶段安装为图形化界面,一般运行在最小化系统运行时上。在这个过程中会进行更详细的安装配置(包括但不限于日期和时间,用户配置,网络配置,组件选择,产品认证等操作),并根据配置复制完整系统文件,安装组件等操作。

一般第二阶段结束之后Windows实际就已经安装完成了,随后进入正常的系统界面或者OOBE(开箱即用)界面完成用户端的配置。

Windows 3.x

Windows 3.1的第二阶段安装程序

在第一阶段完成后,系统将进入最小化系统运行安装程序,此时安装程序背景为蓝黑渐变,并在这过程中要求用户输入用户名和公司名称,选择安装的Windows组件,安装打印机驱动,发现磁盘上的DOS程序并配置PIF。如果是Windows for Workgroups系列的系统,系统还会进行对应的网络配置过程。

Windows 9x

Windows Me的第二阶段安装程序

Windows 9.x的第一阶段和第二阶段执行的文件都是安装介质内的SETUP.EXE。只不过通过配置文件的不同去执行对应的操作。在第一阶段结束后,计算机重启后进入最小化的Windows系统运行安装程序完成安装驱动程序,设置设备和完成如日期时间、时区等系统配置后重启进入正常系统。

从Windows 9x开始,系统安装向导将向用户索取认证安装的凭证(即产品密钥、CD-Key或COA密钥),否则无法继续安装进程。一般来说此过程都在第一阶段中要求提供,但是在OEM版本中,此过程在第一阶段重启后,进入系统但启动第二阶段安装程序前进行。此外9x的在第二阶段进行的驱动查找和安装过程收到机能限制,通常需要多次重启和较长时间进行,并且在此过程中会无提示卡死,成为当时用户的一大困扰。

Windows Vista之前的基于Windows NT内核的操作系统

Windows XP的第二阶段安装程序

在Windows NT 4.0之前,Windows NT的第二阶段类似于Windows 3.1的安装程序,但是没有额外发现磁盘上DOS程序的功能。

在Windows NT 4.0中,Windows NT的第二阶段使用了类似Windows 95的第二阶段安装向导形式。

而Windows 2000中,Windows 2000的第二阶段的安装向导采用Wizzard 97风格的设计,并在其中使用进度条或者阶段显示器来展示安装进度。在Windows XP中,仍可通过更改安装配置文件,将安装程序转换为Windows 2000的风格。此外可以通过winnt.sif配置安装运行时特定阶段内执行第三方程序用于进行额外配置操作(如安装第三方程序和补丁)。

与之前基于Windows NT内核的Windows操作系统不同的是,Windows XP的第二阶段将安装程序扩展为类似Windows 98/Me的全屏安装界面,包括安装阶段显示,预计时间等元素。并将进度条移至左侧预计时间下方显示。右方大部分区域为产品介绍文本,最下方为安装动画,让用户可以判断安装过程中是否死机。如果未通过winnt.sif/unattend.txt提前加载安装配置,安装程序会在特定的阶段弹出对应的安装向导用于收集安装配置信息。

Windows Vista之后

在Windows Vista大幅度更改了安装程序之后,大部分原本需要在第二阶段内完成的工作都不需要进行了。此时第二阶段跟经过SysPrep处理后的系统一样,只负责重新注册组件,初始化用户会话等操作。所花费的时间更短。经过短暂的操作后系统将自动重启进入OOBE完成用户配置、网络配置等操作。此外,跟前面的系统一样,可以通过应答文件(即unattend.xml)对第二阶段及OOBE进行自动化处理并在特定时机执行第三方程序。

如果第一阶段使用Windows安装程序进行安装,第二阶段将会被Windows安装程序覆盖,并在安装程序内显示进度(如果没有使用安装程序执行,将为黑色背景的动画)。在Windows 10之后此特性被删除,改为在Windows徽标下显示当前执行进度。

First Boot Agent(FBA)

First Boot Agent(简称FBA,下同)为存在于Windows XP的嵌入式版本(包括WePos及FLP等基于嵌入式Windows XP的系统)内的独有特性,他包括了一部分原第一阶段的功能和第二阶段的功能。在嵌入式版本的系统第一次启动时,进入最小化的系统环境执行FBA,FBA执行过程中只会显示一个进度条窗口用于展示进度。

在FBA阶段内,它将自动安装系统组件、驱动程序,并完成其余的系统安装操作。与Windows XP的第二阶段不同的是,FBA过程中系统可能会重启数次以完成操作。跟Windows XP的第二阶段一样,中断FBA过程后会让系统无法继续运行,需要重新安装系统。

FBA过程