系统安装部署系列教程(五):精简母盘和集成补丁

2023-11-02

所谓母盘就是我们平时说的官方原版镜像,在封装系统的过程中常常需要精简某些功能,有些功能在系统封装阶段是没办法彻底精简的。所以我们首先需要对官方镜像进行精简操作,以去除某些不需要的功能,减小镜像大小。精简母盘的工具有很多,Dism++、MSMG Toolkit、NTLite等,这里我用的是NTLite。

准备工作

首先下载NTLite,这是IT天空分享的版本。

镜像我是用的是MSDN我告诉你上下载的Win7 SP1 64位企业版镜像,为什么要用企业版呢?因为最近我了解了一下KMS激活方式,发现它是一种非常好的激活方式,如果安装的是批量授权(VL)版的系统,完全不需要从网上寻找可能带毒的激活工具,只需要两条命令即可激活,完完全全的官方激活方式,安全无风险。而企业版正是和旗舰版功能一样的批量激活版本。

精简Win7镜像

挂载映像

首先需要解压Win 7 ISO映像,对没有错,是解压,因为NTLite需要编辑映像,所以挂载映像那种只读方式是不可以的,必须将其解压为一个可读写的文件夹。

然后点击NTLite上的映像菜单的添加按钮,选择映像文件夹,然后找到刚刚解压的ISO镜像文件夹。

添加映像

然后应该就会列出映像的信息了,在Win 7企业版映像上点击右键选择加载,稍等几分钟,灰色的按钮就会变成绿色的,表示加载成功,同时会新增一些功能项。NTLite默认会将映像加载到C盘的临时文件夹,如果希望自己管理挂载文件夹,可以用Dism++等工具自行挂载,不过需要注意一点在NTLite工作的时候,需要关闭任何与挂载目录和文件相关的文件夹窗口和程序,避免占用,如有必要还需要关闭杀毒软件。

功能菜单

移除组件

很多组件都是不常用的,可以移除它们减小映像体积。在第一次使用映像移除功能的时候NTLite还会弹出警告,大家请仔细阅读警告内容,大意就是说移除组件是一个不可逆过程,而且如果移除关键组件还会导致系统无法运行。所以这里大家一定要格外小心,不要移除自己不清楚的东西而导致系统异常。

我是偏向于原版系统那方面的,精简太多会导致系统损坏导致整个流程需要重来,所以这里我倾向于尽量不改动系统原样。默认情况下组件都是打了对勾的,取消对勾即可移除组件。当然话是这么说的,但是我看了一下大部分组件占用空间并不多,所以这里其实我就什么也没干(尴尬)。

移除组件

系统功能设置

这一步可以调整系统的自带功能,相当于控制面板里面的启用或禁用Windows功能。企业版默认禁用了游戏,我把游戏重新启用,然后禁用了Media Center和DVD Maker,没有做其他改动。
功能设置

系统设置

这一步调整的是系统设置,这算是比较重要的一步了,因为系统默认设置确实有点不合理,默认安装完的桌面上甚至连我的电脑图标都没有。这里功能比较杂,所以我用截图来说明,大家如果有需求也可以自行修改一些选项。

可以看到我其实就是显示了一下桌面图标,显示了文件扩展名这些,我觉得系统更新算是比较重要的东西,所以就没有禁用。


启用和禁用服务

这里可以选择启用和禁用某些服务,有人喜欢把索引、防火墙和系统更新服务禁了,不过我不推荐这么做,保持系统原样最好。

禁用服务

集成补丁

点击左上的添加按钮,然后选择最新的在线更新补丁。
更新补丁

点击下载按钮即可将所选系统的补丁下载到本地。如果你用的是正版,补丁下载目录应该在软件安装目录下,你也可以在软件设置中修改补丁下载目录。下载完毕后点击加入队列按钮。
下载补丁

当然这里不提前集成补丁也可以。系统安装的时候也可以利用IT天空的系统补丁合集来安装补丁。

无人值守设置

