
==============第六课《启动盘实战系列三, 支持多光驱和 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
里的工具来完成,详细不说了,如果不会做,可到网上去下载,注意要点是必须把整
个启动盘的文件一个不要少添加,路径千万不要搞错~~~
全部教程到此结束,希望你有耐心的去学习.如果你感觉到全是文字一看就头痛,我就没有办法
祝你好运,早日成功!