lzg_ad:XPE操作系统镜像尺寸优化

简介:
嵌入式操作系统的目标是构建定制的,最小尺寸的,最快运行速度的基于设备的操作系统。XPE\WES也同样具有这样的构建目标。操作系统尺寸和运行效率是成正比的,更小尺寸的操作系统镜像就会获得更快的运行和启动速度。
    那么如何构建一个最小尺寸的XPE\WES操作系统呢?这是很多朋友一直问我的问题,现在我将常用的精简操作系统的方法整理如下,以供大家参考:
1.使用最新版本的WES开发工具
    微软于2008年10月发布了最新版本的嵌入式XP操作系统开发工具-Windows Embedded Standard 2009。在最新版本的开发工具中,微软除了对配置界面,安装过程,嵌入式功能做了很多优化以外,最主要的改进是对组件和组件间的依赖关系进行了细化和分类。组件的改进表现在使用了很多最新版本的组件,例如:
  • Internet Explorer 7
  • Windows Media Player 11
  • Remote Desktop Protocol(RDP)6.1
  • .Net framework 3.5
    最新版本的组件能够支持更高的安全性,稳定性,兼容性。同时也能够与Windows server 2008和Windows Vista具有很好的交互性。
    组件和组件间的依赖关系更加细化,很多组件之间的依赖关系是可以动态设置的。例如,在WES2009以前版本的XPE操作系统中,只要添加了Core Networking组件,就会关联Windows Firewall/Internet Connection Sharing (ICS)组件。这就意味着只要在XPE操作系统中添加网络功能,就必须添加防火墙组件,而防火墙组件又会关联进来更多的组件,从而导致操作系统尺寸变大。而在WES2009中,通过组件间依赖关系细化,在Core Networking组件的Settings中,我们可以自定义设置是否需要添加Windows Firewall/Internet Connection Sharing (ICS)组件。从而增加了定制的灵活性,减小了操作系统尺寸。
    使用最新版本的开发工具,也可以很大限度的提高系统安全性,因为在新版本中加入了很多的安全补丁。所以,减小嵌入式XP系统尺寸的第一步就是尽可能的使用最新版本的开发工具。
2.保证使用完整的设备文件构建操作系统,合理的裁剪设备文件(.PMQ)
    一个经过优化的设备文件是构建一个稳定,小巧,快速的XPE操作系统的基础。什么是经过优化的设备文件呢?我们知道,设备文件(device.pmq)是通过tap.exe或者ta.exe生成出来的目标机的硬件配置信息。我们建议在目标机上安装XP Professional或者Windows 2000 sp2以上版本,然后通过tap.exe来获取设备文件。而不建议在DOS下通过ta.exe来获取设备文件。这是因为,通过tap.exe生成出来的目标机设备文件是具有完整硬件配置信息的列表,而ta.exe则做不到,他需要我们手动的添加很多的设备信息。
    当然,通过tap.exe生成设备文件也要讲究技巧。首先,我们来认识一下tap.exe是如何获取目标机的设备列表的。当我们在目标机上运行tap.exe的时候,它会扫描注册表中的硬件列表信息,同时把这些信息以xml文件格式整理出来。为了更准确的获取硬件设备信息,就需要目标机上具有一个干净的操作系统。什么是干净的操作系统?就是在安装完XPP后,完整的安装了所有的硬件驱动,保证设备管理器中没有问号或者叹号设备。同时没有再介入过其他设备,例如U盘,移动硬盘,USB光驱,打印机等。因为如果连接了这些设备,那么这些设备的信息都将残留在注册表中而被tap.exe收集到设备文件中。多增加一个外设,在多次关联检查后,可能就会多出来几十个甚至上百个组件。所以我们必须保证tap.exe是在干净的平台上生成设备文件的。
    其次,在生成好的设备文件中,我们也可以手动的删除很多设备驱动,例如,如果我们不需要音频设备,我们可以去掉音频编码解码驱动,声卡驱动,对于USB存储设备,我们可以直接从设备文件中删除,还有一些不常用的打印机及软盘驱动。具体的调整过程需要我们根据实际应用来灵活判断。
  • 音频组件和编码解码器
  • 视频捕获和显示组件
  • USB存储设备
  • 打印机
  • 软盘
3. 合理使用组件关联检查
    合理的组件关联检查可以使我们去掉很多体积庞大,但是不需要的组件。例如:Index Service, System Restore Core等组件。我们可以在我们添加的宏组件中通过去掉复选框的方式去掉我们不需要的组件,例如Media Player。对于实在无法去掉的,必须关联进来的组件,我们可以在配置文件的这个组件上点击鼠标右键,把它禁用掉。
4. 尽可能的使用NTFS Compress Format
    使用NTFS文件压缩格式可以有效地节省磁盘空间,但这并不意味着我们的XPE启动速度就会变慢,相反,使用NTFS文件压缩格式甚至还可以提高系统的启动速度。可能有些人会很奇怪的问,使用了NTFS文件压缩格式,在启动的时候,CPU需要处理解压缩的过程,不使用压缩格式肯定是没有这一步的。所以,NTFS文件压缩格式肯定会导致系统启动速度变慢。其实这是一种错误的认识,对于压缩格式来说,是需要多进行解压缩的过程,但是NTFS文件压缩格式在存储格式上进行了很大的优化,所以使操作系统的尺寸会变得很小。试想一下,假如我们要启动一个压缩前400M,压缩后200M的操作系统,当启动的时候,目标机要从一个硬盘或者CF卡上读取一个400M的操作系统并加载到内存中,和读取一个仅有200M的操作系统并加载到内存中,哪一个速度更快一些呢?显然是读取更小的数据会更快。当操作系统必要的引导文件读取到内存中后,在内存中解压缩的过程就是很快的了,至少比从CF卡上再读200M要快的多。所以,使用NTFS文件压缩格式甚至可以有效地提高启动速度。
