标题: grub4dos 邮件列表以及资源链接
[打印本页]
作者: 不点
时间: 2007-7-10 19:22
标题: grub4dos 邮件列表以及资源链接
在 google 上已经建立了 grub4dos 的网上论坛,地址如下:
http://groups.google.com/group/grub4dos?hl=zh-CN
在上述网上论坛发言的方法是,发送电子邮件至:
grub4dos@googlegroups.com
以下是几个可以下载 grub4dos 的网站:
http://grub4dos.nufans.net/
http://download.gna.org/grub4dos/
http://grub4dos.sourceforge.net/grub4dos/
http://sarovar.org/projects/grub4dos/
http://grub4dos.jot.com/ (已无法访问)
更新:原 http://grub4dos.jot.com/ 的内容已经转移到
Google 协作平台 http://sites.google.com/site/grubdos/
这里贴出有关“启动盘”的一些项目的索引地址(grub4dos也有幸被列入其中):
http://www.softpedia.com/get/System/Boot-Manager-Disk/
http://linux.softpedia.com/get/System/Boot/
以下是中文支持论坛(Sysoft 时空论坛)的网址:
http://bbs.znpc.net/
我们的英文支持论坛已经设置在这里:
http://www.boot-land.net/forums/?showforum=66
[
Last edited by 不点 on 2008-12-1 at 11:45 ]
作者: chenall
时间: 2007-7-10 20:47
不点也做起广告来啦....
这个版本有下过了.
好像GRUB4DOS对USB-CDROM的支持不是很好?
还是主板问题?
使用ISOLINUX没有问题,使用GRUB启动就找不到CDROM了.
一个VIA的主板可以正常使用,INTEL 865G的主板,使用GRUB启动后就找不到USB-CDROM了.
root +TAB可以看到一个cd,但是
root (cd)/ 提示分区不存在.
从很早的版本开始试了都不行.
注:这个USB-CDROM是用U3的U盘格式化出来的.
我是从USB-CDROM启动的,用ISOLINUX作为引导器,一切正常.
用GRUB就有问题..
需要提交什么信息?
[
Last edited by chenall on 2007-7-10 at 08:50 PM ]
作者: chenall
时间: 2007-7-10 20:55
另一个问题,新版的和旧版的比,加载速度好像慢了点.
用旧版的同一个菜单文件,很快就过去了,新版的可能要慢上一两秒.
作者: wang6610
时间: 2007-7-10 22:19
好像GRUB4DOS对USB-CDROM的支持不是很好?
一两年前就说过了.
作者: 不点
时间: 2007-7-11 10:11
grub4dos 是用 BIOS 来访问硬件的。如果 BIOS 不支持设备的硬件访问,那么 grub4dos 也没办法。
不过,从你提供的如下信息来看,似乎问题不太严重:
Quote: |
root +TAB可以看到一个cd, 但是 root (cd)/ 提示分区不存在. |
|
怀疑是 cd 的数据结构问题。grub4dos 只支持 Rock Ridge 格式的光盘,不支持 Joliet 格式。
如果你认为不是数据结构问题,你可以作更多调试,把结果贴上来。比如:
debug on
geometry (cd)
root (cd)
cat --hex (cd)16+4
等等。
[
Last edited by 不点 on 2007-7-11 at 10:12 AM ]
作者: chenall
时间: 2007-7-11 11:56
我在另外一台VIA的主板是是可以正常使用的.以前有一个845G的主板也可以.
现在一台865G只能启动到命令行下.
>debug on
>geometry (cd)
int 13/41(9F),version=0,int 13/4B01 (9F),err-1,drive=9F,int 13/48(9F),err=1,
C/H/S=0/0/0,Sector count/Size=0/0,int 13/08(9F),version=1,C/H/S=65536/255/15
Selected disk does not exist
>root (cd)
int 13/41(9F),version=0,int 13/4B01 (9F),err-1,drive=9F,int 13/48(9F),err=1,
C/H/S=0/0/0,Sector count/Size=0/0,int 13/08(9F),version=1,C/H/S=16383/255/63
Selected disk does not exist
>cat --hex (cd)16+4
同上.
另测完后,我将光盘的文件格式由之前的Joliet改为了Rock Ridge .重新测试还是一样.
[
Last edited by chenall on 2007-7-11 at 12:01 PM ]
作者: chenall
时间: 2007-7-11 12:15
以下是可正常使用的电脑上的结果.
>oot (cd)
int 13/41(EF),version=AA300005,int 13/4B01(EF),err=0,drive=EF,filesystem is iso9600 use whole disk
>geometry (cd)
int 13/41(EF),version=AA300005,int 13/4B01(EF),err=0,drive 0xEF(LBA):C/H/S=65536/255/15, Sector Count/Size=250675200/2048
作者: 不点
时间: 2007-7-11 12:31
看来是 BIOS 的问题了。
成功的那个,其 BIOS 是完整的,失败的这个,其 BIOS 是破损的。
我们可以看到它前后矛盾的报告:
C/H/S=65536/255/15
C/H/S=16383/255/63
以及其它一些乱七八糟的报告。ISOLINUX 肯定是接到用户报告之后,解决了此问题,所以,我们也得用我们的方式来解决同一个问题。
我需要更进一步的调试结果。这些调试,用 DOS 的 debug 比较方便。你现在能进入 GRUB,并且也能发现 (cd) 这个设备。这就是很大的希望。
好了,在这样一个状态之下,你进入 DOS(可以用map来仿真启动一个DOS软盘),在 DOS 下用 debug 来测试 int 13 有关 cdrom 的几个功能。细说如下:
第一个测试。测试 int 13/41 功能是否正常。
在 DOS 下敲入 debug 回车。
在 debug 提示符下,
敲入 a 和 回车,开始汇编
敲入 mov ax,4100 回车
敲入 mov bx,55AA 回车
敲入 mov DL,9F 回车
敲入 int 13 回车
敲入 int 3 回车
此处多敲入一个回车,结束汇编。
敲入 g 回车,开始运行程序。
敲入 q 回车,退回到 DOS 提示符。
把屏幕显示的结果贴上来。
第二个测试。测试 int 13/4B01 功能是否正常。
在 DOS 下敲入 debug 回车。
在 debug 提示符下,
敲入 a 和 回车,开始汇编
敲入 mov ax,4B01 回车
敲入 mov si,0180 回车
敲入 mov DL,9F 回车
敲入 int 13 回车
敲入 int 3 回车
此处多敲入一个回车,结束汇编。
敲入 g 回车,开始运行程序。
敲入 d 0180 回车,显示所返回的数据结构。
敲入 q 回车,退回到 DOS 提示符。
把屏幕显示的结果贴上来。
第三个测试。测试 int 13/4800 功能是否正常。
在 DOS 下敲入 debug 回车。
在 debug 提示符下,
敲入 a 和 回车,开始汇编
敲入 mov ax,4800 回车
敲入 mov si,0180 回车
敲入 mov DL,9F 回车
敲入 int 13 回车
敲入 int 3 回车
此处多敲入一个回车,结束汇编。
敲入 g 回车,开始运行程序。
敲入 d 0180 回车,显示所返回的数据结构。
敲入 q 回车,退回到 DOS 提示符。
把屏幕显示的结果贴上来。
作者: chenall
时间: 2007-7-11 15:16
测试1
-a
1C76:0100 mov ax,4100
1C76:0103 mov bx,55aa
1C76:0106 mov dl,9f
1C76:0108 int 13
1C76:010A int 3
1C76:010B
-g
AX=0100 BX=55AA CX=0000 DX=009F SP=FFEE BP=0000 SI=0000 DI=0000
DS=1C76 ES=1C76 SS=1C76 CS=1C76 IP=010A NV UP EI NG NZ AC PO CY
1C76:010A CC INT 3
-q
测试2
-a
1C76:0100 mov ax,4b01
1C76:0103 mov si,0180
1C76:0106 mov dl,9f
1C76:0108 int 13
1C76:010A int 3
1C76:010B
-g
AX=0101 BX=0000 CX=0000 DX=009F SP=FFEE BP=0000 SI=0180 DI=0000
DS=1C76 ES=1C76 SS=1C76 CS=1C76 IP=010A NV UP EI NG NZ AC PO CY
1C76:010A CC INT 3
-d 0180
1C76:0180 36 90 DE 89 37 03 36 68-DB 2B F7 89 77 03 8B 36 6...7.6h.+..w..6
1C76:0190 96 DE 89 77 09 8B F7 8B-3E 90 DE 03 F9 3B 3E 8C ...w....>....;>.
1C76:01A0 DE 7D 15 2B F9 FC F3 A4-B0 00 AA 89 3E 90 DE 9D .}.+........>...
1C76:01B0 F8 EB 0A B8 01 00 EB 03-B8 02 00 9D F9 5E 5F 5A .............^_Z
1C76:01C0 59 5B C3 50 53 51 57 9C-F6 C7 01 74 27 83 3E 94 Y[.PSQW....t'.>.
1C76:01D0 DE FF 74 26 8B 1E 94 DE-B8 C6 DB E8 23 00 09 6F ..t&........#..o
1C76:01E0 07 09 2E 88 DE F7 C5 08-00 74 05 C6 06 8C D3 01 .........t......
1C76:01F0 9D F9 EB 08 A1 86 DE A3-94 DE 9D F8 5F 59 5B 58 ............_Y[X
-q
测试3
-a
1C76:0100 mov ax,4800
1C76:0103 mov si,0180
1C76:0106 mov dl,9f
1C76:0108 int 13
1C76:010A int 3
1C76:010B
-g
AX=0100 BX=0000 CX=0000 DX=009F SP=FFEE BP=0000 SI=0180 DI=0000
DS=1C76 ES=1C76 SS=1C76 CS=1C76 IP=010A NV UP EI NG NZ AC PO CY
1C76:010A CC INT 3
-d 0180
1C76:0180 36 90 DE 89 37 03 36 68-DB 2B F7 89 77 03 8B 36 6...7.6h.+..w..6
1C76:0190 96 DE 89 77 09 8B F7 8B-3E 90 DE 03 F9 3B 3E 8C ...w....>....;>.
1C76:01A0 DE 7D 15 2B F9 FC F3 A4-B0 00 AA 89 3E 90 DE 9D .}.+........>...
1C76:01B0 F8 EB 0A B8 01 00 EB 03-B8 02 00 9D F9 5E 5F 5A .............^_Z
1C76:01C0 59 5B C3 50 53 51 57 9C-F6 C7 01 74 27 83 3E 94 Y[.PSQW....t'.>.
1C76:01D0 DE FF 74 26 8B 1E 94 DE-B8 C6 DB E8 23 00 09 6F ..t&........#..o
1C76:01E0 07 09 2E 88 DE F7 C5 08-00 74 05 C6 06 8C D3 01 .........t......
1C76:01F0 9D F9 EB 08 A1 86 DE A3-94 DE 9D F8 5F 59 5B 58 ............_Y[X
-q
附件
1: 33.rar (2007-7-11 15:16, 2.58 K, 下载附件所需积分 1点
,下载次数: 7)
作者: 不点
时间: 2007-7-11 15:38
居然全都失败!再做一个测试:
第四个测试。测试 int 13/4200 (扇区扩展读)功能是否正常。
在 DOS 下敲入 debug 回车。
在 debug 提示符下,
敲入 a 和 回车,开始汇编
敲入 mov ax,4200 回车
敲入 mov si,0180 回车
敲入 mov word ptr [si], 0010 回车
敲入 mov word ptr [si+2], 0001 回车
敲入 mov word ptr [si+4], 0200 回车
敲入 mov word ptr [si+6], cs 回车
敲入 mov word ptr [si+8], 0010 回车
敲入 mov word ptr [si+A], 0000 回车
敲入 mov word ptr [si+C], 0000 回车
敲入 mov word ptr [si+E], 0000 回车
敲入 mov DL,9F 回车
敲入 int 13 回车
敲入 int 3 回车
此处多敲入一个回车,结束汇编。
敲入 g 回车,开始运行程序。
敲入 d 0200 回车,显示所返回的数据结构。
敲入 q 回车,退回到 DOS 提示符。
把屏幕显示的结果贴上来。
作者: chenall
时间: 2007-7-11 15:50
测试4
-a
1C76:0100 mov ax,4200
1C76:0103 mov si,0180
1C76:0106 mov word ptr [si], 0010
1C76:010A mov word ptr [si+2], 0001
1C76:010F mov word ptr [si+4], 0200
1C76:0114 mov word ptr [si+6], cs
1C76:0117 mov word ptr [si+8], 0010
1C76:011C mov word ptr [si+A], 0000
1C76:0121 mov word ptr [si+C], 0000
1C76:0126 mov word ptr [si+E], 0000
1C76:012B mov DL,9F
1C76:012D int 13
1C76:012F int 3
1C76:0130
-g
AX=0100 BX=0000 CX=0000 DX=009F SP=FFEE BP=0000 SI=0180 DI=0000
DS=1C76 ES=1C76 SS=1C76 CS=1C76 IP=012F NV UP EI NG NZ AC PO CY
1C76:012F CC INT 3
-d 0200
1C76:0200 C3 50 8A C3 B3 0B F6 E3-5B 03 C3 93 C3 8B 1E 8E .P......[.......
1C76:0210 D3 3B 1E 86 DE 73 36 B8-C6 DB E8 E4 FF 8A 4F 02 .;...s6.......O.
1C76:0220 8B 57 07 8B 37 F7 C1 01-00 75 68 F6 05 20 74 26 .W..7....uh.. t&
1C76:0230 F6 45 01 01 74 03 E8 E0-01 B0 02 89 36 9B D3 8C .E..t.......6...
1C76:0240 1E 9D D3 A2 9A D3 33 C0-FF 06 8E D3 C3 B8 00 00 ......3.........
1C76:0250 F9 EB F5 F9 EB F2 F6 05-10 74 20 83 7F 05 02 75 .........t ....u
1C76:0260 59 80 7C 01 3A 75 53 8A-04 E8 1C EC 2C 41 FE C0 Y.|.:uS.....,A..
1C76:0270 3C 1A 77 46 A2 9B D3 B0-04 EB C8 F6 05 40 74 09 <.wF.........@t.
-q
作者: 不点
时间: 2007-7-11 16:09
怎么也失败了呢?难道 9F 不是 CD 的盘符?你前面的帖子中好像有 9F 的字样啊?
我需要再考虑考虑怎么继续测试。你也可以考虑能否提供其它信息。
作者: 不点
时间: 2007-7-11 18:11
再做这样一个测试,和前面的“第二个”测试几乎一样:
第五个测试。测试 int 13/4B01 (DL=7F) 功能是否正常。
在 DOS 下敲入 debug 回车。
在 debug 提示符下,
敲入 a 和 回车,开始汇编
敲入 mov ax,4B01 回车
敲入 mov si,0180 回车
敲入 mov DL,7F 回车 <------ 此处把 9F 改成 7F 了
敲入 int 13 回车
敲入 int 3 回车
此处多敲入一个回车,结束汇编。
敲入 g 回车,开始运行程序。
敲入 d 0180 回车,显示所返回的数据结构。
敲入 q 回车,退回到 DOS 提示符。
把屏幕显示的结果贴上来。
不管结果如何,报告一下你是如何进入 GRUB 的。如果是从光盘进入的,说说光盘的格式,是不是 no-emulation mode 的。如果是经由其它软件(例如syslinux,等等)进入 grub 的,也要说清楚。
补充:
在启动 grub 的时候,抢先按 Insert 键(可以连续多次快速敲击 Insert 键),就可以进入“单步跟踪”启动模式。把屏幕信息贴出来。
[
Last edited by 不点 on 2007-7-11 at 06:20 PM ]
作者: chenall
时间: 2007-7-11 20:13
因为做这个光盘是之时用GRUB不能正常用,所以才用SYSLINUX作为引导,GRUB备用.
是由USB-CDROM启动ISOLINUX,再通过ISOLINUX加载GRUB,然后map命令进到入DOS.
光盘格式?ISO9660
办公室关门了,只能等明天再测试了.
作者: chenall
时间: 2007-7-11 20:42
刚刚又找了一台同样的主板,重测贴下测试数据..
后注:刚又试了那个可以使用的发现这里
get_cdinfo(7f),int13/4B01(7F),err=0,drive=7f, cdrom_drive==9F.
好像有点问题.在可以使用的电脑上.这一行显示的7f和9f的位置值是一样的(EF)
Turning on gate A20 ... Success.
hard drives: 2, int13:F009870,INT15: F00F859
get_diskinfo(80), int13/41(80),version=AA300005, int13/48(80), err=0,C/H/S=16383/16/63,
Sector Count/Size=156301488/0, int13/08(80),version=0, C/H/S=1023/255/63, int13/02(80),
err=0,LBA,C/H/S=16383/255/63,Sector count/size=263192895/512
get_diskinfo(81), int13/41(81),version=AA210005, int13/48(81),err=0,c/h/s=863/16/63,
Sector count/size=1902591/0, int13/08(81),version=0,c/h/s=863/16/63,int13/02(81),err=0,
warning: unrecognized partition table for drive 81, please rebuild it using a microsoft-compatible Fdisk tool
(err=28),current C/H/S=863/16/63 LBA,C/H/S=863/16/63,sector count/size=1902591/512
boot drive=80, int13/4B01(80),err=1,drive=80 not cd
get_cdinfo(7f),int13/4B01(7F),err=0,drive=7f, cdrom_drive==9F.
starting cmain() ... open /default ... int13/41(80),version=AA300005, INT13/48(80),err=0,C/H/S=16383/16/63,
sector count/size=156301488/0, int13/08(80),version=0,C/H/S=1023/255/63, int13/02(80), err=0,failure,
int13/41(9F),version=0,int13/4b01(9f),err=0,drive=9f,biosdisk_int13_extensions read=0,drive=0x9f,dap=580,err=0x1
biosdisk_int13_extensions read=0,drive=0x9f,dap=580,err=0x1
biosdisk_int13_extensions read=0,drive=0x9f,dap=580,err=0x1
....
注:这里太概有一个屏幕的内容是上面的语句.
End of menu init commands,Press any key to enter command-line or run menu ...
按健进入GRUB命令行.
>debug on
>root (cd)
int13/41(9F),version=0,int13/4B01(9F),err=1,drive=9F,int13/48(9f),err=1,c/H/S=0/0/0,sector count/size=0/0,
int13/08(9f),version=1,C/H/S=16383/255/63,
ERROR 26:Selected disk does not exist
>geometry (cd)
int13/41(9f),version=0, int13/4B01(9f),err=1,drive=9F, int13/48(9F),err=1,c/H/S=0/0/0,sector count/size=0/0,
int13/08(9f),version=1,C/H/S=863/16/63,
-a
1C69:0100 mov ax,4100
1C69:0103 mov bx,55aa
1C69:0106 mov dl,9f
1C69:0108 int 13
1C69:010A int 3
1C69:010B
-g
AX=0100 BX=55AA CX=0000 DX=009F SP=FFEE BP=0000 SI=0000 DI=0000
DS=1C69 ES=1C69 SS=1C69 CS=1C69 IP=010A NV UP EI NG NZ AC PO CY
1C69:010A CC INT 3
-q
-a
1C69:0100 mov ax,4b01
1C69:0103 mov si,0180
1C69:0106 mov dl,9f
1C69:0108 int 13
1C69:010A int 3
1C69:010B
-g
AX=0101 BX=0000 CX=0000 DX=009F SP=FFEE BP=0000 SI=0180 DI=0000
DS=1C69 ES=1C69 SS=1C69 CS=1C69 IP=010A NV UP EI NG NZ AC PO CY
1C69:010A CC INT 3
-d 0180
1C69:0180 36 90 DE 89 37 03 36 68-DB 2B F7 89 77 03 8B 36 6...7.6h.+..w..6
1C69:0190 96 DE 89 77 09 8B F7 8B-3E 90 DE 03 F9 3B 3E 8C ...w....>....;>.
1C69:01A0 DE 7D 15 2B F9 FC F3 A4-B0 00 AA 89 3E 90 DE 9D .}.+........>...
1C69:01B0 F8 EB 0A B8 01 00 EB 03-B8 02 00 9D F9 5E 5F 5A .............^_Z
1C69:01C0 59 5B C3 50 53 51 57 9C-F6 C7 01 74 27 83 3E 94 Y[.PSQW....t'.>.
1C69:01D0 DE FF 74 26 8B 1E 94 DE-B8 C6 DB E8 23 00 09 6F ..t&........#..o
1C69:01E0 07 09 2E 88 DE F7 C5 08-00 74 05 C6 06 8C D3 01 .........t......
1C69:01F0 9D F9 EB 08 A1 86 DE A3-94 DE 9D F8 5F 59 5B 58 ............_Y[X
-q
-a
1C69:0100 mov ax,4800
1C69:0103 mov si,0180
1C69:0106 mov dl,9f
1C69:0108 int 13
1C69:010A int 3
1C69:010B
-g
AX=0100 BX=0000 CX=0000 DX=009F SP=FFEE BP=0000 SI=0180 DI=0000
DS=1C69 ES=1C69 SS=1C69 CS=1C69 IP=010A NV UP EI NG NZ AC PO CY
1C69:010A CC INT 3
-d 0180
1C69:0180 36 90 DE 89 37 03 36 68-DB 2B F7 89 77 03 8B 36 6...7.6h.+..w..6
1C69:0190 96 DE 89 77 09 8B F7 8B-3E 90 DE 03 F9 3B 3E 8C ...w....>....;>.
1C69:01A0 DE 7D 15 2B F9 FC F3 A4-B0 00 AA 89 3E 90 DE 9D .}.+........>...
1C69:01B0 F8 EB 0A B8 01 00 EB 03-B8 02 00 9D F9 5E 5F 5A .............^_Z
1C69:01C0 59 5B C3 50 53 51 57 9C-F6 C7 01 74 27 83 3E 94 Y[.PSQW....t'.>.
1C69:01D0 DE FF 74 26 8B 1E 94 DE-B8 C6 DB E8 23 00 09 6F ..t&........#..o
1C69:01E0 07 09 2E 88 DE F7 C5 08-00 74 05 C6 06 8C D3 01 .........t......
1C69:01F0 9D F9 EB 08 A1 86 DE A3-94 DE 9D F8 5F 59 5B 58 ............_Y[X
-q
-a
1C69:0100 mov ax,4200
1C69:0103 mov si,0180
1C69:0106 mov word ptr [si], 0010
1C69:010A mov word ptr [si+2], 0001
1C69:010F mov word ptr [si+4], 0200
1C69:0114 mov word ptr [si+6], cs
1C69:0117 mov word ptr [si+8], 0010
1C69:011C mov word ptr [si+A], 0000
1C69:0121 mov word ptr [si+C], 0000
1C69:0126 mov word ptr [si+E], 0000
1C69:012B mov DL,9F
1C69:012D int 13
1C69:012F int 3
1C69:0130
-g
AX=0100 BX=0000 CX=0000 DX=009F SP=FFEE BP=0000 SI=0180 DI=0000
DS=1C69 ES=1C69 SS=1C69 CS=1C69 IP=012F NV UP EI NG NZ AC PO CY
1C69:012F CC INT 3
-d 0200
1C69:0200 C3 50 8A C3 B3 0B F6 E3-5B 03 C3 93 C3 8B 1E 8E .P......[.......
1C69:0210 D3 3B 1E 86 DE 73 36 B8-C6 DB E8 E4 FF 8A 4F 02 .;...s6.......O.
1C69:0220 8B 57 07 8B 37 F7 C1 01-00 75 68 F6 05 20 74 26 .W..7....uh.. t&
1C69:0230 F6 45 01 01 74 03 E8 E0-01 B0 02 89 36 9B D3 8C .E..t.......6...
1C69:0240 1E 9D D3 A2 9A D3 33 C0-FF 06 8E D3 C3 B8 00 00 ......3.........
1C69:0250 F9 EB F5 F9 EB F2 F6 05-10 74 20 83 7F 05 02 75 .........t ....u
1C69:0260 59 80 7C 01 3A 75 53 8A-04 E8 1C EC 2C 41 FE C0 Y.|.:uS.....,A..
1C69:0270 3C 1A 77 46 A2 9B D3 B0-04 EB C8 F6 05 40 74 09 <.wF.........@t.
-q
-a
1C69:0100 mov ax,4b01
1C69:0103 mov si,0180
1C69:0106 mov dl,7f
1C69:0108 int 13
1C69:010A int 3
1C69:010B
-g
AX=8001 BX=0000 CX=0000 DX=007F SP=FFEE BP=0000 SI=0180 DI=0000
DS=1C69 ES=1C69 SS=1C69 CS=1C69 IP=010A OV UP EI PL NZ AC PO CY
1C69:010A CC INT 3
-d 0180
1C69:0180 10 00 01 00 00 02 69 1C-10 00 00 00 00 00 00 00 ......i.........
1C69:0190 96 DE 89 77 09 8B F7 8B-3E 90 DE 03 F9 3B 3E 8C ...w....>....;>.
1C69:01A0 DE 7D 15 2B F9 FC F3 A4-B0 00 AA 89 3E 90 DE 9D .}.+........>...
1C69:01B0 F8 EB 0A B8 01 00 EB 03-B8 02 00 9D F9 5E 5F 5A .............^_Z
1C69:01C0 59 5B C3 50 53 51 57 9C-F6 C7 01 74 27 83 3E 94 Y[.PSQW....t'.>.
1C69:01D0 DE FF 74 26 8B 1E 94 DE-B8 C6 DB E8 23 00 09 6F ..t&........#..o
1C69:01E0 07 09 2E 88 DE F7 C5 08-00 74 05 C6 06 8C D3 01 .........t......
1C69:01F0 9D F9 EB 08 A1 86 DE A3-94 DE 9D F8 5F 59 5B 58 ............_Y[X
-q
[
Last edited by chenall on 2007-7-11 at 08:53 PM ]
作者: 不点
时间: 2007-7-12 15:20
问题就在这里:
get_cdinfo(7f),int13/4B01(7F),err=0,drive=7f, cdrom_drive==9F.
用 DL=7F 调用,所成功返回的 9F,竟然是个无用的值。
刚刚已经把测试用的 grldr 和 grub.exe 上载到
http://grub4dos.jot.com/ ,请下载测试。
如果仍然失败,那么请仍然用 Insert 单步调试,把上述的 get_cdinfo 一行贴出来就行,目的是看 CDROM 的驱动器号码。
无论成功与否,在 debug on 的情况下,把 goemetry (cd) 和 root (cd) 的显示贴出来。
作者: chenall
时间: 2007-7-12 18:49
get_cdinfo(7f),int13/4B01(7F),err=0,drive=7f, int13/4B01(9F),err=0,drive=9F
cdrom_drive==9F.
>debug on
>root (cd)
int13/41(9F),version=0,int13/4B01(9F),err=1,drive=9F,int13/48(9f),err=1,c/H/S=0/0/0,sector count/size=0/0,
int13/08(9f),version=1,C/H/S=16383/255/63,
ERROR 26:Selected disk does not exist
>geometry (cd)
int13/41(9f),version=0, int13/4B01(9f),err=1,drive=9F, int13/48(9F),err=1,c/H/S=0/0/0,sector count/size=0/0,
int13/08(9f),version=1,C/H/S=65536/255/15,
作者: 不点
时间: 2007-7-12 20:49
这是很奇怪的,在启动的时候,执行 get cdinfo 就成功了,返回的 9F 就是光盘。
但是,第二次再执行 get cdinfo,就失败了。难道说执行一次 4B01 之后,就把光盘卸载了吗?如果是这样,这也太恶劣了!
又上载了新版(还是在
http://grub4dos.jot.com/ ),这次----在启动时----就多执行了几个 get cdinfo,看看是否会失败。猜测应当失败。
仍然是 Insert 键单步调试。这次只注意贴出 get cdinfo 的情况就行了。
作者: chenall
时间: 2007-7-12 22:05
get_cdinfo(7F),int13/4B01(7F),err=0,drive=7f,
int13/4B01(9F),err=0,drive=9F,int13/4B01(9f),err=0,drive=9F.
(重复14次,...),cdrom_drive==9F
这次不再显示.
biosdisk_int13_extensions read=0,drive=0x9f,dap=580,err=0x1
这一句了.
作者: wang6610
时间: 2007-7-12 22:07
希望问题能解决。。。。。。。。。。
作者: 不点
时间: 2007-7-13 07:44
再试试启动时,不是按 Insert 而是按 c 进入命令行。这个 c 的意思是连 内置的 preset_menu 也不执行了。看看在这样的状况下,
debug on
cat --hex (cd)16+4
以及
geometry (cd)
root (cd)
有没有不同的结果?
注意,连续多次运行 geometry (cd) ,看看其结果是否会变化。
=====================
wang6610:这个问题肯定能解决。我现在也正在研究 ioslinux 中的代码,这确实是一个非常好的代码,里面有很多针对不同 BIOS BUG 的处理办法。这就难怪它在 freshmeat 上能够排名前 100 位了。我们的 grub4dos 目前在 freshmeat 的排名是前 2000 位。GNU GRUB 排名是在前 200 位。
[
Last edited by 不点 on 2007-7-13 at 10:50 AM ]
作者: chenall
时间: 2007-7-13 11:57
我用GRLDR作为引导.
直接按C键进入命令行.
以下每段都是重启后得到的数据.因为执行一次后.
以后的数据都和以前(上次发的)一样.
>debug on
>cat --hex (cd)16+4
int13/41(9F),version=0,int13/4B01(9F),err=0,drive=9F,
biosdisk_int13_extensions read=0,drive=0x9f,dap=580,err=0x1
Error 30: disk read error
>debug on
>root (cd)
同上..
>debug on
>geometry (cd)
int13/41(9f),version=0, int13/4B01(9f),err=0,drive=9F, drive 0x9f(lba):C/H/S=65536/255/15
Sector Count/Size=250675200/2048
int13/41(9f),version=0, int13/4B01(9f),err=1,drive=9F, int13/48(9F),err=1,c/H/S=0/0/0,sector count/size=0/0,
int13/08(9f),version=1,C/H/S=0/0/0
作者: 不点
时间: 2007-7-13 18:27
刚刚又上载了
两个版本到
http://grub4dos.jot.com/
注意是
两个版本:今天上载的 grldr 有两个,grub.exe 也有两个。
请试试。
这次仍然是按 c 抢先进入命令行。不过,这次在执行 debug on 之后,不用执行别的命令了,只执行
geometry (cd)
要反复多次执行这条命令,看看其显示的信息是否有变化,如果有变化,看看这些变化有无什么规律。
注意,对于上载的两个版本,请把每个版本都试验一下。
作者: rsea
时间: 2007-7-13 18:58
Quote: |
Originally posted by chenall at 2007-7-13 11:57 AM:
我用GRLDR作为引导.
直接按C键进入命令行.
以下每段都是重启后得到的数据.因为执行一次后.
以后的数据都和以前(上次发的)一样.
[code]
>debug on
... |
|
新传的这两个文件是什么版本,也是0.43吗?
作者: 不点
时间: 2007-7-13 20:36
是为了测试/调试 BUG 用的。你不必关心。
目前面向大家的仍然是 bean 发布的 07-10 版本。
作者: chenall
时间: 2007-7-13 20:40
为了方便测试,将两个文件全部下载下载一个名为GRUB40.EXE一个为GRUB41.EXE
通过光盘的ISOLINUX引导后再分别加载这两个文件进行测试.
GRUB.EXE VER 40
>debug on
>geometry (cd)
int13/41(9F),version=0, int13/4B01(9F),err=0,drive=9F,drive 0x9f(LBA):C/H/S
=65536/255/15,Sector Count/Size=250675200/2048
>geometry (cd)
int13/41(9F0,verion=0, int13/4B01(9F0,err=1,drive=9F, int13/48(9F),err=1,C
/H/S=0/0/0,Sector Count/Size=0/0, int13/08(9F),version=1,C/H/S=65536/255/15,
Error 26: Selected disk does not exist
>geometry (cd)
同上..
....
执行了多次还是同上...
GRUB.EXE VER41
结果是一样的.
作者: zmq
时间: 2007-10-8 17:17
标题: 启动Win98故障
1. 这个win98.img用memdisk是可以正常启动的
2. grub版本0.4.3 2007-10-08
3. 故障现象:在Start Windows 98时死机
4. 命令行顺序
map (hd0,0)/boot/sources/win98.img (hd0)
map (hd0) (hd2)
chainloader (hd0)+1
boot
作者: bxtemp
时间: 2008-4-9 17:38
-_-|
作者: haiou327
时间: 2008-5-6 16:24
不点这几天更新贼快啊.
支持你
作者: mydossky
时间: 2010-6-14 15:49
GRUB 新版给个连接吧