# [SOLVED]Problem z lilo ( grub error 21 )

## fotografik12

Hi!

Mam problem z lilo, kiedy restartuje komputer, to wyświetlają mi się jedynki i zera..

Oto mój plik lilo.conf :

```
boot=/dev/hda

prompt

timeout=30

default=windows

image=/boot/kernel-genkernel-x86-2.6.14-gentoo-r5

label=gentoo

read-only

root=/dev/ram0

append="init=/linuxrc real_root=/dev/hdb5"

initrd=/boot/initramfs-genkernel-x86-2.6.14-gentoo-r5

other=/dev/hda1

label=windows

```

Last edited by fotografik12 on Sun Jan 01, 2006 2:08 pm; edited 1 time in total

----------

## Eeeyeore

Odpal kompa z universal-cd, zamontuj i chrootuj sie na partycje z gentoo i klepnij

#lilo (po kazdej zmianie konfiguracji w /etc/lilo.conf musisz wykonać #lilo

bo z tego co napisales to lilo nie wie gdzie siedzi: kernel-genkernel-x86-2.6.14-gentoo-r5, dlatego wywala te cyferki

----------

## fotografik12

o co ci chodzi!!??

przeładowałem lilo w trakcie instalacji, a po restarcie się nie uruchamia...

od tego czasu nic nie zmieniałem w pliku konfiguracyjnym..

----------

## Johnny_Bit

A można by tu zasugerować gruba... Uważam że lepszy niż lilo... stwierdzam to po kilkuletniej znajomości z oboma bootloaderami. Z grubem jeszcze nigdy nie miałem tak dziwnych problemów jak z lilo...

----------

## Zwierzak

Błędy MBR nie zmienią faktu czy masz Gruba czy Lilo. Mnie się tak działo kiedy nagle znikneły partycje linuksa (tzn. usunąłem je), może być błąd w konfiguracji, dodaj tekie coś na początek:

```
lba32
```

Informauje to Lilo, że kernel może się znajdować w iluś tam bajtach (nie pamiętam dokładnie ilu) poza początkiem dysku.

----------

## fotografik12

ale mam to dodać do lilo.conf?

Aha, podczas przeładowania "wpisania komendy lilo"

wyświetla się komunikat że instalacja nastąpiła na obcym dysku- hda, gentoo jest na hdb..

po za ostrzeżeniem, żednego błędu, wszystko ok...

----------

## Zwierzak

dodajesz na samym początku pliku /etc/lilo.conf i powinno działać, potem odpalasz lilo i jest dobrze

----------

## fotografik12

to lba32 nic nie dało...

----------

## Eeeyeore

W pierwszym poscie pokazujesz ze:

```

boot=/dev/hda

```

A pozniej piszesz ze

 *Quote:*   

> 
> 
> gentoo jest na hdb
> 
> 

 

To chyba juz wiesz co zmienic ?

----------

## fotografik12

hda jest pierwszym dyskiem, wiec chyba z niego wszystko się ładuje?

sprawdze z hdb...

----------

## Zwierzak

W biosie ustaw aby kom startował z 2 hdd i wtedy zmien tak jak teraz doradzono, musi dzialac. Pewnie wina kilku dysków. Ja miałem kiedyś tak zrobione jak teraz doradzam i wszystko normalnie działało.

----------

## fotografik12

a jeżeli wyjmę drugi dysk (na ktrym jest gentoo ), to uruchomi sie pierwszy? jest na nim windows..

----------

## Zwierzak

Nie bo już zepsułeś MBR, a bez niego nie wystartuje Windows, bedziesz miał dalej pełno ) i !, chyba że wyjmiesz dysk z Windowem i wsadzisz lilo do MBR to linux powinien działać normalnie

----------

## fotografik12

niezrozumieliśmy się..

tak wię weszłem w bios, ustawiłem:

1st - cd-rom

2nd - hd-1

3rd - hd-0

weszłem na livecd, zmieniłem na hdb, ale nadal włancza się windows...

Ustawiłem timeout=300, bo myślałem że poprostu za szybko to mija...

A, po przeładowaniu lilo, wyświtliło mi sie ostrzeżenie ze hdb nie jest pierwszym dyskiem, ale nie było żadnego błędu.

Ehh... co jest!?!?

----------

## Zwierzak

Odkręć obudowe i poprzestawiaj zworki w dystkach odpowiednio na Maser na dysku z Linuksem i Slave na dysku z Windowsem. Jak to nie zadziała to ja juz nie wiem.

