欢迎来到天天文库
浏览记录
ID:47060772
大小:42.00 KB
页数:7页
时间:2019-07-11
《全手工封装技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、全手工封装技术转深度以S&R&S为例,谈一下封装及封装工具一个不经处理的Windows系统直接恢复到另一台机器上,最有可能出现的情况就是蓝屏,或者反复重新启动。那么,造成蓝屏、重启等的原因是什么呢?事实上,这就是通用克隆系统所要解决的最基本的技术问题。我们这里以封装XP系统为例,2003及2K的方法都是大同小异的首先我们来了解一下封装的步骤:一.安装操作系统 装系统、打补丁,至于集成驱动及软件、优化或美化等由需要而定。 Dllcache备份的步骤可选,这里就不单独列为一项了。Dllcache备份的原理不是备份文件,而是备份文件名,在系统恢复后从I
2、386的CAB包中提取相应文件。DeepinXPlite是没有这些文件的,300多兆的Dllcache并不是必需的。二.删除、更改系统硬件驱动1.更改HAL电源模式的方法其实有很几种,目前主流的就是使用Longhorn的ntldr自动判断。longhorn的ntldr有一个新参数,即/detecthal(在boot.ini的启动项中设置),通过这个参数,可以实现自动判断并选择计算机类型,而且这种技术由于源出于微软,所以其结果是百分百准确的。基本上,使用Longhorn技术来判断正确的hal就是目前最完美的解决办法。死改不改的S&R&S9.x版本基
3、本上都使用这种方式。2.更改存储控制器类型硬盘控制器包括PATA(传统的硬盘控制器)、SATA、RAID、SCSI等,实际上,死性不改的S&R&S就是SATA&RAID&SCSI的意思。在通用克隆发展的早期,SATA硬盘还不是很流行,这个问题还不是很严重,因为所有的PATA(IDE)控制器都兼容于标准双通道IDE控制器,所以人们制做克隆时只需要将源机器的IDE控制器修改为标准双通道即可。但很显然,SATA并不兼容于标准双通道,所以当时制做的克隆系统在SATA硬盘上恢复后重启时会出现蓝屏。3.删除其他硬件驱动三.封装依照作者选用的封装方式,封装的步
4、骤也就不尽相同。如果选用SRS的话,这里就可以直接封装了,它会调用sysprep完成封装过程。手工替换NTLDR的就需要自己细心一点,替换文件、删除相关注册表等。注:S&R&S9.7集成了更改电源及IDE模式的功能,所以第二步里面的1和2也可不做。下面我们研究一下封装工具都做了些什么:一.电源检测S&R&S9.X采用了基于MCC硬件抽象层电源识别技术,即替换LONGHORN版本的NTLDR,依靠/DETECTHAL来完成对电源模式的检测。早期是需要用户手工选择的,这里就不说了。二.更改IDE模式通过mshdc.inf文件来更新IDE模式为双通道r
5、unwait("devconupdate"&@windowsdir&"infmshdc.infE_ISA_UP","",@SW_HIDE)三.驱动集成很显然,以我们个人的能力是不可能搜集到所有的MassStorage设备的驱动的,同时存储技术在不断发展,新硬件也层出不穷,这是通用克隆不可能实现万能的原因之一。S&R&S9.X采用了DPS驱动包,所以大家在N多使用不改的封装工具的GHOST作品里都可以看到“含大多数驱动,支持SATA。。。支持64位”。这话是怎么来的呢?Thisonesupportsalmostall(nonearereport
6、edmissing)MassStoragecontrollers(PATA,SATA,SCSI,RAIDandaltheircombinations).大家可以到这个地址下载相关驱动:http://www.driverpacks.net/DriverPacks/除了存储设备的驱动,新型的CPU以及USB键盘、鼠标等设备驱动也要集成到系统里,例如AMDK8CPU等。不过,这些驱动之间有可能存在不兼容问题,驱动的不兼容会导致同时加载时直接死机,例如intelide与viaide的不兼容问题,这是导致克隆不能万能的原因之二,也是最主要的同时也很难解决的
7、问题。至于更改及恢复启动菜单、调用sysprep进行静默封装等非技术步骤,这里不做讨论。了解了封装工具的工作原理以后,我们会想:封装工具是必需的吗?答案是:不!在预封装问题上,为了让系统能正确识别MassStorage设备,目前可以采取集成驱动到system32driver或使用txtsetup引导(深度的V2及老毛桃的PE都是这样做的)的办法。通过手工替换相关文件,可以做到完美的电源检测,在深度白金3in1中已经做到了100%准确。虽然SRS采用的也这个技术,但是在实际应用中,效果仍不是绝对满意的,出现了部分用户无法正常关机的情况,也就是电源
8、检测上出了问题。尽管我们可以通过手工替换NTLDR及HAL、修改注册表、更改电源及IDE模式,最后运行SYSPREP进行封装,但是在一些
此文档下载收益归作者所有