系统安装的过程中需要输入用户名、计算机名等很多信息,利用无人值守特性可以自动完成这些,达到全自动话安装的目的。由于本篇教程以精简和修改母盘为主,所以就不详细介绍这里的功能了,大家看看图就好。

无人值守设置

第一次使用NTLite的时候我顺便尝试了一下无人应答功能,虽然挺不错但是由于我没设置好,导致做出来的镜像不知道用户名和密码。后面的封装教程所使用的IT天空的Easy Sysprep提供了更简单的无人应答功能。所以这里的功能大家看看就好,没必要学习如何使用。

后期任务

这是安装完毕的收尾阶段,可以用来做一些善后工作,比如说自动激活系统和清理临时文件。不过这里主要是利用NTLite的镜像修改功能,系统封装功能将在后面的教程中专门介绍。所以这里也看看就好。

后期任务

生成镜像

所有工作都做完了之后,点击左边的应用按钮,然后仔细看一看所有设置,看看有没有问题,确认无误之后点击开始。

开始任务

虚拟机安装测试

最后就可以得到一个系统镜像,由于包含了系统更新,所以系统镜像比官方镜像大了一些,约4.5G,属于正常现象。镜像最好在虚拟机里面安装测试一下,看看运行是否正常。如果仔细留意一下安装过程的话,会发现多了一项安装更新的项目。

虚拟机测试

如果虚拟机里面没什么问题,那么大概没啥大问题了,可以进行下一步的封装操作了。当然从虚拟机里也可以看到,刚刚所安装的更新以及前面的系统设置已经全部生效了。

虚拟机预览

精简Win10镜像

刚才用的例子是Win7,现在用Win10作为例子再来一次。这次用的镜像是新出来的Windows 10 64位1903商业版,同样是批量授权版本,目的就是为了激活方便。

Win10和Win7相比有很多优点,由于现在Win10每半年更新一次,不需要安装Win7那样大量补丁,同样Win10自带很多驱动,还可以通过Windows Update联网安装驱动。但是Win10自带了很多无用的UWP软件,而且Windows安全中心比起原来的Windows Defender更加强力,所以Win10相对于Win7来说更需要精简。

系统来源设置

由于是第二遍,所以这里我主要是上图,仅在需要的时候文字说明。首先是系统映像这里,Win10采用多个映像合一的方式,而对于Win10来说我们安装专业版就可以了,其他版本是无用的,可以精简掉。这里是商业版里面的映像,零售版里面的则是家庭版什么的。
Win映像

移除组件

组件移除这里的东西就多了,Metro应用这里可以安全删除,不影响系统组件稳定性,甚至你全不选也可以,不过这里我只移除了人脉、混合现实门户和3DViewer(没办法,这几个是真的一点用都没有)。

移除Metro应用

移除混合现实

HyperV可以移除,不过我想了想最后还是保留了,万一有人用到了呢?
移除HyperV

功能设置

功能设置这里可能有人会打开Windows沙盒,不过它利用了HyperV,无法和其他虚拟机软件共存。所以我觉得还是不要默认开启了,将选择权留给用户。
功能设置

系统设置这里Win10可设置选项比Win7多多了,大家自行设置就好,人脉什么的是真的一点用都没有,可以放心大胆的关闭。
系统设置
最后的预安装应用全都禁了。
关闭预安装应用

补丁集成

系统更新这里,其实前几天我用VHD安装1903的时候就发现了,虽然镜像放出来没多长时间,不过更新出来的也挺快的。既然用它来做系统,顺便就把补丁也集成了吧。
集成补丁

差点忘了说,NTLite所用的镜像文件夹仍然是有用的,它的所有改动都会保存到文件夹中。所以将来再次集成补丁和封装系统的时候就可以从这个镜像文件夹开始,不用从头再打一次漫长的补丁。

去除其他映像

最后这里,由于这个镜像附带了好几个版本的映像,而我们只需要一个,就可以选择裁剪其他版本。确认无误之后点击开始即可。
裁剪其他映像

虚拟机安装测试

虽然Win7的Aero效果很好看,但是说实话Win10看习惯了还是感觉Win10好看。
Win10安装