----------

## fotografik12

tak już próbowałem, ale podczas startu, były jakies błędy IDE...

Musiałem zostawić tak jak jest, po za tym na dysku z windowsem nie mam zworki   :Shocked: 

----------

## lazy_bum

To ja się podczepię.

 *fotografik12 wrote:*   

> Hi!
> 
> Mam problem z lilo, kiedy restartuje komputer, to wyświetlają mi się jedynki i zera..
> 
> Oto mój plik lilo.conf :
> ...

 

Miałem... a w zasadzie mam podobny problem na jednym kompie. Tylko u mnie z tego co pamiętam sypie 99 99 99 99 (wywala tego z pół ekranu i staje), a nie zerami. (-;

 *fotografik12 wrote:*   

> A, po przeładowaniu lilo, wyświtliło mi sie ostrzeżenie ze hdb nie jest pierwszym dyskiem, ale nie było żadnego błędu.

 

Mam tak na jednym kompie:

/dev/hda -- na nim tylko windows

/dev/hdb -- na nim tylko partycje linuksowe i Gentoo

Przy zmianach w konfigu lilo ostrzega, że dysk na którym "jest" (czyli hda) nie jest dyskiem z Gentoo (czy jakoś tak ;-), ale wszystko śmiga cacy.

Problematyczny komp:

/etc/lilo.conf (z pamięci):

```
boot=/dev/hdc

prompt

timeout=3

default=gentoo

image=/boot/kernel-2.6.14-gr4

        label=gentoo

        read-only

        root=/dev/hdc1

image=/boot/memtest86/memtest.bin

        label=memtest
```

.. problem pojawiał się tylko przy odpalaniu z Primary IDE (bez różnicy czy "/dev/hdb" czy "/dev/hda"). Problem nie występuje z windowsem (tzn. odpala się normalnie na Primary).

Jak widać po .conf'ie wszystko jest dostosowane do odpalania z Secondary.

Jeżeli dobrze pamiętam to problem znikał kiedy na Primary były podłączone dwa urządzenia na raz. W zasadzie nie mam pomysłu z czym to może być związane... myślałem, ze to może coś z płytą główną jest walniete, ale skoro występują podobne problemy...

----------

## fotografik12

czyli co proponujesz?

----------

## tomekb

Ja tez moze dorzuce cos od siebie: na poczatku znajomosci z gentoo uzywalem takze lilo, ale prawie zawsze sie cos knocilo no jak to ja zapominalem po dokonaniu zmian napisac 

```
/sbin/lilo
```

. Kolega nie uzywajay akurat gentoo polecil mi gruba jako lepszego bootmanagera. Po poznaniu roznic i oswojeniu sie z nim polecam go kazdemu. I prosze nie traktujcie tego jak jakiegos flejma. Reasumujac, sprobuj gruba, naprawde warto, bo sprawia mniej problemow.

----------

## fotografik12

nic nie rozumiem z tej instrukcji gruba...

----------

## kadu

 *Quote:*   

> nic nie rozumiem z tej instrukcji gruba...

 

nie sadze, zeby instrukcja gruba byla trudna do zrozumienia. Jezeli ja wszystko zrozumialem, to musi byc prosciutka  :Laughing:  . Mialem kiedys podobny blad (ale z grubem) i mi wyskakiwaly same 9. Poustawialam w biosie odpowiednio kolejnosci bootowania i zadzialalo  :Smile: 

----------

## fotografik12

to spróbować z grubem, czy może jest jakies rozwiazanie?

----------

## fotografik12

U mnie to wygląda tak:

[img:1138fb74e7]http://img287.imageshack.us/img287/8905/partycje3iw.jpg[/img:1138fb74e7]

Na hdb mam pustą przestrzeń, może zrobić na niej jakąś partycję primary...

Jak jest u ciebie lazy_bum?

----------

## fotografik12

zrobiłem na samym początku partycje primary, to nic nie dało...

mimo że bootowanie mam z drugiego dysku, to nic nie daje...

jest tak, jakby na hdb nie było MBR, a na hda nie dało się wgrać...

any qustions?

----------

## lazy_bum

 *fotografik12 wrote:*   

> U mnie to wygląda tak:
> 
> obrazek
> 
> Na hdb mam pustą przestrzeń, może zrobić na niej jakąś partycję primary...
> ...

 

U mnie jest (zupełnie, jak w handbook'u tylko rozmiary trochę inne):

hda1 -- /boot (ext2)

hda2 -- swap

hda3 -- / (ext3)

.. cała przestrzeń na dysku wykorzystana.

grub'a nigdy nie lubiłem, lilo zawsze wydawało mi się prostsze i bardziej przejrzyste. No i z lilo kłopoty miałem tylko w tym jednym kompie (czyżby bug?). Może czas przetestować grub'a....

U mnie problem rozwiązełem odpalając kompa z Secondary Master. Trochę to niewygodne, ale on nie miał być wygodny tylko działać. Gorzej, że trochę zmieniłem mu "profil" i ma się stać wygodniejszy, a wtedy już pojawia się problem z boot'owaniem (trzeba dłubać w BIOSie za każdym razem).

::edit::

Może to będzie pomocne? (przetestuję dopiero wieczorem)

Tutaj polecam ilustracje dysku. :-D

I jeszcze cytat z man lilo:

```
BOOT ERRORS

       The boot process takes place in two stages.  The first stage loader is a  sin-

       gle  sector,  and is loaded by the BIOS or by the loader in the MBR.  It loads

       the multi-sector second stage loader, but is very  space  limited.   When  the

       first  stage loader gets control, it types the letter "L"; when it is ready to

       transfer control to the second stage loader it types the letter "I".   If  any

       error  occurs,  like  a  disk  read error, it will put out a hexadecimil error

       code, and then it will re-try the operation.  All hex  error  codes  are  BIOS

       return values, except for the lilo-generated 40, 99 and 9A.  A partial list of

       error codes follows:

              00  no error

              01  invalid disk command

              02  address mark not found

              03  disk write-protected

              04  sector not found

              06  floppy disk removed

              08  DMA overrun

              0A  bad sector flag

              0B  bad track flag

              20  controller failure

              40  seek failure (BIOS)

              40  cylinder>1023 (LILO)

              99  invalid second stage index sector (LILO)

              9A  no second stage loader signature (LILO)

              AA  drive not ready

              FF  sense operation failed

       Error code 40 is generated by the BIOS, or by LILO during the conversion of  a

       linear (24-bit) disk address to a geometric (C:H:S) address.  On older systems

       which do not support lba32 (32-bit) addressing, this error may also be  gener-

       ated.   Errors  99  and 9A usually mean the map file (-m or map=) is not read-

       able, likely because LILO was not re-run after some system change, or there is

       a  geometry mis-match between what LILO used (lilo -v3 to display) and what is

       actually being used by the BIOS (one of the lilo diagnostic  disks,  available

       in the source distribution, may be needed to diagnose this problem).

       When  the  second  stage  loader has received control from the first stage, it

       prints the letter "L", and when it has initialized itself, including verifying

       the  "Descriptor  Table"  - the list of kernels/others to boot - it will print

       the letter "O", to form the full word "LILO", in uppercase.

       All second stage loader error messages are English text, and try to  pinpoint,

       more or less successfully, the point of failure.
```

Narazie to tyle. W sumie to nawet nie wpadłem na to, że to może być problem z bootloader'em dopóki nie napisałeś o podobnym problemie... zupełnie jakby google nie był moim kumplem. (-;

----------

## Polin

 *lazy_bum wrote:*   

> 
> 
> grub'a nigdy nie lubiłem, lilo zawsze wydawało mi się prostsze i bardziej przejrzyste. 

 

Takie prostsze i przejrzystsze, ze co chwila na forum pojawiaja sie tematy opisujace problemy z Lilo. Grub jakos takiej "popularnosci" tu nie zdobyl. Ciekawe czemu?

Moze czas przemyslec swoje opinie o jednym i drugim bootloaderze?

----------

## lazy_bum

 *Polin wrote:*   

>  *lazy_bum wrote:*   
> 
> grub'a nigdy nie lubiłem, lilo zawsze wydawało mi się prostsze i bardziej przejrzyste.  
> 
> Takie prostsze i przejrzystsze, ze co chwila na forum pojawiaja sie tematy opisujace problemy z Lilo. Grub jakos takiej "popularnosci" tu nie zdobyl. Ciekawe czemu?
> ...

 

W moim przypadku nie zdobył przez brak przejrzystości. Jeżeli (teoretycznie) 90% używa lilo bo jest "łatwiejszy" i 5% obu bootloader'ów ma problemy to wiadomo, że więcej tematów o lilo jest. (-;

Ale mniejsza o to, jak pisałem grub'a może w końcu przetestuje na tym sprzęcie bo wolałbym jednak system na /dev/hda, a nie /dev/hdc... \-:

----------

## fotografik12

lazy_bum, mam prośbę.. pokaż swój fstab i lilo.conf

będe bardzo wdzięczny  :Smile: 

aha, zmieniłem jeszcze partycje i zainstalowałem jeszcze raz: [img:4bdce36089]http://img514.imageshack.us/img514/619/partycje20ti.jpg[/img:4bdce36089]

----------

## tomekb

Brak przejrzystosci w grubie?  :Shocked:  IMHO jest on bardzo przejrzysty. Jednym problemem i rzecza irytujaca co dla niektorych jest to, ze w grubie 0 to 1, 1 to 2, 2 to 3 itd. Wystarczy tylko o tym pamietac, reszta to latwizna  :Very Happy: 

----------

## fotografik12

tomek, popatrz na http://img514.imageshack.us/img514/619/partycje20ti.jpg

hdb 1 to hdb(1,0)

a hdb5 to hdb(1,1) czy hdb(1,4), jest to druga partycja... ale ma numer 5 ponieważ jest logical,

po za tym wątpie żeby zmiana na gruba coś dała..

----------

## lazy_bum

lilo.conf jest gdzieś wyżej.

/etc/fstab

```
/dev/hdc1   /boot     ext2    defaults,noatime  1 2

/dev/hdc2   none      swap    sw                0 0

/dev/hdc3   /         ext3    noatime           0 1
```

"Klon" handbookowego fstab'a, zresztą to najbardziej "default" instalacja jaką robiłem. W końcu na początku miał to być tylko ruter. (-:

 *fotografik12 wrote:*   

> hdb 1 to hdb(1,0)
> 
> a hdb5 to hdb(1,1) czy hdb(1,4), jest to druga partycja... ale ma numer 5 ponieważ jest logical,
> 
> po za tym wątpie żeby zmiana na gruba coś dała..

 

PS. o tym właśnie mówiłem. (-;

----------

## fotografik12

to co mam robić!!??

----------

## tomekb

 *fotografik12 wrote:*   

> tomek, popatrz na http://img514.imageshack.us/img514/619/partycje20ti.jpg
> 
> hdb 1 to hdb(1,0)
> 
> a hdb5 to hdb(1,1) czy hdb(1,4), jest to druga partycja... ale ma numer 5 ponieważ jest logical,
> ...

 

Na pewno masz blad, nie moze byc cos takiego 

```
hdb(1,1)
```

 najwyzej 

```
hd(1,4)
```

 Przeczytaj dokladnie http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?part=1&chap=10#doc_chap2

A i nigdy nie instalowalem gentoo na komputerze z dwoma dyskami, wiec nie wiem jak to jest. Zawsze pchalem gruba do MBR i dzialalo.

Moze podam ci konfiguracje pliku grub.conf na przykladzie tego co podales wczesniej.

```
default 0

timeout 30

splashimage=(hd1,0)/boot/grub/splash.xpm.gz #jesli masz gentoo na hdb1, jesli na hdb5 to zamiast (hd1,0) wpisz (hd1,4)

title=Windows XP

rootnoverify (hd0,0) #jesli masz windowsa na hda1, jesli nie popraw

chainloader +1

title=Gentoo Linux

root (hd1,0) #sytuacja jak przy splashimage

kernel /boot/kernel-genkernel-x86-2.6.14-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda5 udev

initrd /boot/initramfs-genkernel-x86-2.6.14-gentoo-r5

```

To by bylo na tyle, pozniej instalujesz gruba, ja zawsze wybieram metode manualna, tobie tez polecam, jak nie poskutkuje to wybierz dopiero wtedy grub-install. A i napisz dokladnie czy masz gentoo na hdb5 czy hdb1, albo sam sobie popraw konfiguracje jak jest w komentarzach. Zreszta nie jestem pewnien tych komend od genkernela przy linijce z obrazem jadra, szczegolnie tej init=/linuxrc.

Gruba w MBR instalujesz tak: najpierw 

```
grub
```

potem 

```
root (hd1,4)
```

dalej 

```
setup (hd0)
```

 a na koniec 

```
quit
```

Mam nadzieje, ze w jakis sposob pomoglem. Jak masz pytania to pytaj, bo kto pyta ten nie bladzi   :Wink: 

Pozdrawiam

----------

## fotografik12

no grub nie działa, ale daje sensowny powód: error 21

tutaj: http://www.google.pl/search?q=grub+error+21&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:pl-PL:official

znalazłem rozwiązanie, ale za wiele nie rozumiem..

----------

## tomekb

Nie pomoge ci juz, bo nie posiadam 2 dyskow i nie moge tego przetestowac w zaden sposob. Ale nie dziala to: http://lists.gnu.org/archive/html/bug-grub/2003-02/msg00082.html ?

----------

## fotografik12

tomek, widziałem, jest to w google.

tylko nie rozumiem o co chodzi, nieznam dobrze angielskiego...

może to nie wina angielskiego, tylko nie wiem o co chodzi..

co mam zrobic?

----------

## tomekb

Czyli: wchodzisz do BIOSu, pozniej do menu Standard CMOS Setup, dalej Primary Master ustwiasz jak jest napisane, czyli "Type = User,  Mode = LBA", a Primary Slave tak "Type = Auto, Mode = Auto". To by bylo na tyle, wiecej tam nie ma. Jak nie pomoze to nie wiem co dalej.

Pozdrawiam

----------

## fotografik12

czyli dobrze zrozumiałem, a co za tym idzie, w moim biosie nie ma takich opcji... mam płyte MSI K7N2 DELTA

co robić?

----------

## tomekb

Niemozliwe! Ktorych dokladnie? Bo moga sie inaczej po prostu nazywac, ale musza byc!

----------

## fotografik12

no type, mode

moze kilka zdjęć?

[img:ed802c2f3e]http://img435.imageshack.us/img435/9389/dscf00189jx.th.jpg[/img:ed802c2f3e]

[img:ed802c2f3e]http://img503.imageshack.us/img503/1820/dscf00194ua.th.jpg[/img:ed802c2f3e]

[img=http://img506.imageshack.us/img506/9181/dscf00229xu.th.jpg]

----------

## Drwisz

 *fotografik12 wrote:*   

> 
> 
> [img:0b25c36ed9]http://img503.imageshack.us/img503/1820/dscf00194ua.th.jpg[/img:0b25c36ed9]
> 
> 

 

Masz ustawione   :Twisted Evil: 

```
default="Gentoo"

timeout="100"

boot=/dev/hda

prompt

nowarn

map=/boot/map

#menu-scheme=wb:bw:wb:bw

image=/boot/vmlinuz

   label="Gentoo"

   #initrd="/boot/fbsplash-gentoo-1024x768"

   root=/dev/hda1

   append="udev realroot=/dev/hda1 #video=vesafb:ywrap,mtrr,1024x768-32@75 splash=silent,fadein,theme:gentoo quiet CONSOLE=/dev/tty1"

   read-only

   

other="/dev/hdc1"

   label="windowsXP"

   table="/dev/hdc"

   map-drive=0x80

   to=0x81

   map-drive=0x81

   to=0x80
```

Wkleiłem swoje lilo. Przeanalizuj i popraw u siebie. Po instalacji lilo. Zakomentowana linia menu-scheme zmienia kolory lilo. Miałem usunąć linie odnoszące się do framebuffera ale może Ci się przydadzą, wstawiłem tylko przed nimi znak komentarza #.

Edit

Nie dodałem odrazu: zamieniłeś kolejność startu dysków. Teraz bios szuka programu ładującego na dysku #1. Ponieważ go tam niema uruchamia #0.

Takie ustawienie jak u mnie powinno zadziałać przy twojej konfiguracji dysków. 

Błąd 21 gruba to nic innego jak błędne ustawienie dysków slave/master. Popraw, jeśli chcesz uruchamiać z gruba. http://www.szarp.com.pl/howto/howto/html/konfiguracjagruba.htm Może to Ci pomoże.

----------

## noobah

nie wiem jak to jest z lilo, ale ja miałem podobny problem z grubem. Zamiast grub-install hda dałem hdb. Wydawało mi się to logiczne bo linuxa instalowałem na drugim dysku, ale mbr powinien być chyba na master, nie? jak zainstalowałem bootloadera na hda wszystko poszło piknie.

Wiem że raczej niekostruktywna podpowiedź, ale również polecam GRUBa. Uważaj tylko na nazewnictwo, np hda1 to (hd0,0), hdb3 to (hd1,2) itd.

----------

