bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "grub" command works, but GRUB boot loader hangs


From: Yoshinori K. Okuji
Subject: Re: "grub" command works, but GRUB boot loader hangs
Date: Thu, 09 Aug 2001 02:44:43 +0900

From: Ben Liblit <address@hidden>
Subject: Re: "grub" command works, but GRUB boot loader hangs
Date: Wed, 08 Aug 2001 03:22:33 -0700

> get_diskinfo() calls get_diskinfo_standard(1, ...), which immediately
> returns error code 96.  I find the 96 noteworthy, because this same
> call returns error code 1 for drive values 2 - 7.  For drive 1 and
> drive 1 only, it returns 96.

That's interesting, but I don't know what 96 means unfortunately. It
isn't documented in the Ralf Brown's Interrupt List...

> Since get_diskinfo_standard(1, ...) returned nonzero, get_diskinfo()
> now tries calling get_diskinfo_floppy(1, ...).  This call takes eleven
> seconds to return, and ultimately returns error code 1.  Recall that
> this machine has only one floppy drive; the failure to detect an (fd1)
> drive is correct, but the eleven second delay is at the very least
> undesirable.

I don't remember why get_diskinfo_floppy is there any longer; It seems
not only unnecessary but also harmful, I think. Remove the call and
see if that could affect other drives as well.

> This time around, the call to get_diskinfo_standard(1, ...) returns
> without delay and reports no error.  It claims to have detected a
> drive with C/H/S geometry of 40/2/9.

Perhaps your BIOS is too sensitive, that is, reading a non-existing
drive might break BIOS code.

>    - get_diskinfo_int13_extensions() returns no error, and claims
>      C/H/S geometry of 0/0/0 with 17873039 total sectors
> 
>    - get_diskinfo_standard() returns no error, and claims C/H/S
>      geometry of 1023/255/63
> 
> Please note that "fdisk -l" claims that this same drive has C/H/S
> geometry of 1112/255/63, which does not agree with the information
> returned by get_diskinfo_standard().

That's okay. Linux just guesses CHS.

> The Linux kernel claims that
> this disk has 17873040 total sectors, exactly one more than the total
> claimed by get_diskinfo_int13_extensions().

That's also okay. Maybe the BIOS of your hard disk drive reserves one
sector for some reason. Such a case is often seen, and there is no
problem with that, except that you cannot use all the sectors.

> Near as I can tell, the first call rawread() never returns.  I have
> not yet had time to instrument rawread().  This seems like the obvious
> next step, to try to determine where exactly we are getting hung up
> within rawread() or something that rawread() calls.

That's quite strange, but that may be related to the floppy drive
probing.

Okuji



reply via email to

[Prev in Thread] Current Thread [Next in Thread]