由于只精简了一些UWP应用,没对系统做什么精简,所以理所当然的正常启动了。当然由于去掉了其他几个版本的映像,所以系统大小还是减小了一部分。在下一篇封装教程中,我们就可以随心所欲的定制系统了。

Win10安装完成

看到最后大家可能对本文标题有点疑惑,你这不是应该介绍如何精简系统的吗?由于我也算是一个系统封装新手,对精简系统这方面经验不足,所以我是本着优先稳定性的原则来写文章的。如果大家对系统封装已经熟悉了,就可以自己尝试多精简一些东西,看看系统是否稳定,然后再决定该如何精简。好了,本篇文章就到这里了,希望对大家有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

系统安装部署系列教程(五):精简母盘和集成补丁 的相关文章

  • fprintf() 线程安全吗?

    我正在为野人就餐问题的某些变量编写一个 C 解决方案 现在 我创建线程 每个线程都将 FILE 获取到同一个调试文件 在线程内我正在使用 fprintf 进行一些打印 打印的语句不受任何类型的互斥锁等保护 我没有在调试文件中观察到任何交错行
  • 如何在子 shell 中运行 cmd.exe 批处理文件

    我有一个批处理文件 通常像这样调用 longjob cmd gt result txt 2 gt 1 这工作正常 但脚本在执行过程中更改了目录 将我的 shell 留在该目录中 这很麻烦 有没有办法在子 shell 中运行命令 同时仍然允许
  • 使用taskkill停止Windows服务

    我需要帮助来使用 C 终止 Windows 服务 现在要终止该服务 请使用以下选项 从命令 sc queryex ServiceName 发现后PID服务的 taskkill pid 1234 exemple f 为了便于阅读 但如果您明白
  • Windows 睡眠功能极慢

    我正在通过 Windows h 使用 Sleep 命令制作一个程序 并且在 Windows 10 而不是 Windows 7 上运行我的程序时遇到了令人沮丧的差异 我将我的程序简化为下面的程序 它与我的更复杂的程序表现出相同的行为 在 Wi
  • 提取证书中主题属性的所有值

    我目前正在使用CertGetNameString http msdn microsoft com en us library windows desktop aa376086 28v vs 85 29 aspx提取每个主题属性的值 如下所示
  • 批处理脚本 FOR 循环仅设置输出的第一个字母 wsl --list -q

    我正在编写一个批处理脚本 将文件从 Windows 目录复制到 WSL 发行版 其中一部分是选择将文件复制到哪个发行版 如果我使用命令wsl list q如果给我以下输出 Ubuntu 22 04 Ubuntu 18 04 我正在尝试使用此
  • 什么是WINVER?

    我正在查看一些代码 他们有这一行 define WINVER 0x0501 in stdafx h文件 为什么需要定义WINVER 它如何影响您的代码 有人可以解释一下吗 WINVER 确定构建应用程序所需的最低平台 SDK 这反过来又会在
  • 仅在单个端口 8080 上转发到本地主机(Windows)可能吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我知道如何在 Windows 上使用 xampp 设置本地网络服务器 我在主机文件 c windows system32 drivers etc ho
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 在高 dpi Windows 平台上自动重新缩放应用程序?

    我正在编写一个需要在高 dpi Windows 192dpi 而不是 96dpi 上运行的 Qt 应用程序 不幸的是 Qt 框架尚不支持高 dpi 至少在 Windows 上 因此我的应用程序及其所有元素看起来只有应有尺寸的一半 有没有办法
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • Windows 上的 ffmpeg-android ndk

    我正在尝试编译 bash 文件 带有 android ndk 的 ffmpeg 我收到如下错误 arm linux androideabi gcc 无法创建可执行文件 C 编译器测试失败 Makefile 2 config mak 没有这样
  • Visual C++ 找不到“Windows 类型”,如 PVOID、DWORD、ULONG 等

    Windows 似乎无法找到任何这些类型 我完全不知道该怎么办 我在 MSDN 上找到的东西似乎表明它们是默认包含的 但它们在 Native 程序或 CLR 程序中不起作用 我收到的具体错误是
  • 如何在 Windows 下向 .sh 脚本传递参数?

    我正在尝试在 Windows 下执行 sh 脚本 我安装了 Git 它允许我执行 sh 文件 但是 如果不使用 sh 作为执行前缀 我似乎无法传递任何参数 我的 sh 文件 echo Test 1 如果我用以下命令执行它 gt sh tes
  • 如何为 Windows 构建静态 Qt 库并将其与 Qt Creator 一起使用

    我已经下载了以下 Qt 源 http download qt nokia com qt source qt everywhere opensource src 4 7 3 zip http download qt nokia com qt
  • 如何在Windows服务器上将node.js文件作为后台进程运行?

    我正在创建一个 node js 项目并将其上传到我的 Windows 服务器 以为移动应用程序提供 API 服务 当我打开命令提示符并键入 node app js 它运行正常 但是当我关闭命令提示符时 我的 Node js 服务器停止运行
  • 通过 PowerShell 运行 .cmd 文件

    我正在尝试使用 PowerShell 在远程服务器上运行 cmd 文件 在我的 ps1 脚本中我尝试过 C MyDirectory MyCommand cmd 它会导致此错误 C MyDirectory MyCommand cmd is n
  • 在 Windows 上查找父进程 ID

    Problem 给定远程 Windows 主机上的进程 ID 和命令行访问权限 如何找到其父进程的 PID Solution 鉴于 Marc B 的回答 我们可以使用 WMIC 命令示例here https learn microsoft
  • 批处理脚本 - IF EXIST 复制到 %localappdata% 错误

    我似乎被批处理脚本困住了 需要一些帮助 基本上我需要检查文件是否存在于文件夹中 localappdata 如果确实如此 则覆盖该文件 如果没有放置在不同的位置 那么目前它的内容如下 IF EXIST localappdata foldern

