你在一楼有这样的描述:
> ②用Bootlace --floopy 0x00安装Grub到U盘上,再把Grldr拷到U盘根目录。但这种方法只能启动到grub>_
> (Grub的提示符)就停住了,找不到U盘上 Boot/grub/menu.lst,但U盘上确实有menu.lst。但如果把
> menu.lst拷到U盘的根目录则能启动成功。(或者在Grub的提示符下打入Configfile /boot/grub/menu.lst
> 也能启动成功)。我的疑问是:为什么找不到U盘 Boot/grub下的menu.lst?
你这不是说 grldr 能够启动到命令行了吗(而且也能启动根目录下的菜单)?你怎么后来又说死机了呢?
既然有成功的时候,你还是自己摸索摸索吧。比如说,你这个古怪的 U 盘 BIOS,有很多 BUG,当你把 GRLDR 文件放在靠近文件系统的开头的时候,你能够顺利进入 GRUB,当距离开头较远的时候,你就不能启动 GRLDR 了。
另外,从引导扇区也可发现一些问题。看看偏移 24h 处的 80h,这表示硬盘号码,而你的 U 盘是软盘,这可是矛盾的。偏移 1Ch 处的 20 00 00 00 也是对于硬盘分区来说的。而对软盘,1Ch 处应该是 00 00 00 00 才行。也许你的 U 盘 BIOS 在装入这个扇区之后立即修改 80 为 00,也修改 20 为 00。不管怎么说,这太复杂,只有你自己摸索摸索,才可能知道真正的启动过程。可惜我本人没有可启动 U 盘的主板,无法研究。
比如说,首先,要紧的是,你可以看看 IO.SYS 是否和微软的 IO.SYS 一样。其次,你再看看,如果用微软的 sys 命令传递 DOS 系统到 U 盘,这个 U 盘还能启动吗?如果答案是否定的,那么,这就说明这个 U 盘并非和微软的 DOS 完全兼容,因此,我们的 GRUB 启动失败,也就不算是一个毛病了。
另外,我在本站开发室讨论区,贴出了你在上面所提供的 FAT16 DOS 引导扇区的启动过程的详细分析,如果你有兴趣,可以去看看:
http://www.cn-dos.net/forum/viewthread.php?tid=26967&page=2&fpage=1