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
相关文章
|
3月前
|
安全 算法 搜索推荐
现代操作系统的设计与优化策略
本文深入探讨了现代操作系统在设计与优化方面的多种策略。通过分析系统架构、内核优化、用户界面设计以及安全性增强等关键方面,揭示了如何构建一个高效、稳定且安全的操作系统。同时,结合具体案例和实际应用场景,展示了这些策略在实践中的应用与成效。
65 1
|
18天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
48 9
|
20天前
|
安全 网络协议 Linux
Linux操作系统的内核升级与优化策略####
【10月更文挑战第29天】 本文深入探讨了Linux操作系统内核升级的重要性,并详细阐述了一系列优化策略,旨在帮助系统管理员和高级用户提升系统的稳定性、安全性和性能。通过实际案例分析,我们展示了如何安全有效地进行内核升级,以及如何利用调优技术充分发挥Linux系统的潜力。 ####
44 1
|
1月前
|
存储 Unix Linux
哪些工具可以烧录树莓派的操作系统镜像
除了常见的烧录工具,树莓派操作系统镜像还可以通过以下工具烧录: 1. **Etcher**:树莓派官方推荐的图形界面工具,支持多操作系统,使用简单,具备严格的设备验证和校验机制。 2. **dd 命令**:适用于 Linux 和类 Unix 系统,功能强大但需谨慎使用,适合熟悉命令行的用户。 3. **BalenaEtcher**:与 Etcher 类似,跨平台且操作简单,确保烧录过程的准确性和安全性。 初学者建议使用 Etcher 或 BalenaEtcher,熟悉命令行的用户可以选择 dd 命令。
|
1月前
|
存储
烧录树莓派操作系统镜像的详细操作步骤
本文介绍了在树莓派上烧录操作系统镜像的详细步骤,包括准备工具、下载系统镜像、使用烧录软件等关键环节,帮助用户顺利完成树莓派的初始化配置。
|
2月前
|
监控 Linux 云计算
Linux操作系统在云计算环境中的实践与优化###
【10月更文挑战第16天】 本文探讨了Linux操作系统在云计算环境中的应用实践,重点分析了其在稳定性、安全性和高效性方面的优势。通过具体案例,阐述了Linux如何支持虚拟化技术、实现资源高效分配以及与其他开源技术的无缝集成。文章还提供了针对Linux系统在云计算中的优化建议,包括内核参数调整、文件系统选择和性能监控工具的应用,旨在帮助读者更好地理解和应用Linux于云计算场景。 ###
43 3
|
2月前
|
安全 调度 虚拟化
探索现代操作系统的架构与优化
本文将深入探讨现代操作系统的核心架构和优化技术。从操作系统的基本定义入手,逐步解析其内核结构、进程管理、内存管理和I/O系统。同时,还将讨论现代操作系统在多核处理器支持、虚拟化技术和安全性方面的创新与优化措施。通过这些内容,读者可以全面了解操作系统的工作原理及其在实际应用中的表现与改进。
|
2月前
|
存储 算法 Linux
探索现代操作系统的架构与优化
本文深入探讨了现代操作系统的核心架构及其性能优化策略。通过对主流操作系统架构的分析,揭示其在多任务处理、内存管理和文件系统等方面的特点。同时,针对当前技术趋势,提出一系列优化措施,旨在提升系统的运行效率和用户体验。通过实例分析,展示如何在实际场景中应用这些优化技术,确保系统在高负载下的稳定运行。
|
2月前
|
存储 安全 数据安全/隐私保护
探究现代操作系统的架构与优化策略
本文旨在深入探讨现代操作系统的核心架构及其性能优化方法。通过分析操作系统的基本组成、关键技术和面临的挑战,揭示如何通过技术手段提升系统效率和用户体验。不同于传统的技术文章摘要,这里不罗列具体研究方法和结果,而是以简明扼要的语言概述文章的核心内容和思考方向,为读者提供宏观视角和技术深度。 生成
32 3
|
3月前
|
缓存 算法 安全
探索现代操作系统的架构与优化
本文旨在深入探讨现代操作系统的核心架构,并详细分析其性能优化策略。通过对操作系统的基本功能、主要组件以及它们之间的交互进行剖析,帮助读者理解操作系统在提高硬件资源利用率和用户体验方面所发挥的关键作用。此外,文章还将介绍几种常见的性能优化方法,包括进程调度算法、内存管理技术和I/O系统优化等,并通过实际案例展示这些优化技术的应用效果。