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

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(使用前将#替换为@)

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

  • 为什么tcl/tkinter只支持BMP字符?

    我正在尝试在基于 tkinter 和 tcl 构建的 gui 中查询和显示 utf 8 编码字符 但是 我发现 tkinter 无法显示 4 字节字符 即大于 U FFFF 的 unicode 代码点 为什么会这样呢 实现非 BMP 字符对
  • 如何使用Windows批处理命令删除“无扩展名的文件”的所有内容

    我想删除以 FIlE 为扩展名的文件的内容 即没有扩展名 我知道如何删除文本文件的内容 但不知道如何删除以 文件 为扩展名的文件 我会感谢你的努力 提前致谢 Use Del 在批处理文件中删除没有扩展名的文件 use Dir A D 列出所
  • 如何将CString转换为整数和浮点数? [复制]

    这个问题在这里已经有答案了 我正在尝试转换CStringint 和 float 但无法找到任何 C 库函数来完成此操作 请帮忙 正确的UNICODE 符合规定的方式MFC如下 CString sInt T 10 int n ttoi sIn
  • 获取已创建进程的进程句柄 Windows

    我需要获取运行程序时刚刚创建的所有进程的句柄或 PID 到目前为止 我已经使用了这段代码 每次创建进程时都会告诉我 问题是我只获取有关创建的进程的信息 但没有有关进程本身的任何信息 https msdn microsoft com en u
  • 为什么我们从 MultiByte 转换为 WideChar?

    我习惯于处理 ASCII 字符串 但现在使用 UNICODE 我对一些术语感到非常困惑 什么是多字节字符以及什么是widechar有什么不同 多字节是指在内存中包含多个字节的字符吗 widechar只是一个数据类型来表示吗 为什么我们要从M
  • 如何在 NERDTree 中显示隐藏文件(以句点开头)?

    我怎样才能使NERDTree https github com scrooloose nerdtree显示以 a 开头的文件 时期 我有一个名为 hgignore在项目目录中 如果我使用 NERDTree 浏览到该目录 该文件不会显示在树中
  • 如何让 git 和 copSSH 在正确的目录中查找密钥?

    我刚刚安装了 Windows 版 copSSH 当我启动它时 我得到一个目录C copSSH home Nick ssh其中有我的酒吧和私钥 当我通过 Cygwin bash 窗口访问此目录时 使用 ssh 用户 主机 我很高兴地登录了 但
  • 在OpenCV中将YUV转换为BGR或RGB

    我有一个电视采集卡 其输入内容为 YUV 格式 我在这里看到了与此问题类似的其他帖子 并尝试尝试所述的所有可能的方法 但它们都没有提供清晰的图像 目前最好的结果是 OpenCVcvCvtColor scr dst CV YUV2BGR 函数
  • 如何在 C++ 中急于提交分配的内存?

    总体情况 带宽 CPU 使用率和 GPU 使用率都极其密集的应用程序需要每秒从一个 GPU 向另一个 GPU 传输约 10 15GB 的数据 它使用 DX11 API 来访问 GPU 因此上传到 GPU 只能在每次上传都需要映射的缓冲区中进
  • 嵌入清单文件以要求具有 mingw32 的管理员执行级别

    我正在 ubuntu 下使用 i586 mingw32msvc 交叉编译应用程序 我很难理解如何嵌入清单文件以要求 mingw32 具有管理员执行级别 对于我的例子 我使用了这个hello c int main return 0 这个资源文
  • 更改 mingw' 启动目录或创建 mingw 符号链接

    设置 mingw 控制台启动目录的最简单方法是什么 我只使用 mingw 进行编译 但由于缺乏编辑器甚至符号链接 我很困惑如何告诉 mingw 控制台出现在不同的目录而不是常规的主目录中 如果有人知道如何像 cygwin 那样将 真正的 符
  • 用于验证 IIS 设置的 Powershell 脚本

    是否可以使用 Power Shell 脚本获取 IIS 设置 我希望使用脚本获取 检查以下信息 检查 Windows 身份验证提供程序是否正确列出 协商 NTLM 检查是否启用了 Windows 身份验证 Windows 身份验证高级设置
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

    我正在 Windows 上学习 git 我已经安装了 Git 扩展 版本 2 47 3 并使用了它 我在我的 C 单元中创建了一个裸存储库 作为中央存储库 并在硬盘中的其他任何位置创建了个人存储库 我对硬盘中的这两个存储库进行提交 推送和拉
  • C# - 方法必须有返回类型

    我在调用 C 中的方法时遇到问题 不断收到消息 方法 计算 必须有返回类型 using System Diagnostics namespace WindowsFormsApplication1 public partial class F
  • 如何使用命令行压缩文件?

    我想使用批处理文件命令 Windows XP 批处理文件 压缩目录 例如 如果我想解压缩一个文件意味着我可以使用jar xf file zip java bat 文件命令 就像我想要一个命令行批处理来压缩目录一样 如果您使用的是 Ubunt
  • 在 Cygwin 软件包列表中找不到 Openssl

    这里说的是https github com joyent node wiki Building node js on Cygwin Windows https github com joyent node wiki Building nod
  • 如何从Windows阻止社交媒体[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想根据时间阻止我的电脑上的社交媒体 晚上 9 点后屏蔽 上午 11 点后解锁 如家长控制 我尝试过关注但失败了 创建了
  • SetCurrentDirectoryW 中的错误 206

    在我之后之前不清楚的问题 https stackoverflow com questions 44389617 long path name in setcurrentdirectoryw 我以某种方式能够创建一个具有长路径名的目录 但是
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔

随机推荐

  • 一文彻底讲清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