lanyanlei
==============第六课《启动盘

==============第六课《启动盘实战系列三, 支持多光驱和 NTFS 分区 IMG 映像》===============================

第一步 认识多光驱支持的原理,看下面的全自动 GHSOT 的详细解释,如下:

这是一个全自动的克隆 autohf.bat 文件,可以直接复制红色文字到这个批处理中。在其它的地方

可以用这个方法来调用其它程序和小工具,这要改一下路径就行了,简单的很,在下面就有调用到

其它的方法。

======================================================================================

:: 测试虚拟盘是否建立成功

dready z: /w

if errorlevel 1 goto _errramd

:: 建立testdrv.bat临时文件到虚拟盘上

set td=Z:\testdrv.bat

> %td% echo @echo off

>> %td% echo dready %%1

>> %td% echo if errorlevel 1 goto _quit

>> %td% echo set CDOK=%%CDOK%% %%1

>> %td% echo :_quit

:: 调用mscdex为所有光驱分配盘符

LH MSCDEX.EXE /D:mscd001

set CDROM=

findcd /s > nul

:: 调用testdrv.bat检测哪些光驱中有盘并将准备好的光驱保存到cdok变量中

SET CDOK=

for %%I in (%cdrom1% %cdrom2% %cdrom3%) DO call %td% %%I

::检测哪些准备好的光驱中存在需要的GHO文件,并将结果保存到bootcd变量中

set bootcd=

for %%I in (%cdok%) DO if exist %%I\XPSP2\XP-SP2.GHO set BOOTCD=%%I

:: 检测是否存在需要的启动光盘

IF %BOOTCD%*==* goto _nobootcd

set CDROM=%bootcd%

echo bootcd=%bootcd%

goto _findbootcdok

:: 找不到所需启动光盘的错误提示

:_nobootcd

echo.

echo Error: I cannot find your CDROM where we boot from!

echo Please make sure you insert the boot disc in it!

pause

goto _quit

:: 如果存在gho文件,则执行ghost过程并重新启动

:_findbootcdok

%CDROM%\XPSP2\ghost.exe -clone,mode=pload,src=%CDROM%\XPSP2\XP-SP2.gho:1,dst=1:1 -sure -fx

::这是当GHOST工作完成后反回主菜单,在用EASYBOOT调用下,不调用下不要用这参数。

wboot.com

goto _quit

:: 没有成功建立内存虚拟磁盘的错误提示

:_errramd

echo.

echo Error: I cannot access your RAM Disk at Q:!

echo Check if xmsdsk can create RAM Disk.

pause

goto _quit

:: 退出,清理环境变量

:_quit

for %%I in (cdrom1 cdrom2 cdrom3 cdok) do set %%I=

====================================================================================

知道上面的过程后,也就是这样一个过程,也并不过的,(注意:带双冒号的是注解文字用的,

复制到批处理里并不需要将其删除,可以直接使用)

第二步 开始制作多功能启动盘了

1、找一个 98 启动盘IMG文件;

2、用 Winimage 把里面的所有文件全部提取到一个文件夹中。然后删除IMG里的所有文件,仅留

下这 Io.sys 、 msdos.sys 、 command.com 文件及建立二个目录,一个是 DM 目录、一个 temp

是临时目录。然后把刚才提取的 ebd.cab 这个文件解压到一个 ebd 目录中,在 ebd 目录下再建

立一个目录,目录名为 DATA ,再把 DOS 下所用的 五笔和拼音及区位码这 WB.MB、PY.MB、LX.LX

三个文件复制到 DATA 目录里,然后再重新制作 ebd.cab 文件,(五笔和拼音及区位码这些文件

可以 DM 9.56 双语版中提取)

其它的我们在后面加进去。

3、修改 CONFIG.SYS 文件为以下内容:

====================================================

device=himem.sys /testmem:off

device=emm386.exe noems

device=oakcdrom.sys /D:mscd001

dos=high,umb

files=30

buffers=20

====================================================

把以上这 himem.sys、emm386.exe、oakcdrom.sys 三个文件加到IMG文件中,

4、修改 AUTOEXEC.BAT 文件为以下内容:

====================================================

@ECHO OFF

set EXPAND=YES

SET DIRCMD=/O:N

cls

SET RAMD=Z

XMSDSK 9816 Z: /y

set temp=%RAMD%:\

set tmp=%RAMD%:\

