Windows补丁的整合

打补丁是很重要的工作,微软几乎每个月都会发布一些补丁程序,如果不及时打补丁,那么利用相应漏洞编写的病毒或者蠕虫爆发后都会造成严重的后果,在前两年我们已经得到多次教训了。然而这是很麻烦的事情,因为补丁程序实在是太多了。昨天我重装了Windows XPOffice 2003,包括WindowsOfficeSP2在内,我需要下载的补丁程序容量竟然接近400 MB,这导致无论是对网络带宽还是时间的浪费都是很明显的。所以我们可以将补丁程序整合到Windows安装文件中,避免每次重装系统都需要重新下载并浪费时间安装。

准备工作

在继续之前,你应该准备好这些东西:

 

Windows XP安装文件:专业版或者家庭版都可以,按照你的实际需要选择就可以了

Service Pack 2完整安装文件:这里需要的不是那个不到1 MB的网络安装文件,而是将近300 MB的完整安装文件。简体中文版可以在这里下载到

其它Hotfix补丁:关于什么是Hotfix补丁,以及怎样获得Hotfix补丁的问题,我们会在稍后介绍。

足够的硬盘空间:包括以后要进行的其它操作,10 GB左右就够了

安装文件的准备

首先将Windows XP安装光盘放入光驱,为了避免光盘自动运行,可以在关闭光驱之前按下键盘上的Shift键,等到光驱上的指示灯熄灭后即可松开。

 

打开“我的电脑”,在你的光驱图标上点击鼠标右键,选择“打开”。选中光盘根目录下的所有文件,点击鼠标右键,选择“复制”。

 

用资源管理器打开拥有足够可用空间的硬盘分区(本文将会使用C盘),新建一个文件夹(名称任意,不过本文使用xpcd),然后将之前复制的所有文件粘贴到这里。

 

下面我们需要将补丁程序整合进去了。这是一个相当冗繁的过程,不过没办法,这也是非常必要的。你可能会想,完整的Windows XP安装文件的体积在600 MB左右,光一个SP2就已经将近300 MB了,再加上SP2之后的Hotfix补丁,难道光Windows就要占用将近1 GB空间了吗?这样对于CD刻录机用户岂不是很麻烦。

 

其实问题远非我们想象的。我们都知道,操作系统的每个漏洞严格说来就是组成操作系统的某些系统文件产生的漏洞,因此每个补丁程序的主要作用就是用新版本的,没有漏洞的系统文件替换老版本,有漏洞的系统文件。因此将补丁程序整合之后,这些补丁文件会替换系统中原来的老版本文件,基本上不会造成体积上的变化。因此将近300 MBSP2整合到Windows XP的安装文件后,文件总体积的变化仅在60 MB左右,这还有一个主要原因,Windows XPSP2中新增了很多功能,如果没有这些新功能(例如Windows 2000SP4,仅仅是以前Hotfix的集合,没有增加太多新功能),那么体积的变化将会很不明显。不过这里需要注意,不会导致安装文件体积大幅度增大的仅仅是Service Pack,对于Hotfix补丁,因为严格说来并不是整合,只是放在一起,在安装过程中自动安装,因此这部分补丁将会占用相当于补丁安装文件大小的空间。

 

好了,开始整合补丁吧。

Service Pack的整合

Service Pack是相当重要的补丁,通常都可以解决上百个不同的漏洞,因此推荐安装。下载好Windows XPSP2完整版安装文件后,将其保存在C盘的根目录下,然后打开运行对话框,运行下列命令(图1):

 

c:/xpsp2.exe -s:c:/xpcd

 

命令解释:

上面的命令中,“xpsp2.exe”就是SP2安装文件的名称,当然,这里为了版面的美观,使用了一个简化的名字,你下载回来的文件肯定不会是这个名称,不过可以自己修改。“-s”参数可以指定这是一次整合,而非安装过程,同时要在该参数后面指定整合的目标文件夹,也就是“c:/xpcd”。如果想要知道这里可以使用的其它参数,那么可以运行“xpsp2.exe /?”命令查看。

 

 

 

随后我们将可以看到图2和图3所示的界面。稍等片刻即可完整补丁的整合工作。

 

 

 

 

Hotfix的获取和集成

除了Service Pack,我们见过最多的还有Hotfix补丁。和Service Pack一次解决上百个漏洞不同,Hotfix补丁通常一个只能解决一个漏洞(实际上Service Pack可以理解为Hotfix补丁的组合)。

 

怎样才能获得操作系统所需的所有Hotfix补丁?方法有很多,但是这里只介绍一个最可靠,最保险的。

 

