|
to 楼主:
我补充一下,要实现你的想法,使用GRUB4DOS是很方便的。
1、F9对应的键位码是0X4300;F10对应的键位码是0X4400;F11对应的键位码是0X8500;
2、你完全可以使用GRUB4DOS包中的BOOTLACE在纯DOS下执行命令行完成你的需要,比如安装相应热键,如F9到你的DISK的MBR,这个BOOTLACE和GRUBINST类似,只是它是命令行下使用的,它的含义就是在纯DOS下用命令行方式完成安装GRLDR.MBR到你的硬盘MBR;完成了安装GRLDR.MBR,剩下的就是在你的某个分区下写好MENU.LST或者内置MENU.LST的GRLDR,GRLDR可以帮助你完成启动ISO的目的;
3、BOOTLACE的具体操作,可以解决你想在必要时候删除热键功能的需要:
其实就是三句命令行,包含解释,我写出来给你:
使用bootlace.com的命令行具体实现的操作过程(bootlace.com本身已经内置了grldr.mbr的代码)
(1)利用DISKRW或者dd for windows 将第一个硬盘的前面63个扇区备份到一个文件中;
diskrw 0 0 63 /s disk0.bin
(2)用BOOTLACE对DISK0.BIN进行操作;
bootlace --no-backup-mbr --boot-prevmbr-first --time-out=3 --hot-key=0x8500 --mbr-disable-floppy disk0.bin
(3)再利用DISKRW将DISK0.BIN写入硬盘MBR;
diskrw 0 0 63 /r disk0.bin
整个操作有以下几种方法可以进行:
(1)在纯DOS下,进入grub4dos目录下,分别运行这三条命令行,来完成写入grldr.mbr到硬盘的MBR,并设置热键F11;
(2)可以直接将上面三条写入一个批处理,来执行安装grldr.mbr到硬盘的MBR,并设置热键F11,其批处理boot.bat可为:
---------------------------------------------------------------------------------------------------------------
@echo off
echo diskrw 0 0 63 /s disk0.bin
echo bootlace --no-backup-mbr --boot-prevmbr-first --time-out=3 --hot-key=0x8500 --mbr-disable-floppy disk0.bin
echo diskrw 0 0 63 /r disk0.bin
---------------------------------------------------------------------------------------------------------------
这时候,可以在grub4dos的目录来运行这个批处理就可以;
如果你熟悉了这三句命令行,就很容易实现取消一键功能的要求了,提示:在备份硬盘MBR的时候,保留原有前63个扇区的DISK0.BIN文件,如果你后面想取消热键功能,那就是用DISKRW重写备份文件DISK0.BIN到硬盘的前63个扇区吧。 |
|