mouse > NUL

FINDCD.EXE > NUL

path=%RAMD%:\;a:\;%CDROM%:\

copy command.com %RAMD%:\ > NUL

copy extract.exe %RAMD%:\ > NUL

:ERROR

IF EXIST ebd.cab GOTO EXT

echo Please insert Windows 98 Startup Disk 2

echo.

pause

GOTO ERROR

:EXT

%RAMD%:\extract /y /e /l %RAMD%: ebd.cab > NUL

cls

GOTO QUIT

:QUIT

set CDROM=

set LglDrv=

cls

tw > NUL

echo.

echo.

echo.

echo.

echo.

echo 内存虚拟磁盘已被成功创建,当前虚拟工作盘符为 %RAMD% 盘。

echo.

echo 所需的工具都从 EBD.CAB 压缩包中被释放到虚拟 %RAMD% 盘中。

echo.

echo.

echo.

echo.

a:

zmenu.bat

====================================================

再把 AUTOEXEC.BAT 所需用的文件加入到 IMG 文件中。文件如下:

xmsdsk.exe、FINDCD.EXE、extract.exe、ebd.cab、tw.exe

5、主菜单的制作,我们现在以 7 个菜单项做实习,请看以下批处理文件,取名为 ZMENU.BAT

ZMENU.BAT 批处理文件内容如下:

==================================================================================

@echo off

tw > nul

@echo off

echo.

echo 中文多功能 MS-DOS 系统启动盘

echo ============================================================

echo.

echo 1、全自动从光盘上克隆 Windows XP SP2 专业版

echo 2、从光盘上安装 Windows 98 SE

echo 3、带光驱驱动的中文 Dos 命令行启动模式

echo 4、克隆恢复从 E 盘 Tools 恢复到 C 盘模式

echo 5、启动运行 DM 9.57 中英文双语版分区程序

echo 6、进入查看 NTFS 分区

echo 7、工具箱 》》》

echo.

choice/c:1234567 /t:2,999 . 请在上面选项中选择相应的数字键值。

if errorlevel 7 goto menu_7

if errorlevel 6 goto menu_6

if errorlevel 5 goto menu_5

if errorlevel 4 goto menu_4

if errorlevel 3 goto menu_3

if errorlevel 2 goto menu_2

if errorlevel 1 goto menu_1

:menu_1

cls

call autohf.bat

goto quit

:menu_2

cls

call 98se.bat

goto quit

:menu_3

cls

call doscd.bat

goto cdrom

:menu_4

cls

call ghosd.bat

goto quit

:menu_5

cls

call dm.bat

goto quit

:menu_6

cls

call ntfs.bat

goto quit

:menu_7

cls

call menu.bat

goto quit

:cdrom

@ECHO OFF

dready z: /w

if errorlevel 1 goto _errramd

set td=Z:\testdrv.bat

> %td% echo @echo off

>> %td% echo dready %%1

>> %td% echo if errorlevel 1 goto _quit

>> %td% echo set CDOK=%%CDOK%% %%1

>> %td% echo :_quit

LH MSCDEX.EXE /D:mscd001

set CDROM=

findcd /s > nul

SET CDOK=

for %%I in (%cdrom1% %cdrom2% %cdrom3%) DO call %td% %%I

set bootcd=

for %%I in (%cdok%) DO if exist %%I\GHOST\GHOST8.EXE set BOOTCD=%%I

IF %BOOTCD%*==* goto _nobootcd

set CDROM=%bootcd%

echo bootcd=%bootcd%

goto _findbootcdok

:_nobootcd

echo.

echo 错误: 系统没有发现在 CDROM 中有光盘, 请插入配合此条件的光盘!

echo.

echo 在光盘根目录中必须有 GHOST\GHOST.EXE 文件, 否则无法正确找到光盘!

pause

goto _quit

:_findbootcdok

echo.

echo.

echo.

echo 您当前所在的虚拟内存磁盘是在 %RAMD% 盘中!

echo.

echo.

echo 您当前所插入的光盘是在 %CDROM% 盘中!

echo.

echo.

echo 要输入中文文字请按 Alt + F1 区位、Alt + F2 拼音、Alt + F3 五笔、

echo.

echo Alt + F4 双拼来调出输入法,Alt + F5 查看输入法调出,Alt + F10 返回

echo.

goto _quit

:_errramd

echo.

echo 错误:不能在内存磁盘上存取 Q:!

