无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 14336|回复: 20
打印 上一主题 下一主题

加载USB驱动后启动GRUB.EXE菜单显示中文乱码

[复制链接]
1#
发表于 2008-8-22 22:23:44 | 显示全部楼层
当你在 DOS 下使用 USB 驱动之后,你的 DOS 可以识别 U 盘,但 进入 grub.exe 之后,DOS 将不复存在, DOS 的 USB 驱动当然也无影无踪了。此时在 grub 中是无法访问 U 盘的。这就是

fontfile /USBOOT/FONTS.GZ
splashimage /USBOOT/BACK.XPM.GZ

这两条命令执行失败的原因。至于说为什么

find --set-root /LDRXPE
chainloader /LDRXPE

能够成功执行,则可能是因为你的(虚拟的或者真实的)硬盘或软盘上有 /ldrxpe 文件。
回复

使用道具 举报

2#
发表于 2008-8-22 23:15:30 | 显示全部楼层
你可能在 dos 之下已经把某个磁盘映像文件(比如通过 hmload 工具)放在内存中了。这个内存虚拟盘被 grub4dos 侦测到,因此,内存虚拟盘里面的 ldrxpe 文件可以被 grub 发现。如果你在映像之中也放上 /USBOOT/FONTS.GZ 等文件,则它们也会被找到。
回复

使用道具 举报

3#
发表于 2008-8-24 15:23:48 | 显示全部楼层
这就可以确定,你是用内存盘来放置 PE 的文件的。既然你已经说了,BIOS 不支持 U 盘启动,那么你一定是把 PE 放在内存盘中了,否则 PE 的文件就不可能被 grub4dos 找到。你也可以把 fonts 等文件也放在内存盘,这样就没有问题了。
回复

使用道具 举报

4#
发表于 2008-8-25 09:54:44 | 显示全部楼层
原帖由 gwerdf 于 2008-8-24 23:09 发表
不点,直到现在您还在用臆测的思想来考虑问题,我加载的USBDRV.IMA只有320K,总共才7个文件(纯DOS必备文件3个文件、USB驱动文件USBASPI.SYS、给USB分配盘符文件DI1000DD.SYS、加载USB驱动文件devload.com、自动运行文件AUTOEXEC.BAT).而在列出的AUTOEXEC.BAT清单里没有任何复制的动作。PE在内存的说法从何谈起,而且在AUTOEXEC.BAT已经说得非常清楚启动GRUB.EXE是进入USB的SETUP中执行的。您为什么不实践一下再来下结论。坐在那里想上几天的结果就是PE还是放在内存盘里?


抱歉,你这个情况我还是第一次碰到,确实有些奇怪。其实不要太过于看重我说的话,因为我和其他人一样,回答问题难免要采用臆测的方法。

我现在再猜测一下。假定你的 USB 驱动特别牛(纳闷,怎么其开发者不广告一下呢?),能够被 grub4dos 的中断恢复机制所承认(闯过了中断探测恢复过程),这样,进入 grub 后,其驱动仍然存在。那么在这样的情况下,你进入 grub 之后,仍然可以访问你的 U 盘的内容。

你不是可以进入 grub 的命令行吗?你就在命令行下敲入命令,寻找你的 U 盘的内容,看看是否 U 盘可以被 grub 识别出来。如果你能找到 ldrxpe 文件,你也应该可以找到 fonts 等文件。这种情况以前没出现过,你得当一次探索者了。请你一定多加尝试,看看能否给大家带来新的惊喜。

原帖由 gwerdf 于 2008-8-25 01:20 发表
不点原话:当你在 DOS 下使用 USB 驱动之后,你的 DOS 可以识别 U 盘,但 进入 grub.exe 之后,DOS 将不复存在, DOS 的 USB 驱动当然也无影无踪了。此时在 grub 中是无法访问 U 盘的。

我的实践证明这个观点完全是错误的,不知道不点是如何得出这样的结论?我刚实验了一下,在进入GRUB.EXE之后,选第7项,也就是:
title [6] Grub 命令行模式
commandline
在 GRUB> 键入 QUIT 退出 GRUB ;屏幕上显示的竟然是 SETUP>;运行DOS的内部命令没一点问题,事实完全证明此时DOS环境依然存在,GRUB.EXE完全是依附DOS而运行的。既然DOS还存在,那么用devload.com加载的USB驱动也肯定是存在的。SETUP> 这个符号已经证明了一切,因为在我的所有盘所有分区根目录中只有U盘里有SETUP 这个文件夹。


进入 grub 之后,DOS 的程序代码早已被 grub.exe 当作数据备份到绝对地址 2M 之处了。DOS 只是一个死的 DOS,无法起作用。当你敲入 quit 时,grub 又从绝对地址 2M 处把 DOS 的现场加以恢复,这样 DOS 又活了起来。

一个死的 DOS 是不能运作的,所以在 grub 之下,你不能调用 DOS。但是,DOS 下的驱动,则可能会是一个例外。那些超级的驱动程序设计者,有可能针对 grub.exe 的特点,写出了一个可以被 grub4dos 使用的 DOS 驱动程序。一个什么样的 DOS 驱动可以被 GRUB 使用呢?答案很简单,只要 DOS 驱动编写成完全不调用 DOS 而(最多)只调用 BIOS,则这样的 DOS 驱动都可能被改造成与 grub4dos 兼容的形式。
回复

使用道具 举报

5#
发表于 2008-8-26 08:35:50 | 显示全部楼层
gwerdf,有人说了,grub4dos 需要憎恨者。因此,你实际上也是在帮助 grub4dos。没关系的,总有人会关注此问题的。不过憎恨之余,你最好还是研究一下 grub 的命令行,不要总是使用图形界面的程序。不要对命令行感到畏惧,一旦你掌握了命令行,你会上瘾的。我真的很遗憾你碰巧是一个不使用命令行的人,否则,此问题的谜底马上就能揭晓了。还有没有其他志愿者帮助测试这个问题?

grub.exe 在没有命令行参数的情况下,默认就是启动当前目录下的 menu.lst 文件。即使你把某个 menu.lst 文件内置到 grub.exe 中,它也是不会优先的。没想到这点困难就把你挡住了。要有耐心一点。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-11-9 21:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表