首先使用一台干净安装,不包含其它程序和补丁的Windows XP系统访问Windows Update网站(该系统中需要安装SP2,因为我们前面已经将SP2整合到了Windows中,因此这里也必须在SP2的基础上获取更新。要知道,有些比较老的Hotfix补丁在安装了最新的Service Pack之后就不必安装了),搜索更新,注意代表每个关键更新的六位数的知识库编号,例如“329441: Security Update for Microsoft Windows”。当你记下所有关键更新的编号后,使用浏览器访问 http://support.microsoft.com/kb/xxxxxx ,并把xxxxxx用实际编号替代。然后从知识库文章中提供的链接上下载更新程序,对每一个补丁重复这样的操作。

 

Hotfix补丁的集成有多种方法,不过下面我们会介绍历史最悠久、适用范围最广的方法。

 

因为实际环境的不同,因此每个人搜索和下载到的更新数量可能是不同的。当你将所有补丁都下载回来之后,在C:/XPCD/i386下新建一个名为“SVCPACK”的文件夹,并将所有下载回来的补丁程序都复制进去。

 

接下来需要对这些补丁重命名。微软为了能让补丁的名称更明了,往往会使用很长的名字,例如知识库编号为819696的补丁程序,针对简体中文版32Windows XP版本的名称就是Q819696_WXP_SP2_x86_CHS.exe,通过这个名称我们立刻就可以知道该补丁适用的操作系统、语种,以及编号等信息。然而这么长的文件在安装过程中可能会遇到问题。因此我们需要将补丁程序的名称改为最保守的8.3格式(即,主文件名8个字符长度,扩展名3个字符长度),那么这个补丁就可以改名为Q819696.exe。将所有补丁程序都进行类似的改名。

 

接着打开Windows自带的记事本,复制进去下列内容:

 

[Version]

Signature="$Windows NT$"

MajorVersion=5

MinorVersion=1

BuildNumber=2600

 

[SetupData]

CatalogSubDir="/i386/SVCPACK"

 

[ProductCatalogsToInstall]

 

[SetupHotfixesToRun]

Q330994.exe /Q:A /R:N

Q819696.exe /Q /O /N /Z

KB824146.exe /Q /O /N /Z

qchain.exe

 

命令解释:

上面的命令中,“[Version]”字段下的内容描述了操作系统的版本。例如Windows XP SP2的版本是5.1.2600,那么MajorVersionMinorVersionBuildNumber三个项目的数值就分别为512600。如果你使用的是Windows 2000或者Windows Server 2003,那么需要使用相应的版本号来替换。Windows 2000 SP4的版本号是5.0.2195Windows Server 2003 SP1的版本号是5.2.3790

[SetupData]”字段指定了补丁程序安装文件的保存位置,建议这里不要更改。

[SetupHotfixesToRun] ”字段下列举了所有需要安装的补丁名称以及相应的静默安装参数,你需要按照实际情况将下载回来的补丁程序都列举在这里,并添加相应的静默安装参数。最后的一个qchain.exe虽然并不是补丁文件,但也是必须的。

 

为什么要使用qchain.exe

我们知道,补丁程序的主要作用就是用新版本的系统文件替换老版本有漏洞的同一个系统文件,那么可以假设这样的情况:系统中有一个文件system.dll,在原始系统中该文件的版本是1.0,有漏洞。同时我们要安装两个补丁,第一个补丁将会把system.dll文件的版本升级到1.1,但是第二个补丁会把该文件的版本升级到2.0。在我们同时安装的多个补丁中,没有注意补丁的安装顺序,把第二个补丁放在第一个补丁之前执行了,那么可想而知,最终的系统中留下的该文件的版本将会是1.1,而不是最新的2.0。为了避免这个问题,我们可以在批处理文件中的最末尾应用一下qchain.exe,该程序可以判断每个系统文件需要保留的最新版本是哪个,并帮我们自动调整。该文件可以在这里下载 ,同样需要放在SVCPACK目录下(注意,下载回来的是一个自解压文件,需要运行才能释放出真正的qchain.exe)。

 

将该文件以“svcpack.inf”为名保存在I386目录下。保存的时候需要注意,在记事本的保存对话框中,首先要在“文件类型”下拉菜单中选择“所有文件”,然后输入完整的文件名。注意这里不能将文件保存为“svcpack.inf.txt”。然后,删除I386文件夹中的svcpack.in_文件。

 

接着使用记事本打开I386目录下的DOSNET.inf文件,向其中添加下列内容:

 

[OptionalSrcDirs]

SVCPACK

 

这两行内容可以告诉安装程序要到哪里去找补丁程序。

Hotfix的参数判断