随机推荐

  • 一文彻底讲清Linux tty子系统架构及编程实例

    摘要 本文详细解读了linux系统下的tty子系统的深层次原理和架构 并参考了LDD3中的代码实例讲述了无硬件下实现一个简单的tty设备驱动模块的编写 对了解tty子系统及下部串口驱动模块的学习有较好的参考价值 1 tty设备简介 tty一
  • 抖音广告IOS/Android接入笔记:

    一 抖音广告接入 Android接入 注意 内容输出对接中已包含广告对接 建议使用广告4 6 0 7版本 如使用其他广告版本建议做好自测 2600及以上版本 需要使用如下Maven命令 火山引擎maven仓库地址 maven url htt
  • 红帽系统服务器格式化,Redhat Linux默认的文件系统是什么格式?

    满意答案 现在Redhat Linux默认的文件系统格式是ext4 可以通过如下多种方法查询文件系统类型 1 mount mount dev sda1 on type ext4 rw errors remount ro user xattr
  • 第五周总结

    已知字符串 this is a test of java 按要求执行以下操作 统计该字符串中字母s出现的次数 统计该字符串中子串 is 出现的次数 统计该字符串中单词 is 出现的次数 实现该字符串的倒序输出 public class da
  • MySQL之常见的CRUD面试题【下】

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于MySQL数据库的相关操作吧 目录 Welcome Huihui s Code World 导读 一 MySQL常见的内置函数 1 字符串函数 2 数值函数
  • 测绘地理信息标准规范汇总下载

    经常 我们要下载一些相关的规范来指导作业 每次都在网上找 这里一次性全部整理好 欢迎大家来下载 打包下载 链接 百度网盘地址 分页下载 一 国家测绘局制定的测绘地理信息国家标准 专题地图信息分类与代码 GBT 18317 2001 被GBT
  • 4-C语言-冒泡排序以及数组名的使用

    问题 给数组进行从小到大的升序排序 思想 一般给冒泡排序 进行封装 写成一个函数 这就需要让数组传进去 而传数组 实际传的数组的首元素的地址 因此如果在冒泡内部 进行数组数据个数的计算 用sizeof a sizeof a 0 实际上为1
  • Braft--工作日记

    建议在阅读本笔记之前先观看此网址的动画Raft 分布式共识算法动画演示 首先bRaft是实现分布式共识的协议 一个节点可以处于三种状态 Follower跟随者状态 Candidate候选者状态 Leader领导者状态 而所有的节点都以跟随者
  • 计算机毕业设计SSM大型零售电商平台——购物车管理子系统【附源码数据库】

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • softmax函数的定义及求导

    本文中 x0 x1 xm x 0 x 1 x m 代表一个向量 也就是一个 m m行1列的矩阵 在监督式的深度学习中 输入通常是一个向量 用xx表示 输出 y y则可以分为多种情况 标量 yy表示输入 x x属于某一类别的概率 向量 此时输
  • AutoDev 1.1.3 登场,个性化 AI 辅助:私有化大模型、自主设计 prompt、定义独特规则...

    在过去的半个月里 我们为开源辅助编程工具 AutoDev 添加了更强大的自定义能力 现在你可以 使用自己部署的开源大模型 自己配置 Intellij IDEA 中的行为 自定义开发过程中的规范 当然了 如果您自身拥有开发能力的话 建议您自己
  • 绕过身份检测,破解Android SU

    http www 61ic com Mobile Android 201207 43661 html 由于Android底层是Linux内核 故了解了Linux的权限管理后就可以知道ROOT的原理 具体可以访问 Android系统权限和ro
  • js基础-语句

    语句 表达式在JavaScript中是短语 而语句 statement 就是JavaScript整句或命令 JavaScript语句是以分号结束 默认情况下 JavaScript解释器依照语句的编写顺序依次执行 1 表达式语句 1 复合语句
  • linux服务器部署docker版nginx(nginx容器化)

    为了服务器安全 nginx端口不直接暴漏在外 现在服务器使用了docker版nginx 记录下使用步骤 docker安装就不再叙述 之前有写 分为2种适用于服务器能上网和不能上网的情况 这里写的一个sh文件和dockerfile文件 用于d
  • 最强大的布局——约束布局(ConstraintLayout)的一些技巧

    一 使用viewBinding 1 想开启那个模块的viewBinding就进入对应模块的build gradle 2 进入app的build gradle 开启viewbinding viewBinding enabled true 3
  • 基于HAL库stm32f1的DS18B20温度传感器

    由于做比赛 所以写了温度传感器 记录一下 一 介绍 DS18B20是常用的数字温度传感器 其输出的是数字信号 具有体积小 硬件开销低 抗干扰能力强 精度高的特点 1 DS18B20数字温度传感器接线方便 封装成后可应用于多种场合 如管道式
  • 让AI来告诉你什么叫幽灵堵车

    使用环境参考 CocosCreator v3 7 2 ChatGPT 正文 什么是幽灵堵车 堵车 大家都不陌生 堵车时我就思维发散 用 CocosCreator 模拟下堵车应该挺好玩 网上总说高速上最前面如果有个龟速的车 后面能堵车堵个两三
  • OpenCV仪表数据识别(二):数字区域自动定位

    下载和配置Opencv在网上和书上有很多的讲解 这里不再赘述 此处附上Opencv的下载链接 想要对图片中的数字信息进行识别首先要对图片进行预处理 排除干扰的因素 只留下有价值的信息 这里需要两张图 一张为有数据的图片 一张为仪表关闭时没有
  • 无线传感网课后习题(书本名称无线传感器网络基础 : 理论和实践 : Fundamentals of wireless sensor networks : theory and practice)二

    7 4 Describe a WSN application for each of the following categories time driven eventdriven and query driven 译 为以下每一种类型描
  • 系统安装部署系列教程(五):精简母盘和集成补丁

    所谓母盘就是我们平时说的官方原版镜像 在封装系统的过程中常常需要精简某些功能 有些功能在系统封装阶段是没办法彻底精简的 所以我们首先需要对官方镜像进行精简操作 以去除某些不需要的功能 减小镜像大小 精简母盘的工具有很多 Dism MSMG