|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『楼 主』:
在U盘中使用grub,如何解决这两个问题?
使用 LLM 解释/回答一下
我的U盘为ZIP模式,我是在U盘启动到DOS后,运行
grub --config-file=(fd1)/menu.lst
这时软驱不停地转动,嘎嘎声作响,屏幕显示:
default 0
timeout 1
fallback 1
估计响了足足1分钟,非常令人讨厌,然后才进入到菜单显示。
我的问题是:
1. 怎样才能跳过对软驱(fd0)的访问,以避免这种情况的出现,从而顺利地进入到U盘中的菜单显示?
2. 当我进入到菜单后,我想使用U盘中的镜象文件diskedit.img,用以下命令
map --menu (fd1)/diskedit.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
结果显示为 Error 27:Disk read error press any key to continue...
我的命令应当如何修改?谢谢!!
My USB flash drive is in ZIP mode. After I boot the USB flash drive to DOS, I run
grub --config-file=(fd1)/menu.lst
At this time, the floppy drive keeps spinning, making a嘎嘎sound, and the screen displays:
default 0
timeout 1
fallback 1
It rang for about 1 minute, which is very annoying, and then the menu is displayed.
My questions are:
1. How can I skip accessing the floppy drive (fd0) to avoid this situation and successfully enter the menu display in the USB flash drive?
2. When I enter the menu, I want to use the image file diskedit.img in the USB flash drive. Use the following commands
map --menu (fd1)/diskedit.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
The result is displayed as Error 27:Disk read error press any key to continue...
How should I modify my command? Thank you!
|
|
2006-7-23 08:33 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
你用的版本太古老了,应该用最新版的,在 http://grub4dos.jot.com/
那个 --menu 是你的笔误吧?应该是 --mem
另外,你能肯定 (fd1) 这个设备是存在的吗?U 盘一般是 (fd0) 而不是 (fd1),除非你的系统比较特别。我想你大概应该用 (fd0) 而不是 (fd1),除非你确实知道有 (fd1) 这个设备。所以我觉得好像应该这样:
grub --config-file=(fd0)/menu.lst
------------------------------------------------------------
map --mem (fd0)/diskedit.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot
------------------------------------------------------------
自己多看看资料,再多试试,就可解决问题的。
The version you are using is too old. You should use the latest version at http://grub4dos.jot.com/
That --menu is a typo by you, it should be --mem.
Also, can you be sure that the (fd1) device exists? Usually the USB flash drive is (fd0) instead of (fd1), unless your system is relatively special. I think you should probably use (fd0) instead of (fd1), unless you really know that there is the (fd1) device. So I think it should be like this:
grub --config-file=(fd0)/menu.lst
------------------------------------------------------------
map --mem (fd0)/diskedit.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot
------------------------------------------------------------
Look more at the materials and try more, and you can solve the problem.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2006-7-23 09:40 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
谢谢不点大师的帮助!
1.menu确实为mem之笔误,是我在发帖时写错了;
2.我先用硬盘上的grub检查过了,FD0是我的软驱,FD1应当是我的U盘。而且我最初用的是fd0,但运行grub后即死机,后来换成fd1可以启动grub,但就是出现上述现象,我想如果拔除软盘的数据线,它就会是fd0了;
3.我是一个星期前从您给出网站上下载的稳定版,应该不算旧吧?
Thanks to Master Budian's help!
1. menu is indeed a typo for mem, which I made when posting;
2. I first checked with grub on the hard disk. FD0 is my floppy drive, and FD1 should be my USB flash drive. And I initially used fd0, but it froze after running grub. Later, I switched to fd1 to start grub, but the above phenomenon occurred. I think if I pull out the floppy data cable, it will be fd0;
3. I downloaded the stable version from the website you provided a week ago. It shouldn't be too old, right?
|
|
2006-7-23 09:50 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
估计响了足足1分钟?是不是软驱坏了?
拔除软驱数据线也没多大意义,BOIS还是分配中断给软驱的,最好在BOIS里屏蔽掉软驱。
It is estimated that it rang for about 1 minute? Is the floppy drive broken? Removing the floppy drive data cable is not of much significance. The BIOS still assigns an interrupt to the floppy drive. It is best to disable the floppy drive in the BIOS.
|
|
2006-7-23 11:17 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
Originally posted by fastslz at 2006-7-23 11:17:
估计响了足足1分钟?是不是软驱坏了?
拔除软驱数据线也没多大意义,BOIS还是分配中断给软驱的,最好在BOIS里屏蔽掉软驱。
软驱响,并不是它坏了,就是现在我还在用软驱。我估计是因为我没有放软盘,但是grub却硬要搜索软盘中的文件,这样致使它来回动作。
实际上,我是从U盘启动的,不是从软盘启动的。如果从BIOS中屏蔽软驱,只有使用“解除”项,这样岂不是连我的U盘也无法启动了。
而且,我认为,只有拔除数据线,就相当于没有软驱,它就不会作读盘动作了。
Originally posted by fastslz at 2006-7-23 11:17:
It seemed to ring for about one minute? Is the floppy drive broken?
It doesn't make much sense to unplug the floppy drive data cable. The BIOS still assigns an interrupt to the floppy drive. It's better to disable the floppy drive in the BIOS.
The floppy drive ringing doesn't mean it's broken; I'm still using a floppy drive now. I guess it's because I didn't put a floppy disk in, but GRUB insists on searching for files in the floppy disk, which causes it to move back and forth.
Actually, I booted from a USB flash drive, not a floppy disk. If I disable the floppy drive in the BIOS, I have to use the "enable" option, which would make it impossible to boot from my USB flash drive.
Moreover, I think unplugging the data cable is equivalent to having no floppy drive, so it won't perform the disk reading action.
|
|
2006-7-23 11:42 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
可以在BIOS中将软驱设为“无”的,我试一下看。不过,就解决问题而言,即使这样可以使用,但毕竟是一个问题。
You can set the floppy drive to "None" in the BIOS, and I'll give it a try. But for solving the problem, even if it can be used this way, after all, it's still an issue.
|
|
2006-7-23 12:04 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
你试试今天上载的最新测试版本。这个测试版应该很稳定了。现在 grub 中的预置菜单应该不会自动搜索软盘了。
------------------
我来分析一下:
grub --config-file=(fd1)/menu.lst
这条命令指定了菜单文件 (fd1)/menu.lst,如果 GRUB 确实能够找到并打开这个文件,就直接把这个文件当作配置文件,并执行其中的命令。否则,当文件不存在或者打开文件失败时,GRUB 就把内置的 preset_menu 作为主控菜单来执行。老的 preset_menu 是要搜索软盘的,所以,就出现了你所看到的情况。最新版 GRUB4DOS 中的 preset_menu 不再搜索软盘,所以应当不再有问题了。
不过,从刚才的分析似乎发现,(fd1)/menu.lst 可能不存在。
另外,U盘启动到DOS以后,应该A:就是U盘了,要么C:是U盘,不应当出现 B:或者 D:是U盘的情况。这是因为 DOS 不能从 A: 和 C: 以外的盘成功启动。
所以,你的 (fd1) 可能是不存在,你自己好像也没证明它是存在的。
如果 (fd0) 是你的真实软驱,它咔嚓作响,那我估计你的 U 盘应该是C:了。你这样试试:
grub
不要加 --config-file, 这样的话,默认寻找 (hd0,0)/menu.lst 作为配置菜单。
You try the latest test version uploaded today. This test version should be quite stable. Now the preset menu in grub should not automatically search for floppy disks.
------------------
Let me analyze:
grub --config-file=(fd1)/menu.lst
This command specifies the menu file (fd1)/menu.lst. If GRUB can indeed find and open this file, it directly uses this file as the configuration file and executes the commands in it. Otherwise, when the file does not exist or the file opening fails, GRUB uses the built-in preset_menu as the main control menu to execute. The old preset_menu is to search for floppy disks, so the situation you saw occurs. The preset_menu in the latest version of GRUB4DOS no longer searches for floppy disks, so there should be no problem anymore.
However, from the previous analysis, it seems that (fd1)/menu.lst may not exist.
In addition, after booting the USB flash drive to DOS, A: should be the USB flash drive, or C: is the USB flash drive, and there should be no situation where B: or D: is the USB flash drive. This is because DOS cannot successfully boot from drives other than A: and C:.
So your (fd1) may not exist, and you yourself seem not to have proved that it exists.
If (fd0) is your real floppy drive and it is clicking, then I estimate your USB flash drive should be C:. You can try this:
grub
Do not add --config-file, in this case, it will default to find (hd0,0)/menu.lst as the configuration menu.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2006-7-23 12:11 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
不点大师的贴子我才看见,还没有来得及试验。我先说说刚才试验的情况,实在是太奇怪了!
1.我的电脑是华硕845D芯片组的主板,只有USB_ZIP项,没有USB_HDD项;
2.当我在BIOS中将软驱设为“无”时,我从硬盘上启动GRUB(当然,U盘已在),确认只存在三个盘:FD0、HD0、HD1(我有两个硬盘);
3.于是我从U盘启动在DOS下后,运行grub --config-file=(fd0)/menu.lst,照样死机;
4.重新启动电脑,仍将软驱设为无,运行grub --config-file=(fd1)/menu.lst,却可以正常启动GRUB,也不再读软驱了,当然也没有嘎嘎声。
为此,我十分奇怪,于是我进入GRUB命令行,运行:
cat (, 显示(fd0),(hd0),(hd1)
用cat (fd0, 显示它确实为U盘。
用cat (fd1, 显示为:Error23:Selected disk does not exist
I just saw the post from Master BuDian and haven't had time to test it yet. Let me first talk about the situation I tested just now. It's really strange!
1. My computer is a motherboard with an Asus 845D chipset. There is only the USB_ZIP option, and no USB_HDD option;
2. When I set the floppy drive to "None" in the BIOS, I boot GRUB from the hard drive (of course, the USB flash drive is plugged in), and confirm that there are only three disks: FD0, HD0, HD1 (I have two hard drives);
3. So after I boot from the USB flash drive into DOS, I run grub --config-file=(fd0)/menu.lst, and it still crashes;
4. Restart the computer, still set the floppy drive to None, run grub --config-file=(fd1)/menu.lst, but can start GRUB normally, and no longer read the floppy drive, of course, there is no clicking sound.
For this, I was very strange, so I entered the GRUB command line and ran:
cat (, displays (fd0),(hd0),(hd1)
Use cat (fd0, displays that it is indeed the USB flash drive.
Use cat (fd1, displays: Error23:Selected disk does not exist
|
|
2006-7-23 12:48 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
按要求使用最新的7.23日版(实际上为7.22),现报告如下:
1.试用情况与原grub for dos V4.1相同,在U盘中必须使用
grub --config-file=(fd1) /menu.lst才能启动,如果在BIOS中未断开软驱,仍有读盘动作,软驱嗄嗄响;如果在BIOS中将软驱设为无,无读盘,不响,也能启动。
2.使用grub --config-file=(fd0) /menu.lst不能启动,在
CD-ROM setup is OK. 后死机。但U盘在死机之前仍有较长时间的读取动作(因为U盘的灯一直在闪烁)
3.我通过硬盘启动GRUB后,确实有以下显示:
possible disk are:fd0 fd1 hd0 hd1 rd
如果使用 cat (fd0, 则无任何显示(上个版本有显示),rd也一样无显示;
使用 cat (fd1, 则有"Plssible partitions are:"等内容的显示。
我已查清,如果我把C盘中的menu.lst删除,则无论使用--config-file=(fd1)或者--config-file=(fd0)均死机,说明U盘运行GRUB时读取的菜单实际上是C盘根目录下的,它无法读取U盘根目录下的菜单(虽然有较长时间的读取动作,但最终还是死机)。
结论:如果C盘下无menu.lst,我无法在U盘的DOS启动环境下运行GRUB,否则死机。
但我无法理解的是:是否死机竟然受C盘有无menu.lst的制约,难道没有办法解决吗?
Report as follows in accordance with the requirements using the latest July 23 version (actually July 22):
1. The trial situation is the same as the original grub for dos V4.1. It must be started in the USB flash drive by using grub --config-file=(fd1) /menu.lst. If the floppy drive is not disconnected in the BIOS, there is still a disk reading action, and the floppy drive makes a clicking sound; if the floppy drive is set to none in the BIOS, there is no disk reading, no sound, and it can also be started.
2. Starting with grub --config-file=(fd0) /menu.lst is not possible, and it freezes after "CD-ROM setup is OK.". But the USB flash drive still has a long time of reading action before freezing (because the light of the USB flash drive is always flashing).
3. After I boot GRUB from the hard disk, there are indeed the following displays:
possible disk are:fd0 fd1 hd0 hd1 rd
If using cat (fd0, there is no display (the previous version had display), and the same is true for rd;
Using cat (fd1, there is display such as "Plssible partitions are:".
I have found out that if I delete the menu.lst in drive C, then whether using --config-file=(fd1) or --config-file=(fd0) will freeze, indicating that the menu read by GRUB when running on the USB flash drive is actually in the root directory of drive C, and it cannot read the menu in the root directory of the USB flash drive (although there is a long time of reading action, it finally freezes).
Conclusion: If there is no menu.lst in drive C, I cannot run GRUB in the DOS startup environment of the USB flash drive, otherwise it will freeze.
But what I can't understand is: Whether it freezes is actually restricted by whether there is a menu.lst in drive C. Is there no way to solve it?
|
|
2006-7-23 14:35 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
那看看BIOS设置里有没有每次开机检测软驱(BOOT UP FLOPPY SEEK)
和、交换软驱盘符(SWAP FLOPPY DRIVE)选项
另外如果menu.lst在根目录,可以直接grub回车调用内置菜单启动呀!
Then check if there are options like "BOOT UP FLOPPY SEEK" (check floppy drive on boot) and "SWAP FLOPPY DRIVE" (swap floppy drive letters) in the BIOS settings. Also, if menu.lst is in the root directory, you can directly press grub to call the built-in menu to boot!
|
|
2006-7-23 15:37 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
直接运行GRUB,可以不死机,软驱也不响。但却没有菜单(已将C盘根目录下的menu.lst删除,否则可以显示),屏幕的最后显示为GRUB命令行。两个疑问:
1. 这种情况下如何能够显示menu.lst菜单?
2. 看来,就是因为读取U盘的菜单问题才导致死机,如何解决?
Directly running GRUB, no crash occurs and the floppy drive doesn't make noise. But there is no menu (the menu.lst under the root directory of drive C has been deleted, otherwise it can be displayed), and the last display on the screen is the GRUB command line. Two questions:
1. How can the menu.lst menu be displayed in this case?
2. It seems that it is because of the problem of reading the menu from the USB flash drive that the crash occurs. How to solve it?
|
|
2006-7-23 16:13 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 12 楼』:
使用 LLM 解释/回答一下
我这个机子不支持USB启动,没办法用你的方法测试。不知道属于个别现象还是GRUB的一个BUG,等不点大师解答吧。哦...同一个包里的grldr在你的U盘上正常吗?
I this machine does not support USB boot, so I can't test it with your method. I don't know if it's an individual phenomenon or a GRUB bug. Wait for the boss of Dengbudian to answer. Oh... Is the grldr in the same package normal on your USB drive?
|
|
2006-7-23 16:53 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
--1.我的电脑是华硕845D芯片组的主板,只有USB_ZIP项,没有USB_HDD项;
--2.当我在BIOS中将软驱设为“无”时,我从硬盘上启动GRUB(当然,U盘已在),确认只存在三个盘:----FD0、HD0、HD1(我有两个硬盘);
说明从硬盘启动时,BIOS把U盘识别为A:。所以,你的U盘总是被识别为A:,不管是从硬盘启动,还是从U盘启动都是这样的。
--3.于是我从U盘启动在DOS下后,运行grub --config-file=(fd0)/menu.lst,照样死机;
访问U盘就死机?这应该是那个古老的U盘BIOS的BUG吧。很久以前就有人这么报告了。结合你前面的报告,这个BUG总会出现,不管BIOS中是否禁止软盘。
--4.重新启动电脑,仍将软驱设为无,运行grub --config-file=(fd1)/menu.lst,却可以正常启动GRUB,
--也不再读软驱了,当然也没有嘎嘎声。
你用一个不存在的文件做菜单,当然 GRUB 找不到这个菜单了。于是 GRUB 调用内置的菜单。内置的菜单首先搜索到硬盘上的 menu.lst ,就把控制权交给硬盘上的这个菜单了。
--为此,我十分奇怪,于是我进入GRUB命令行,运行:
--cat (, 显示(fd0),(hd0),(hd1)
--用cat (fd0, 显示它确实为U盘。
--用cat (fd1, 显示为:Error23:Selected disk does not exist
证实了 (fd1) 不存在。
--按要求使用最新的7.23日版(实际上为7.22),现报告如下:
--1.试用情况与原grub for dos V4.1相同,在U盘中必须使用grub --config-file=(fd1) /menu.lst
--才能启动,如果在BIOS中未断开软驱,仍有读盘动作,软驱嗄嗄响;如果在BIOS中将软驱设为无,
--无读盘,不响,也能启动。
和上面的分析一样。补充一点,如果 BIOS 设置中有软驱,那么导致读取软驱的可能是(fd1)/menu.lst。某些 BIOS 会在你试图访问 (fd1) 时,实际访问的是 (fd0)。
--2.使用grub --config-file=(fd0)/menu.lst不能启动,在CD-ROM setup is OK. 后死机。
--但U盘在死机之前仍有较长时间的读取动作(因为U盘的灯一直在闪烁)。
访问U盘就死机?这应该是那个古老的U盘BIOS的BUG吧。很久以前就有人这么报告了。结合你前面的报告,这个BUG总会出现,不管BIOS中是否禁止软盘。从出错信息已经到达 CD-ROM setup is OK 可见,A20 已经成功打开,所以排除 A20 的控制导致死机的可能。应该是在读取U盘上的菜单文件时死机了。你设法进入 GRUB,然后用 geometry (fd0) 命令,看看这条命令能否成功执行。如果成功,贴出它的输出结果。更进一步,你还可以用 cat --hex (fd0)+1 来显示 U 盘的第一扇区,看看它是否正常。
--3.我通过硬盘启动GRUB后,确实有以下显示:
--possible disk are:fd0 fd1 hd0 hd1 rd
--如果使用 cat (fd0, 则无任何显示(上个版本有显示),rd也一样无显示;
--使用 cat (fd1, 则有"Plssible partitions are:"等内容的显示。
显示的两个软盘,(fd0)可能是你的真实软驱,所以它没有内容显示。而(fd1)可能是U盘,所以有内容显示。但是你没把内容显示完,所以,你最好用 cat --hex (fd1)+1 把 U 盘的第一扇区显示出来,看看它究竟是含有分区表的 MBR 呢,还是通常的 DOS 引导扇区?
--我已查清,如果我把C盘中的menu.lst删除,则无论使用--config-file=(fd1)或者--config-file=(fd0)
--均死机,说明U盘运行GRUB时读取的菜单实际上是C盘根目录下的,它无法读取U盘根目录下的菜单
--(虽然有较长时间的读取动作,但最终还是死机)。
--结论:如果C盘下无menu.lst,我无法在U盘的DOS启动环境下运行GRUB,否则死机。
所以,我觉得应该查明 U 盘的结构,就像上面说的那样。同时也再次显现,这是 BIOS 读取过程导致的死机,本质上是 BIOS 的错。
--但我无法理解的是:是否死机竟然受C盘有无menu.lst的制约,
当 C 盘有 menu.lst 时,GRUB 不找 U 盘,所以就不会死机。这是很容易理解的。一旦要从 U 盘读取文件,这时就可能导致死机。当 C 盘没有 menu.lst 时,老版本的 GRUB 会查找软盘(也就是U盘),这样就有可能死机。新版本不应该查找软盘,因此应该不会死机了,你再确认一下。
--难道没有办法解决吗?
试试这样如何?grub --config-file="commandline" 这条命令不使用别的菜单,而直接使用命令行指定的GRUB命令(此处是commandline命令),这样,启动 GRUB 后将直接进入命令行,不再找菜单了。
=========
总的看来,导致这一现象,有两种可能的原因。一个是 BIOS 的 BUG,另一个就是 U 盘格式化的方式错误所导致的。不过根本的原因,应该还是第一个,即 BIOS 的 BUG 导致的。找 BIOS 厂家或者主板生产厂家解决。
--1. My computer is a mainboard with ASUS 845D chipset, only has USB_ZIP item, no USB_HDD item;
--2. When I set the floppy drive to "None" in BIOS, I boot GRUB from the hard disk (of course, the USB flash drive is inserted), and confirm there are only three disks: ---FD0, HD0, HD1 (I have two hard disks);
It shows that when booting from the hard disk, the BIOS recognizes the USB flash drive as A:. So, your USB flash drive is always recognized as A:, whether booting from the hard disk or from the USB flash drive.
--3. Then I boot from the USB flash drive into DOS, and run grub --config-file=(fd0)/menu.lst, still get a system crash;
Crash when accessing the USB flash drive? This should be a bug in that old USB flash drive BIOS. This has been reported by people a long time ago. Combined with your previous report, this bug always occurs, regardless of whether the floppy drive is disabled in BIOS.
--4. Restart the computer, still set the floppy drive to None, run grub --config-file=(fd1)/menu.lst, but can start GRUB normally,
--also no longer read the floppy drive, of course no clicking sound.
You use a non-existent file as the menu, of course GRUB cannot find this menu. Then GRUB calls the built-in menu. The built-in menu first searches and finds the menu.lst on the hard disk, then hands over control to this menu on the hard disk.
--For this, I am very curious, so I enter the GRUB command line, run:
--cat (, displays (fd0),(hd0),(hd1)
--Use cat (fd0, displays it is indeed the USB flash drive.
--Use cat (fd1, displays: Error23:Selected disk does not exist
Confirmed that (fd1) does not exist.
--Use the latest version on July 23rd (actually July 22nd), now report as follows:
--1. Test situation is the same as original grub for dos V4.1, in the USB flash drive must use grub --config-file=(fd1) /menu.lst
--to start, if the floppy drive is not disconnected in BIOS, there is still reading action, the floppy drive clicks; if the floppy drive is set to None in BIOS,
--no reading action, no click, and can start.
Same as above analysis. Supplement: If there is a floppy drive in BIOS settings, then the possible reading of the floppy drive may be (fd1)/menu.lst. Some BIOS may actually access (fd0) when you try to access (fd1).
--2. Use grub --config-file=(fd0)/menu.lst cannot start, crash after CD-ROM setup is OK.
--But the USB flash drive still has a long time of reading action before the crash (because the light of the USB flash drive is flashing all the time).
Crash when accessing the USB flash drive? This should be a bug in that old USB flash drive BIOS. This has been reported by people a long time ago. Combined with your previous report, this bug always occurs, regardless of whether the floppy drive is disabled in BIOS. From the error message having reached CD-ROM setup is OK, it shows that A20 has been successfully opened, so rule out the possibility of crash caused by A20 control. It should be that the crash occurs when reading the menu file on the USB flash drive. You try to enter GRUB, then use the geometry (fd0) command, see if this command can be executed successfully. If successful, post its output result. Further, you can also use cat --hex (fd0)+1 to display the first sector of the USB flash drive, see if it is normal.
--3. I boot GRUB from the hard disk, indeed have the following display:
--possible disk are:fd0 fd1 hd0 hd1 rd
--If use cat (fd0, then no any display (the previous version has display), rd also no display;
--Use cat (fd1, then has display such as "Plssible partitions are:".
The two displayed floppy drives, (fd0) may be your real floppy drive, so it has no content display. And (fd1) may be the USB flash drive, so it has content display. But you did not display the content completely, so, you better use cat --hex (fd1)+1 to display the first sector of the USB flash drive, see if it is a partition table containing MBR or a usual DOS boot sector?
--I have found out, if I delete menu.lst in C drive, then no matter use --config-file=(fd1) or --config-file=(fd0)
--均 crash, indicating that the menu read by GRUB when running on USB flash drive is actually the one in C drive root directory, it cannot read the menu in USB flash drive root directory
--(although there is a long time of reading action, but finally crash).
--Conclusion: If there is no menu.lst in C drive, I cannot run GRUB in DOS startup environment of USB flash drive, otherwise crash.
So, I think should find out the structure of the USB flash drive, just as above said. Also again shows, this is the crash caused by BIOS reading process, essentially a BIOS fault.
--But what I cannot understand is: whether the crash is actually restricted by whether there is menu.lst in C drive,
When there is menu.lst in C drive, GRUB does not look for the USB flash drive, so it will not crash. This is easy to understand. Once need to read files from the USB flash drive, then it may lead to crash. When there is no menu.lst in C drive, the old version of GRUB will search for the floppy drive (that is, the USB flash drive), so it may lead to crash. The new version should not search for the floppy drive, so should not crash, you confirm again.
--Is there no way to solve it?
Try like this? grub --config-file="commandline" this command does not use other menus, but directly uses the GRUB command specified by the command line (here is commandline command), so, after starting GRUB will directly enter the command line, no longer look for the menu.
=========
Generally speaking, there are two possible reasons leading to this phenomenon. One is a BIOS bug, the other is that the formatting method of the USB flash drive is wrong. But the fundamental reason should still be the first one, that is, the BIOS bug leads to it. Find the BIOS manufacturer or mainboard manufacturer to solve.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2006-7-23 16:55 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
--另外如果menu.lst在根目录,可以直接grub回车调用内置菜单启动呀!
GRUB 默认启动的菜单是 (hd0,0)/menu.lst,输入 grub 回车和输入 grub --config-file=(hd0,0)/menu.lst 是同样的效果。所以,这种办法并不能启动 A: 盘上的 menu.lst。
--哦...同一个包里的grldr在你的U盘上正常吗?
对,你可以尝试把 GRLDR 安装在 U 盘上,直接用 GRLDR 启动,看看 GRLDR 可否成功读取 U 盘根目录里的 menu.lst。不过我估计照样失败,因为 GRLDR 和 GRUB 本质上是一样的,差别只在于启动过程不同。当进入 GRUB 环境之后,就没什么差别了。
一个最无奈的办法是,把菜单整个嵌入到 GRUB 的命令行中,这样就不需要进入 GRUB 之后再从 U 盘装入菜单了。如果菜单很小,可以嵌入 grub.exe 的命令行(DOS提示符下或者AUTOEXEC.BAT中),如果菜单很大,则必须用 config.sys 了。GRUB4DOS 的发布里面就有一个做例子用的 config.sys,你研究一下这个例子就管用了。
不过,你仍然要记住,进入 GRUB 的环境之后,不能有访问 U 盘的动作(菜单命令也不要有访问U盘的动作),否则仍然免不了死机。
Last edited by 不点 on 2006-7-23 at 17:22 ]
--Additionally, if menu.lst is in the root directory, you can directly press Enter after typing grub to call the built-in menu to start!
The default boot menu of GRUB is (hd0,0)/menu.lst. Pressing Enter after typing grub has the same effect as typing grub --config-file=(hd0,0)/menu.lst. So, this method cannot start menu.lst on drive A.
--Oh...Is the grldr in the same package working normally on your USB flash drive?
Yes, you can try installing GRLDR on the USB flash drive and directly use GRLDR to start, and see if GRLDR can successfully read menu.lst in the root directory of the USB flash drive. But I estimate it will still fail, because GRLDR and GRUB are essentially the same, the difference is only in the startup process. After entering the GRUB environment, there is no difference.
One most helpless method is to embed the entire menu into the GRUB command line, so that there is no need to load the menu from the USB flash drive after entering GRUB. If the menu is small, it can be embedded in the command line of grub.exe (in the DOS prompt or in AUTOEXEC.BAT). If the menu is large, you must use config.sys. There is a config.sys for example in the release of GRUB4DOS. You can study this example to make it work.
However, you still need to remember that after entering the GRUB environment, there should be no actions to access the USB flash drive (and the menu commands should not have actions to access the USB flash drive), otherwise it will still inevitably crash.
Last edited by 不点 on 2006-7-23 at 17:22 ]
|

因为我们亲手创建,这个世界更加美丽。 |
|
2006-7-23 17:06 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 15 楼』:
使用 LLM 解释/回答一下
BF1B065057B9E501F3A4CBBDBE07B104
386E007C09751383C510E2F4CD188BF5
83C610497419382C74F6A0B507B4078B
F0AC3C0074FCBB0700B40ECD10EBF288
4E10E84600732AFE4610807E040B740B
807E040C7405A0B60775D28046020683
46080683560A00E821007305A0B607EB
BC813EFE7D55AA740B807E100074C8A0
B707EBA98BFC1E578BF5CBBF05008A56
00B408CD1372238AC1243F988ADE8AFC
43F7E38BD186D6B106D2EE42F7E23956
0A77237205394608731CEB1A90BB007C
8B4E028B5600CD1373514F744E32E48A
5600CD13EBE48A560060BBAA55B441CD
13723681FB55AA7530F6C101742B6160
6A006A00FF760AFF76086A0068007C6A
016A10B4428BF4CD136161730E4F740B
32E48A5600CD13EBD661F9C3496E7661
6C696420706172746974696F6E207461
626C65004572726F72206C6F6164696E
67206F7065726174696E672073797374
656D004D697373696E67206F70657261
74696E672073797374656D0000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
0000000000000000D80C050000008001
01000EFE3F063F000000C1F301000000
00000000000000000000000000000000
00000000000000000000000000000000
000000000000000000000000000055AA
如果直接运行GRUB,不死机,软驱也不响。可以进入命令行,但回车后仍然是命令行,无菜单显示,可以用quit返回DOS。当然,也可以用type显示U盘根目录下的menu.lst,不过这样没有意义,因无法执行菜单中的命令。
我的想法是,1.启动到DOS下完全正常;2.也可以直接运行GRUB;3.仅仅是读菜单时才导致问题的出现。
因此,把这样的故障完全说是BIOS造成的,我还理解不了。
BF1B065057B9E501F3A4CBBDBE07B104
386E007C09751383C510E2F4CD188BF5
83C610497419382C74F6A0B507B4078B
F0AC3C0074FCBB0700B40ECD10EBF288
4E10E84600732AFE4610807E040B740B
807E040C7405A0B60775D28046020683
46080683560A00E821007305A0B607EB
BC813EFE7D55AA740B807E100074C8A0
B707EBA98BFC1E578BF5CBBF05008A56
00B408CD1372238AC1243F988ADE8AFC
43F7E38BD186D6B106D2EE42F7E23956
0A77237205394608731CEB1A90BB007C
8B4E028B5600CD1373514F744E32E48A
5600CD13EBE48A560060BBAA55B441CD
13723681FB55AA7530F6C101742B6160
6A006A00FF760AFF76086A0068007C6A
016A10B4428BF4CD136161730E4F740B
32E48A5600CD13EBD661F9C3496E7661
6C696420706172746974696F6E207461
626C65004572726F72206C6F6164696E
67206F7065726174696E672073797374
656D004D697373696E67206F70657261
74696E672073797374656D0000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
D80C05000000800101000EFE3F063F00
0000C1F3010000000000000000000000
00000000000000000000000000000000
000000000000000000000000000055AA
If you directly run GRUB, there is no system hang, and the floppy drive doesn't make noise. You can enter the command line, but after pressing Enter, it's still the command line, and no menu is displayed. You can use quit to return to DOS. Of course, you can also use type to display the menu.lst in the root directory of the USB flash drive, but this is meaningless because you can't execute the commands in the menu.
My idea is: 1. Booting to DOS is completely normal; 2. You can also directly run GRUB; 3. The problem only occurs when reading the menu.
Therefore, I can't understand that this failure is completely attributed to the BIOS.
|
|
2006-7-23 17:40 |
|
|