Board logo

标题: 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 新版给个连接吧