Keď sa nemôžete dostať do Wubi Ubuntu…

Touto krátkou procedúrou sa môžete pokúsiť opraviť Ubuntu Linux nainštalovaný pomocou Wubi, keď jednoducho spustiť nejde a príkazový riadok zobrazuje iba "sh:grub>". Chyba sa vyskytuje napríklad po aktualizácii systému, alebo po zmene nastavení zavádzača Grub. Vo väčšine prípadov budete schopný problém vyriešiť.

DÔLEŽITÁ AKTUALIZÁCIA: Už existuje oveľa jednoduchšie a trvalé riešenie (stiahnite zo stránky súbor “wubildr” v sekcii Solution a prepíšte ním existujúci rovnomenný súbor na vašom disku – najpravdepodobnejšie umiestnený na disku C:) tohto problému. Vďaka za tip, Nanina.

Ak ste Ubuntu nainštalovali rovnakým spôsobom, aký som opísal v článku “Inštalovanie Ubuntu (skoro) ako Windows aplikácie“, je vysoko pravdepodobné, že ste už zakopli o problém nemožnosti spustenia Ubuntu Linuxu a miesto toho ste skončili v príkazovom riadku. Problém nastáva hlavne po aktualizácii systému, kedy sa aktualizuje aj Grub. Zmeny sa v Grube neaplikujú priamo, takže ich ten následne nedokáže správne interpretovať a pri štarte zobrazí príkazový riadok. V ňom sa zasekne viacero užívateľov (vrátane mňa) dumajúc, čo sa mohlo s ich Ubuntu vlastne stať.

Predtým ako začnete trúchliť nad stratou dát, nastavení a všetkého, čo ste v tejto Linuxovej distribúcii mali uložené, skúste nasledujúcu procedúru. Mala by vám pomôcť problém vyriešiť a oživiť Ubuntu – alebo by ste sa aspoň mali dostať do Ubuntu a byť schopný zálohovať svoje dáta pred tým, než ho preinštalujete alebo úplne odinštalujete. Táto závažná chyba je spojená pravdepodobne len s Wubi Ubuntu, keďže som sa s ňou nestretol pri štandardnej inštalácii. Pre jej vyriešenie postupujte týmito 5 krokmi:

KROK 1.

Najprv budete musieť zistiť názvy oddielov na vašom disku a určiť, kde je Wubi Ubuntu nainštalovaný. Zadajte preto do príkazového riadku “sh:grub>” príkaz “ls -l” a stlačte [ENTER] na klávesnici.

sh:grub> ls -l

Zobrazí sa zoznam diskových oddielov, ktoré sú pomenované napríklad ako hd(0,1), hd(0,2), hd(1,1) a podobne. Myslím, že “hd” znamená “harddrive”, prvá číslica označuje fyzický pevný disk (čísluje sa od nuly) a druhá zase číslo oddielu na danom fyzickom disku. Treba zistiť názov oddielu, kde Wubi uložil priečinok Ubuntu inštalácie. V tom vám žiaľ poradiť nemôžem, nevidím do vášho počítača, ale ak používate označenia diskov ako ja, mali by ste byť schopný vyhľadať daný oddiel veľmi rýchlo, sú totiž zobrazené v zozname.

Po nájdení diskového oddiel, napríklad hd(0,1), je potrebné previesť jeho názov do jazyka Grubu. Ten používa “sd” (SATA drive) namiesto “hd”, “a, b, c…” namiesto prevej číslice “0, 1, 2…” a posledné číslo už len odpíšete, pričom vynecháte zátvorky a čiarku. Takže v našom prípade bude hd(0,1) vyzerať ako sda1. Poznačte si teda názov oddielu Wubi inštalácie, budete ho potrebovať v ďalšom kroku.

KROK 2.

Začnite zadávať ďalší, doleuvedený príkaz. Po vpísaní “linux /boot/vmlinuz-” stlačte [TAB] pre zobrazenie zoznamu všetkých verzii Linux kernelu (jadra), ktoré máte k dispozícii. Vyberte teda najnovšiu (s najvyšším číslom) a doplňte príkaz. (Pozn.: ak procedúra nefunguje s najnovším jadrom Linuxu, vyskúšajte staršie…) Pokračujte v písaní príkazu “ root=/dev/” a zadajte názov oddielu Wubi inštalácie z predošlého kroku (v našom prípade to bol “sda1“). Dokončite celý príkaz s “ loop=/ubuntu/disks/root.disk ro” a stlačte [ENTER].

sh:grub> linux /boot/vmlinuz-(verzia kernelu – stlačte [TAB]) root=/dev/(názov oddielu Wubi inštalácie) loop=/ubuntu/disks/root.disk ro

KROK 3.

Pokračujte s novým príkazom “initrd /boot/initrd.img-” a znovu doplňte verziu Linuxového jadra (kernelu) z kroku 2. Potom stlačte [ENTER].

sh:grub> initrd /boot/initrd.img-(verzia kernelu)

KROK 4.

Ak všetko ide ako má, po zadaní príkazu “boot” a stlačení klávesu [ENTER], by sa malo spustiť Ubuntu. V prípade, že sa nič nedeje, skúste procedúru opäť, no tentokrát s použitím staršieho Linuxového jadra. Ak nič nepomáha, je asi najlepším riešením Google alebo rovno preinštalovanie Wubi Ubuntu…

sh:grub> boot

KROK 5.

Ešte nekončíme! Po spustení Ubuntu otvorte Terminál (Aplikácie Príslušenstvo Terminál). V Termináli zadajte príkaz “sudo update-grub” a stlačte [ENTER] (budete musieť taktiež zadať vaše heslo potvrdené klávesom [ENTER]). Grub by sa mal aktualizovať úplne a prestať robiť problémy.

Takže, po danej procedúre už len reštartujte počítať a sami sa presvedčte, či Ubuntu znovu funguje ako má (teda aspoň do jeho najbližšej hlavnej aktualizácie ;)).

Otázky? Použite komentáre…

Oliver Juhás 14.02.2010, 18:59 Linux