最近听说了一个叫bootflashdos的工具能直接从xp/2003的diskcopy.dll中提取dos 8.0,来制作启动盘,比较有意思,我稍微研究了一下xp和vista的diskcopy.dll,发现里面还真有些秘密的东东。
先来看xp的diskcopy.dll,把它拖入winimage,可以识别出一个1.44MB的软盘镜像,内容就是xp的dos启动盘中的文件,保存这个镜像。用winhex打开,并选择"解释镜像为磁盘",可以看到里面除了可见的文件外,还能看见有许多删除或覆盖的文件,其中前面有问号的是能恢复文件,叉号的是已被覆盖的文件。
恢复这些文件,可以看出这张启动盘就是在原来winme启动盘基础上修改而来的,其中还能见到修改前的io.sys和command.com的身影,以及ms-dos 8.0中被去掉的himem.sys。具体还可以看这个链接,里面有更详细的分析:
http://mirror.href.com/thestarman/winxp/winxpsd.htm
我又看了一下vista的diskcopy.dll,发现winimage不能直接打开,但用winhex能很容易得找出其中的ms-dos 8.0软盘镜像,保存后用winhex打开,发现里面的dos文件又被更新了,而且包含了更多的删除覆盖文件,除了一些原有的winme启动盘文件外,还多了几个2005年的文件,估计这些就是在winvista开发时制作的,打开?eame.txt(就是readme.txt)内容如下:
DOS Boot Disk Readme
======================
May 25, 2001
Aidan Low (aidanl@microsoft.com)
This directory contains the files that make up the DOS boot disk on whistler.
06/08/2000 05:00 PM 58,870 EGA2.CPI
06/08/2000 05:00 PM 58,753 EGA3.CPI
06/08/2000 05:00 PM 58,870 EGA.CPI
06/08/2000 05:00 PM 21,607 KEYB.COM
06/08/2000 05:00 PM 34,566 KEYBOARD.SYS
06/08/2000 05:00 PM 31,942 KEYBRD2.SYS
06/08/2000 05:00 PM 31,633 KEYBRD3.SYS
06/08/2000 05:00 PM 13,014 KEYBRD4.SYS
06/08/2000 05:00 PM 29,239 MODE.COM
06/08/2000 05:00 PM 93,040 COMMAND.COM
06/08/2000 05:00 PM 17,175 DISPLAY.SYS
04/07/2001 01:40 PM 9 MSDOS.SYS <-- should be system, readonly, hidden when copied to the floppy
05/15/2001 06:57 PM 116,736 IO.SYS <-- should be system, readonly, hidden when copied to the floppy
To prepare the disk image for the DOS boot disk, create a system disk on a Win9X Machine so that the boot sector is created properly.
Then copy these files over, setting the appropriate attributes. (the attributes are called out in the list above)
Finally, use the imgtool.exe tool to create a disk image from the floppy. Typically this will be something like
imgtool.exe \\.\a: c:\myimage.bin
======================
其中竟然讲的是2001年5月时winxp中dos 8.0启动盘的制作过程,而不是vista中得启动盘,制作人是Aidan Low。里面用到的imgtool.exe在vista的dos 8.0启动盘中也可以恢复。
Last edited by fujianabc on 2008-4-19 at 09:13 PM ]
很好!努力学习,谢谢.
Originally posted by infoer at 2008-4-18 03:04 PM:
2008的diskcopy.dll和vista的是否也一样?
我看过,diskcopy.dll中的镜像有两种,以2005年为界,2005年前的都是我列的第一种(如xp sp2,2003 sp1),2005年之后都是第二种(包括xp sp3, 2003 sp2,vista,vista sp1/2008)