echo.

echo 检查 xmsdsk 是否能建立内存磁盘。

pause

goto _quit

:quit

a:

@echo off

cls

echo.

echo.

echo.

echo.

echo.

echo.

echo.

echo.

echo 如果你还想继续操作返回主菜单请键入 ZMENU 回车即可!

echo.

set CDROM=

set RAMDRIVE=

:end

:_quit

a:

set CDROM=

set RAMDRIVE=

:end

==================================================================================

以上我们要用到的文件有工具和批处理文件,文件如下:

CHOICE.COM、MSCDEX.EXE、 小工具文件,其它都是批处理文件 7 个 autohf.bat、98se.bat、

doscd.bat、ghosd.bat、dm.bat、ntfs.bat、menu.bat 这 7 个批处理可以这样写只是提供参

考,大家可以修改,因时间有限呀。

① 这是一个全自动的克降文件。

autohf.bat

==================================================================================

这个全自动 AUTOHF.BAT 文件可按照认识多光驱支持的原理的来是一样的,照红色字复制就行了

==================================================================================

98se.bat 文件,这个是做全自动安装98用的。

==================================================================================

@echo off

dready z: /w

if errorlevel 1 goto _errramd

set td=Z:\testdrv.bat

> %td% echo @echo off

>> %td% echo dready %%1:

>> %td% echo if errorlevel 1 goto _quit

>> %td% echo set CDOK=%%CDOK%% %%1

>> %td% echo :_quit

LH MSCDEX.EXE /D:mscd001

if not %CDROM%*==* set CDROM=

if not %CDROM%*==* set CDROM=

findcd /s > nul

SET CDOK=

for %%I in (%cdrom1%,%cdrom2%,%cdrom3%) DO call %td% %%I

IF NOT %CDROM%*==* set CDROM=

IF NOT %CDROM%*==* set CDROM=

set bootcd=

for %%I in (%cdok%) DO if exist %%I\setup.exe set BOOTCD=%%I

IF %BOOTCD%*==* goto _nobootcd

set CDROM=%bootcd%

echo bootcd=%bootcd%

goto _findbootcdok

:_nobootcd

echo.

echo.

echo.

echo.

echo 错误: 在光盘根目录下没有发现 WINDOWS 98 SE 的 SETUP.EXE 安装文件 !

echo.

echo 请插入 WINDOWS 98 SE 的安装光盘, 必须在光盘的根目录, 不支持多层目录!

echo.

echo.

echo.

echo.

pause

:_findbootcdok

%CDROM%\setup /is /ie /iv /im /il

zmenu.bat

goto _quit

==================================================================================

doscd.bat 文件,这个是启动到DOS下的文件

==================================================================================

@echo off

%RAMD%:\

lh ctload VIDE-111.SYS /d:mscd001

LH MSCDEX.EXE /D:mscd001

path=%RAMD%:\;%CDROM%\;a:\

cls

a:

==================================================================================

ghosd.bat 文件,这个是手动克降的GHOST程序

==================================================================================

E:\tools\ghost -clone,mode=pload,src=E:\tools\xp-sp2.gho:1,dst=1:1,sze1=50p,sze2=50p -fx -ia -sure

zmenu.bat

==================================================================================

dm.bat 文件

==================================================================================

@echo off

tw /np > nul

dm\dm.com %1 %2 %3 %4 %5%

==================================================================================

ntfs.bat 文件

==================================================================================

ntfspro.exe > NUL 就这样一句

==================================================================================

menu.bat 文件

==================================================================================

这是子菜单文件可以按你们的要求来写,我这里不做示范了。

==================================================================================.

以上 7 个 菜单文件必须配合相应的工具和软件,必须是无法运行本启动盘的,如 DM 分区软

件、DOS 下的五笔输入法等等,

第三步 再把 NTFS 的程序添加到 IMG 文件中,此程序网上有下载的,名称为 NTFSPRO 5.0

这时因 98 的 IMG 文件只有 1.44 MB 是不够大的,所以要加大这个 IMG 文件,可以用 EASYBOOT

里的工具来完成,详细不说了,如果不会做,可到网上去下载,注意要点是必须把整

个启动盘的文件一个不要少添加,路径千万不要搞错~~~

全部教程到此结束,希望你有耐心的去学习.如果你感觉到全是文字一看就头痛,我就没有办法

祝你好运,早日成功!