对不起,我没有说清楚。“超级dos启动盘“的镜像上本来就有一个grub,这样在启动时有一个选择菜单可以选择是从硬盘启动还是启动dos或者从光盘启动。但是pre7版的grldr就只能把镜像中的这个grub引导到stage1,而看不到选择菜单。但以前版本的grubfordos是能够引导成功的。所以我认为这是这个版本的一个bug。“超级dos启动盘“在本站很容易下的。不点大侠可以试一试。
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
, copy of vector 13h, new vector 13h (it is changed to point to code which reads boot image), and "boot terminate" vector, then a "bootsector" is read from boot image (the most recently opened file), sectors per track and number of heads are took from it, and jump to it is done; then read from floppy is serviced by reading the boot image file Boot terminate sends DETACH request, and closes the socket used by the boot (see below why). The boot image is still accessible when IPX driver is loaded by booted system. How? The BootROM contains own "mini-IPX" which on every request checks if real IPX was loaded, and in such a case opens socket (to be able to receive packets), and forwards all requests to the real IPX. This of course works well providing that network adapter will not be accessed until IPX is loaded - true is using IPX.COM containing driver, and usually true if NDIS driver is used - note some NDIS drivers, in spite specification demands they must not do it, initialize adapter when loaded, and cause the boot to fail. How the Novell's BootROM is made? There is some code from Novell, and there is driver code from the network adapter manufacturer, probably they are two .OBJ-s and usual LINK can be used to produce .EXE, then DCONFIG/ECONFIG can be used to configure it (on image w/o .EXE header offsets would not match), and finally EXE2BIN to produce BootROM image.以下是引用areyong在2005-4-20 23:57:37的发言:
> 把xmsdsk.com生成的内存盘再次虚拟成物理硬盘并告诉BIOS.当然,现在的GRUB好象没有这个功能。
>只要能找到内存盘在物理内存中的位置,就可以生办法将它虚拟成 BIOS 可以识别的磁盘号码(硬盘或者软盘)。
我们可以这样,我们编一个在DOS下执行的程序,把xmsdsk.com生成的内存虚拟盘中的SYS.IMG这个文件推入到我们指定的内存段中,这个是在 DOS执行的,不是基于BIOS,也不用考虑XMS规则的问题,(先假定这个SYS.IMG文件比较小,比如说它只有256K,因为我现在暂时需要的应用,有256K就够了)。
然后再启用GRUB,让它告诉BIOS,模拟我们先指定的内存段为一个硬盘或软盘。
我不会编程,但我很想很快就拥有此功能。。。。。不点请帮忙。
我已经在BOOTP无盘dos的环境下测试过了,可以正常运行GRUB,而且,即使不退出BOOTP的环境,也就是说BOOTP所虚拟出来的A盘还存在的情况下,可以用GRUB的这些功能:
chainloader (fd0)+1
rootnoverify (fd0)
boot 这样仍然可以启动DOS,只是启动之后找不到COMMAND.COM (因为虚拟盘消失了,找不到COMMAND了),也就是说GRUB 可以读到虚拟的A盘。
但是以下这样就不成功,表现为死机:(我已在虚拟A盘中拷了一个SYS.IMG)
map (fd0)/sys.img (hd0,0) 或者 map (fd0)/sys.img (fd1) 都死机
formed by the first dos system