[Bug 1157847] Transactional server with TW - problem with grub after doing upgrade - results in grub rescue shell and "error: attempt to read or write outside of the disk 'hd0'"
http://bugzilla.suse.com/show_bug.cgi?id=1157847 http://bugzilla.suse.com/show_bug.cgi?id=1157847#c8 --- Comment #8 from Michael Chang <mchang@suse.com> --- I think the block address was actually valid, since it has been checked to be within the partition containing it. The problem might well be in the bios that reports the total_sector of the disk, with which the block address got checked later and the error was logged. In biosdisk module there's workaround to the total_sectors.
/* Some buggy BIOSes doesn't return the total sectors correctly but returns zero. So if it is zero, compute it by C/H/S returned by the LBA BIOS call. */ total_sectors = ((grub_uint64_t) drp->cylinders) * drp->heads * drp->sectors;
I did some math, and find the maximum CHS sectors (0xfc0000) lies within the partition, as the partition started from 0x4800 and ended beyond 0x156d678 where the offended reading occured. This can also explain why the error was sporadically happened, as it was depending on the placement the filesystem has done for the new copy of grub-install files. Would it be possbile for you to test debug package to see what total_sector really is ? I think that is the key to know what's going wrong. Thanks. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com