5. 适当的优化操作系统语言组件支持
  • 如果我们构建的操作系统要支持中文显示,但操作系统界面可以用英文,那么我们可以去掉Chinese - Simplified Language Support中的 Include multilanguage user interface resources,这样可以剩下好几十M的空间。
  • 反过来说,如果希望操作系统使用中文语言,而其他应用支持不需要中文语言界面,则可以在第二次关联检查完成后(就是添加Explorer Shell的时候),去掉Chinese - Simplified Language Support中的Include multilanguage user interface resources,这样,在后续添加的应用中(例如IE,设备管理器,显示属性,添加删除程序等)就不会使用中文界面,也可以有效地节省磁盘空间。
6. 使用Standard PC组件
HAL(硬件抽象层)具有以下组件:
  • ACPI Multiprocessor PC
  • ACPI Uniprocessor PC
  • Advanced Configuration and Power Interface (ACPI) PC
  • Compaq SystemPro Multiprocessor or 100% Compatible
  • MPS Multiprocessor PC
  • MPS Uniprocessor PC
  • Standard PC
    不同的平台具有不同的HAL组件,但是任何平台都可以使用Standard PC,使用这个组件可以具有很好的兼容性,较小的尺寸和较小的组件依赖性。所以我们可以使用Standard PC来缩减我们的系统尺寸。
7. 禁用屏保、桌面图片及主题组件
     禁用屏保、桌面图片及主题组件可以使我们节省几十兆的系统空间。如果我们的设备必须使用这些组件,例如我们的设备可能会长期开机,所以我们需要屏保程序,那么我们也可以采取一些变通的方法。例如我们添加Screen Savers(屏保组件)的同时,打开Screen Savers的Files节点,然后把其中大多数的.scr禁用,只留下一个或者两个屏保就可以了。桌面图片和主题也是一样,这样可以最大限度的节省系统空间。
8. 在满足功能的前提下进行组件优化
  • 使用MinLogon 而不使用Windows Logon
  • 使用较小尺寸的输入法 Microsoft Simplified Chinese Legacy IMEs 替换标准输入法 Microsoft Simplified Chinese IME Core
  • 使用自定义Shell替换标准的Shell
  • 去掉不需要的大尺寸组件:Indexing Service, System Restore Core
  • 去掉系统所有的帮助文件,在工程的Settings中勾选Do not copy help files for this configuration。
9. 调整你的配置文件,尽可能的消除大尺寸组件或者大的依赖性检查
  • Explorer 外壳程序
  • Internet Explorer
  • .NET框架
  • Media Player
我们可以根据自己的操作系统定制需求,有选择性的通过以上九种方法对我们的系统尺寸进行优化,相信能够使我们的XPE操作系统更加小巧和快速。


本文转自雷志刚 51CTO博客,原文链接:http://blog.51cto.com/leizhigang/237791
相关文章
|
27天前
|
弹性计算 Ubuntu Java
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
39 6
|
1月前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
75 7
|
2月前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
2月前
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####
|
3月前
|
缓存 网络协议 Linux
深入探索Linux操作系统的内核优化策略####
本文旨在探讨Linux操作系统内核的优化方法,通过分析当前主流的几种内核优化技术,结合具体案例,阐述如何有效提升系统性能与稳定性。文章首先概述了Linux内核的基本结构,随后详细解析了内核优化的必要性及常用手段,包括编译优化、内核参数调整、内存管理优化等,最后通过实例展示了这些优化技巧在实际场景中的应用效果,为读者提供了一套实用的Linux内核优化指南。 ####
93 1
|
3月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
99 17
|
3月前
|
安全 搜索推荐 Android开发
移动应用与系统:探索开发趋势与操作系统优化策略####
当今数字化时代,移动应用已成为日常生活不可或缺的一部分,而移动操作系统则是支撑这些应用运行的基石。本文旨在探讨当前移动应用开发的最新趋势,分析主流移动操作系统的特点及优化策略,为开发者提供有价值的参考。通过深入剖析技术创新、市场动态与用户需求变化,本文力求揭示移动应用与系统协同发展的内在逻辑,助力行业持续进步。 ####
66 9
|
3月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
102 9
|
3月前
|
安全 网络协议 Linux
Linux操作系统的内核升级与优化策略####
【10月更文挑战第29天】 本文深入探讨了Linux操作系统内核升级的重要性,并详细阐述了一系列优化策略,旨在帮助系统管理员和高级用户提升系统的稳定性、安全性和性能。通过实际案例分析,我们展示了如何安全有效地进行内核升级,以及如何利用调优技术充分发挥Linux系统的潜力。 ####
114 1
|
3月前
|
存储
烧录树莓派操作系统镜像的详细操作步骤
本文介绍了在树莓派上烧录操作系统镜像的详细步骤,包括准备工具、下载系统镜像、使用烧录软件等关键环节,帮助用户顺利完成树莓派的初始化配置。

推荐镜像

更多