前面我们已经说过,在svcpack.inf文件中,我们需要列出所有要安装的Hotfix补丁的名称以及静默安装参数。不过怎么知道每个补丁程序需要使用怎样的静默安装参数呢?简单来说,因为发布时间的不同,大部分我们接触到的补丁程序有两种样子,分别如图4和图5所示。其中类似图4的补丁需要使用“/Q /O /N /Z”参数;

 

 

 

而类似图5的补丁则需要使用“/Q:A /R:N”参数。

 

 

 

除了这些参数,大部分补丁程序还可以应用下列参数:

 

/U 无人值守模式,使用这种方式安装的时候不需要任何用户参与,但是你可以看到处理进程栏窗口。

/Q 静默模式,这个参数的作用和/U一样,但是不显示任何进程栏窗口。不必联合使用/Q/U参数。

/O 不提示直接覆盖OEM文件,最近很多论坛上用户通过测试发现用这个参数可以很明显地加快Hotfix的安装速度,基本上每个Hotfix补丁可以节省一分钟左右的时间。这是因为每个Hotfix补丁在安装的时候都需要花费一定的时间搜索“第三方驱动”,每一个补丁安装的时候都需要搜索一次,使用/O就可以跳过搜索。这个参数要小心使用,因为这样可能会覆盖你安装的某些驱动程序,因为有可能带来麻烦。

/N 不备份要删除的文件,使用这个参数就可以不用创建老版本系统文件的备份,因此在添加/删除程序列表中也就不会出现使用了这个参数安装的补丁项目了。

/Z 安装结束后不重启动计算机。

 

基本上,Windows的补丁程序整合就是这些内容了。本期中,我们已经学会了怎样向Windows的安装文件中整合Service Pack和集成Hotfix补丁,使用通过这种方法处理过的光盘将会在安装过程中自动安装系统所需的所有补丁程序,免除了手工下载的麻烦。


 
这是个win7更新补丁安装包、Win7累积更新离线安装包和win7补丁合集,它包括所有关键更新和安全更新及InternetExplorer所有版本的更新,此外还集成了NVMe驱动和USB3.0驱动,使用它还可以将累积更新封装到系统内(Install.wim映像文件里),win7补丁合集2019-2020支持Windows7 SP1和WindowsServer 2008 R2 SP1操作系统所有多国语言版,目前补丁版本更新到2021年8月份,此外,这个win7补丁合集更新安装包内置的命令行参数也很强大 微软win7补丁V2021.08.11合集相关参数: /NVMe(集成NVMe驱动) /S (静默安装,不更改IE版本,不重启) /Silent(自动安装,界面显示安装进度) /NoUSB(取消集成USB 3.0驱动,测试发现一些PC集成此驱动出现蓝屏) /Temp(指定释放路径到临时文件夹) /IE11(更新安装Internet Explorer 11) /NoSpace(跳过检查系统分区的剩余空间,不建议添加) /Reboot(如果某个补丁需要重启系统,则安装完成后自动重启系统) /FixOn(禁用Spectre and Meltdown安全漏洞。Windows 7默认禁用,Server 2008则启用)如果要将累积更新补丁包集成到系统映像内 ,可以使用以下参数: 提取Win7原版映像内的install.wim,然后加上相应的参数即可; /WimFile(指定WIM映像文件的位置,如D:intall.wim.) /Optimize(集成所有更新补丁后优化WIM映像文件的大小) /Optimize=esd(集成所有更新补丁后WIM映像文件转换为EST) /Index=(WIM映像文件分卷索引,如包含四个分卷全部集成到旗舰版,则参数为 /Index=4) /Index=*(将所有更新补丁的集成到WIM映像文件的分卷中,可以指定先后顺序,逗号隔开)如果要集成.NET Framework,Visual C ++,DirectX //自动安装所有更新+更新至IE11+重启系统: UpdatePack7R2.exe /ie11 /silent /reboot//静默安装所有更新+不更新IE+不重启系统: UpdatePack7R2.exe /S//将所有更新补丁+更新至IE11+添加到Win7系统后显示4个映像+优化系统体积: 添加了KB4538483-v1.2-x86-x64(代替KB4538483-x86-x64) 添加了KB4552940-x86-x64(代替KB4532945-x86-x64) 添加了KB4555449-x86-x64(代替KB4550738-x86-x64) 添加了具有禁用遥测和处理器验证功能的KB4556836-x86-x64(取代了KB4550964-x86-x64) 2020年5月类似于KB931125和KB2917500的证书续订 以下更新不相关且已删除:KB2716513-x86-x64,KB2884256-x86-x64,KB2920188-v7-x64,KB3000483-x86-x64,KB3020393-x86-x64,KB3140245-x86-x64,KB4054998-x86-x64 以下更新将仅集成到恢复环境中:KB2990941-v3-x86-x64,KB3087873-v2-x86-x64(支持NVMe)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值