[grub] Unknown partition table signature.

Paweł Zuzelski z w grabina.waw.pl
Pon, 21 Kwi 2008, 20:30:55 CEST


On Monday 21 April 2008 19:15:24 Paweł Sikora wrote:
> On Monday 21 of April 2008 15:49:46 Patryk Zawadzki wrote:
> > 2008/4/21  <pluto w agmk.net>:
> > > witam,
> > >
> > >  ostatnio przy instalacji na dwoch maszynach grub sie cos
> > >  na mnie obrazil (jak w temacie), a lilo dziala bez oporow.
> >
> > Qwiat zgłaszał, że ext2/ext3 dla kernela 2.6.24 dostają inne parametry
> > przy zakładaniu (rozmiar inode rośnie z 128 do 256 zdaje się). Jeśli
> > używałeś nowego RescueCD do instalacji, to pewnie chodzi o to.
>
> nie, na moim desktopie mam ext3 z inode-em 128-bajtowym i też taki kwas.
> jak instalowalem system (2005/11) grub nie protestowal, a teraz sie burzy.
> trzeba to na debugger zapodac :/

To wygląda tak:

plik grub/asmstub.c:
linia 801 - z partycji jest odczytywany pierwszy sektor (512 bajtów)
disks[drive].flags przechowuje numer fd do odczytu z partycji
linia 810 - jest uruchamiana funkcja get_drive_geometry z pliku lib/device.c

plik lib/device.c:
linia 227 - z fd jest odczytywane 512 bajtów do bufp

Grub oczekuje, że w bufp będzie miał teraz MBR tej partycji. No i fajnie, 
tyle, że z tego fd chwilę wcześniej odczytaliśmy już pierwszy sektor, a zatem 
w bufp jest DRUGI a nie PIERWSZY sektor.

Jak można łatwo sprawdzić dwa ostatnie bajty odczytanego fragmentu danych to 
0x20 0x02 a nie 0x55 0xAA. 0x55 0xAA to oznaczenie formatu MBR. Grubowi się 
nie zgadza, myśli, że odczytał pierwszy sektor jakiegoś nieznanego formatu 
partycji i stąd błąd. Później, jak będę miał wenę twórczą, to napiszę łatkę.

Inna sprawa, że ja ten błąd mam na kilku maszynach i wszędzie mimo tego GRUB 
mi działa prawidłowo.

-- 
Pozdrawiam,
Paweł Zuzelski


Więcej informacji o liście dyskusyjnej pld-devel-pl