GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak používat Grub Rescue k opravě selhání spouštění systému Linux

Úvod

GRUB (Grand Unified Bootloader) je nástroj pro zavádění a načítání jader operačního systému a výchozí zavaděč pro systémy založené na jádře Linuxu. I když běží jako první, když je počítač zapnutý, běžní uživatelé vidí GRUB v akci jen zřídka. Funguje automaticky a nevyžaduje žádný zásah uživatele.

Při pokusu o zavedení jiného operačního systému vedle Linuxu na stejném počítači však zavaděč jiného systému může přepsat GRUB, což má za následek nemožnost spuštění systému Linux.

Tento článek vám ukáže, jak opravit selhání spouštění systému Linux pomocí příkazů GRUB Rescue a nástroje Boot Repair.

Předpoklady

  • Účet s právy sudo.
  • Přístup k příkazovému řádku.

Problémy se zaváděním GRUB

Nejčastějším důvodem, proč GRUB nenabootuje do operačního systému, je zavaděč jiného OS, který přepíše konfiguraci spouštění GRUB. Problém nastává při pokusu o duální spouštění s existující instalací Linuxu. Dalším důvodem je náhodné odstranění konfiguračních souborů GRUB.

Když GRUB není schopen zavést systém, objeví se výzva GRUB Rescue.

Výše uvedený příklad ukazuje, že GRUB zobrazuje chybu „žádný takový oddíl“ před zobrazením grub rescue výzva. Další běžnou chybou GRUB je „neznámý souborový systém“, po kterém následuje stejná výzva.

Někdy se na obrazovce může zobrazit grub pouze výzva.

Příkazy záchrany GRUB

Níže je uveden seznam běžně používaných příkazů GRUB Rescue. Použijte příkazy ve výzvách zmíněných v předchozí části.

Příkaz Popis Příklad
boot Spusťte bootování (klávesové zkratky:F10 , CTRL + x ). Příkaz je zadán bez argumentů.
cat Zapište obsah souboru na standardní výstup. cat (hd0,1)/boot/grub/grub.cfg
configfile Načtěte konfigurační soubor. configfile (hd0,1)/boot/grub/grub.cfg
initrd Načtěte soubor initrd.img. initrd (hd0,1)/initrd.img
insmod Načíst modul. insmod (hd0,1)/boot/grub/normal.mod
loopback Připojte soubor obrázku jako zařízení. loopback loop0 (hd0,1)/iso/image.iso
ls Zobrazí obsah adresáře nebo oddílu. ls (hd0,1)
lsmod Zobrazit seznam načtených modulů. Příkaz je zadán bez argumentů.
normal Aktivujte normální modul. Příkaz je zadán bez argumentů.
search Vyhledejte zařízení. Možnost --file vyhledává soubory, --label vyhledává štítky, --fs-uuid hledá UUID souborového systému. search -file [filename]
set Nastavte proměnnou prostředí. Pokud je zadán bez argumentů, příkaz vypíše seznam všech proměnných prostředí a jejich hodnot. set [variable-name]=[value]

Oprava selhání spouštění

Tento návod popisuje dva způsoby řešení problémů se zaváděním GRUB pomocí výzvy GRUB Rescue a Nástroj pro opravu spouštění .

Přes terminál Grub

1. Pro zobrazení proměnných prostředí použijte příkaz set bez argumentů:

set

Příklad výstupu ukazuje, že GRUB je nastaven tak, aby se spouštěl z (hd0,msdos3) oddíl:

2. Příkaz ls zobrazí seznam dostupných oddílů na disku.

ls

Výstup zobrazuje seznam oddílů.

Použijte ls k nalezení oddílu obsahujícího boot adresář.

ls [partition-name]

Příklad ukazuje boot adresář v (hd0,msdos1) oddíl.

3. Nastavte spouštěcí oddíl jako hodnotu root variabilní. V příkladu je použit oddíl s názvem (hd0,msdos1) .

set root=(hd0,msdos1)

4. Načtěte normal spouštěcí režim.

insmod normal

5. Spusťte normal spouštěcí režim.

normal

normal režim umožňuje zadávat složitější příkazy.

6. Načtěte linuxové jádro pomocí linux příkaz.

linux /boot/vmlinuz-4.2.0-16-generic root=/dev/sda1 ro

7. Spusťte boot příkaz.

boot

Systém se nyní spustí správně.

Prostřednictvím živého obrazu

Dalším způsobem, jak vyřešit problémy se zaváděním GRUBu, je použít živý obraz Linuxu ke spuštění z externího zařízení.

1. Stáhněte si živý instalační program Linuxu. Tento příklad používá obraz ISO Ubuntu 20.04.

2. Pomocí nástroje, jako je Etcher, zapište obraz Linuxu na SD kartu nebo USB flash disk.

3. Vložte spouštěcí zařízení a spusťte počítač.

4. Vyberte Vyzkoušet Ubuntu na uvítací obrazovce.

5. Když se živý systém spustí, připojte se k internetu.

6. Otevřete terminál a zadejte následující příkaz pro přidání úložiště pro nástroj Boot Repair.

sudo add-apt-repository ppa:yannubuntu/boot-repair

Stiskněte Enter a počkejte, až bude úložiště přidáno.

7. Aktualizujte úložiště.

sudo apt update

8. Nainstalujte nástroj Boot Repair.

sudo apt install boot-repair

9. Spusťte nástroj Boot Repair přes terminál.

boot-repair

10. Vyberte Doporučená oprava .

Počkejte, až nástroj dokončí opravu bootloaderu.

Aktualizace konfiguračního souboru GRUB

Když se systém úspěšně spustí, ujistěte se, že konfigurace GRUB je aktuální.

Spusťte tento příkaz:

update-grub

Přeinstalování GRUB

Chcete-li znovu nainstalovat GRUB na váš systém Linux, postupujte podle následujících kroků.

1. Připojte oddíl obsahující instalaci OS. Příklad připojí /dev/sda1 oddíl na /mnt adresář.

sudo mount /dev/sda1 /mnt

2. Svažte /dev , /dev/pts , /proc a /sys adresářů do odpovídajících adresářů v /mnt složka.

sudo mount --bind /dev /mnt/dev &&
sudo mount --bind /dev/pts /mnt/dev/pts &&
sudo mount --bind /proc /mnt/proc &&
sudo mount --bind /sys /mnt/sys

3. Nainstalujte GRUB.

sudo grub-install -root-directory=/mnt/ /dev/sda

4. Po úspěšném dokončení instalace odpojte adresáře.

sudo umount /mnt/sys &&
sudo umount /mnt/proc &&
sudo umount /mnt/dev/pts &&
sudo umount /mnt/dev &&
sudo umount /mnt

Ubuntu
  1. Jak používat BusyBox na Linuxu

  2. Jak používám cron v Linuxu

  3. Jak nabootovat do Arch Linuxu pomocí Initramfs v Ubuntu's Grub?

  1. Jak používat Su Command v Linuxu

  2. Jak opravit chybu Cron Authentication Failure v Linuxu?

  3. Linux – Jak opravit/instalovat/přeinstalovat Grub?

  1. Jak používat příkaz sudo v Linuxu

  2. Jak získat informace o aktuální konfiguraci Grub / Boot?

  3. Jak chránit heslem Grub Boot Loader v Linuxu