三.封装
依照作者选用的封装方式,封装的步骤也就不尽相同。如果选用SRS的话,这里就可以直接封装了,它会调用sysprep完成封装过程。手工替换NTLDR的就需要自己细心一点,替换文件、删除相关注册表等。
注:S&R&S9.7集成了更改电源及IDE模式的功能,所以第二步里面的1和2也可不做。
下面我们研究一下封装工具都做了些什么:
一.电源检测
S&R&S9.X采用了基于MCC硬件抽象层电源识别技术,即替换LONGHORN版本的NTLDR,依靠/DETECTHAL来完成对电源模式的检测。早期是需要用户手工选择的,这里就不说了。
二.更改IDE模式
通过mshdc.inf文件来更新IDE模式为双通道
runwait("devcon update "&@windowsdir&"\inf\mshdc.inf E_ISA_UP","",@SW_HIDE)
三.驱动集成
很显然,以我们个人的能力是不可能搜集到所有的MassStorage设备的驱动的,同时存储技术在不断发展,新硬件也层出不穷,这是通用克隆不可能实现万能的原因之一。
S&R&S9.X采用了DPS驱动包,所以大家在N多使用不改的封装工具的GHOST作品里都可以看到“含大多数驱动,支持SATA。。。支持64位”。这话是怎么来的呢?
This one supports almost all (none are reported missing) MassStorage controllers (PATA, SATA, SCSI, RAID and al their combinations).
大家可以到这个地址下载相关驱动:
http://www.driverpacks.net/DriverPacks/
除了存储设备的驱动,新型的CPU以及USB键盘、鼠标等设备驱动也要集成到系统里,例如AMD K8 CPU等。不过,这些驱动之间有可能存在不兼容问题,驱动的不兼容会导致同时加载时直接死机,例如intelide与viaide的不兼容问题,这是导致克隆不能万能的原因之二,也是最主要的同时也很难解决的问题。
至于更改及恢复启动菜单、调用sysprep进行静默封装等非技术步骤,这里不做讨论。