增强USBCD/USBHD兼容性---可否抛弃USB驱动的GHSOT恢复系统-方法二
方法二:HD2ISO实现硬盘模拟
利用Windows XP Embedded工具中的HD2ISO.EXE制做ISO,这个ISO,你可以将它看做一个硬盘。
第一步:可以用Windows XP Embedded中的SDILOADER或者RAMDISK等工具,划分一个700MB大小的分区,之后在磁盘管理中格式化,现在FAT格式。假设分区盘符为M:。
第二步:用VM挂载这个分区,设置VM中第一硬盘为刚才新建立的那个700MB的分区,硬盘方式挂载。
第三步:用MS-DOS启动VM,输入:SYS C:(前提是第一步中已经格式化为FAT格式),如果不放心的就再格式化一次,输入:FORMAT C: /S(/S是写如引导),然后退出VM。
第四步:把GHOST.EXE和*.GHO文件复制到M:,另外也可以加些自己用的DOS程序进去。
注意:GHOST自动批处理的格式,恢复到本机第一硬盘第一分区对应的是DST=2:1。
第五补:运行HD2ISO.EXE,之后按[1]键---创建ISO。操作步骤:
1、按[2]键---选择硬盘,根据你机器上硬盘不同而定,只挂一块硬盘的选择[1],因为本机硬盘为[0]。
2、按[3]键---选择分区,一般只有一个,就选择[1]。
3、按[4]键---选择ISO存放位置。
4、按[5]键---定义ISO大小,选择把74分钟该为80分钟,也就是700MB。
5、按[6]键---创建ISO
第六步:量产。
另外,这个ISO也可以增加多引导。举例,以增加NTLDR为例,在上面第二步做完之后,
1、写入NTLDR引到到M:,用BOOTSECT.EXE,命令:bootsect /nt52 M:。
2、提取M:的启动扇区文件(NTLDR),用mkbt,命令:mkbt.exe -x -c M: M:\ntldr.bin。
3、完成上面的第三步。
4、提取M:的启动扇区文件(MSDOS),用mkbt,命令:mkbt.exe -x -c M: M:\msdos.bin。
5、复制NT引导所需文件到M:。四个文件(ntldr,bootfont.bin,NTDETECT.COM,bootfont.bin)。
6、添加MS-DOS到BOOT.INI
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
C:\msdos.bin="Startup MS-DOS 7.1"
7、之后继续上面的第四步,直到完成。
同样方法,你也可以添加SYSLINUX引导管理器。
总结:
最大缺点:目前仅支持700MB容量。
最大优点:
1、USBCD方式启动的USBHD,拥有USBHD的兼容性和USBCD的保护性。
2、完全抛弃USBASPI.SYS。(DOS下的USB驱动支持有限,兼容性差,操作灵活性大,麻烦。)
就在我准备发贴前,我想到了解决700MB容量的问题。ISO里面放ISO。
直接把这个ISO,放到普通的ISO下面,然后用BCDW启动这个700MB的ISO。
顺便说一下,BCDW启动这个700MB的ISO,不是把这个ISO放到内存里。跟GURB的map --mem和GRUB用memdisk启动IMG文件不一样。
我已经在VM上试验过了。VM设置为52MB内存,大ISO是128MB,小ISO是100MB,可以启动。但是我还没来得及去量产U盘,在U盘上试验。
不管成功不成功,我都会那结果写到这里。
如果不成功,我就当是为了别人做了一次探路的吧。呵呵
试验结果:
我在VM里怎么试也成不了,GHOST报错,但是我把这个量产到U盘上,在真实的机器上用。一切正常。同样的ISO,VM里就不能恢复,真实机器就可以恢复。目前我只能在自己的机器上试验,试验成功。还没有到其他的机器上试验过。感兴趣的朋友也可以试一下,制作步骤我已经写清楚了。
之前发过方法一,其实方法一和这次的方法二,本质上差不多。