it-swarm.dev

Záchrana grubu - chyba: neznámý souborový systém

Mám nastavený systém s více systémy. Systém má tři jednotky. Multiboot je konfigurován s Windows XP, Windows 7 a Ubuntu - vše na první jednotce. Na jednotce mi zbývalo mnoho nerozděleného prostoru a rezervoval jsem si to pro přidání dalších operačních systémů a pro ukládání souborů tam v budoucnu.

Jednoho dne jsem šel napřed a stáhl si Partition Wizard a vytvořil logický oddíl NTFS zv rámci Windows 7, stále ještě zbylo nějaké nerozdělené místo. Všechno fungovalo dobře, dokud jsem o několik dní později restartoval počítač.

Teď dostávám:

error: unknown filesystem.  
grub rescue>

Nejprve mě překvapilo, že jsem nenašel žádný druh pomoci, když jsem se pokusil:

help, ?, man, --help, -h, bash, cmd atd. .

Teď jsem uvízl v systému bez bootování. Začal jsem tento problém zkoumat a zjistil jsem, že lidé obvykle doporučují zavést na živé CD a problém odtamtud opravit. Existuje způsob, jak tento problém vyřešit zevnitř grub záchranu bez nutnosti Live CD?

[~ # ~] aktualizace [~ # ~]

Podle kroků od Persist příkazy zadané do GRUB rescue , jsem byl schopen spustit bootování inicializovat Prompt. Ale ne nikde dále než to.

Zatím jsem si přečetl příručku o grub rescue , viděl jsem své jednotky a diskové oddíly pomocí příkazu ls. U prvního pevného disku vidím následující:
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)

Teď vím, že (hd0, msdos6) obsahuje Linux, protože ls (hd0,msdos6)/ vypíše adresáře. Jiní uvedou „error: neznámy souborový systém“.

UPDATE 2

Po následujících příkazech se nyní dostávám do spouštěcí nabídky a mohu zavést systém Windows 7 a Ubuntu, ale po restartu musím tyto kroky opakovat.

ls
ls (hd0,msdos6)/
set root=(hd0,msdos6)
ls /
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/linux.mod
normal

UPDATE 3

Díky Shashank Singh, s vašimi pokyny jsem své kroky zjednodušil na následující. Dozvěděl jsem se od vás, že mohu nahradit msdos6 pouhým 6 a že mohu udělat insmod normal Místo insmod /boot/grub/linux.mod. Teď už musím přijít na to, jak uložit toto nastavení z vlastního grubu, bez bootování do jakéhokoli OS.

set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal

UPDATE 4

Zdá se, že je to požadavek na zavedení do Linuxu. Po zavedení do Ubuntu jsem provedl následující kroky popsané v manual :

Sudo update-grub
Sudo grub-install /dev/sda

To problém nevyřeší. Pořád dostanu záchranu grubu. Co musím udělat, abych ji trvale opravil?

Také jsem se dozvěděl, že čísla jednotek jako v hd0 musí být přeložena na písmena jednotek jako v/dev/sda pro některé příkazy. hd1 bude sdb, hd2 bude sdc atd. Oddíly uvedené v grubu jako (hd0, msdos6) budou přeloženy do/dev/sda6.

AKTUALIZACE 5

Nedokázal jsem přijít na to, proč se následující výprava neopravila grub:

Sudo update-grub
Sudo grub-install /dev/sda

Takže jsem stáhl boot-repair na základě odpovědi od https://help.ubuntu.com/community/Boot-Repair příspěvek. Zdálo se, že to udělal trik poté, co jsem vybral možnost „Doporučená oprava (opravy nejčastějších problémů)“.

60
user53817

Nedokázal jsem přijít na to, proč se následující výprava neopravila grub:

Sudo update-grub
Sudo grub-install /dev/sda

Takže jsem stáhl boot-repair na základě odpovědi od Perzistentní příkazy napsané na GRUB rescue příspěvek. Zdálo se, že to udělal trik poté, co jsem vybrali možnost „Doporučená oprava (opravy nejčastějších problémů)“.

Použil jsem také Grub Customizer k přizpůsobení pořadí spouštěcích položek.

25
user53817

Tento problém má alternativní příčinu. V tomto konkrétním případě GRUB byl nějak poškozen a musel být opraven nebo znovu nainstalován. Jak je však uvedeno v Grub záchranu selže při „Boot Repair“ s chybou „neznámý systém souborů“) , je také možné, že bude poškozen kořenový oddíl, na kterém je nainstalován GRUB).

Toto je možné řešení, ale nemělo by se používat, aby nedošlo k dalšímu poškození kořenového oddílu. Spuštění příkazu fsck -t ext4 /dev/sda1, tento program se pokouší vyhledat a opravit chyby na poškozeném souborovém systému. Nahraďte sda1 skutečným kořenovým oddílem. Nahraďte ext4 skutečným souborovým systémem; musíte znát systém souborů, jinak bude oddíl poškozen. Další informace viz Oprava poškozeného souborového systém .


I když tato otázka má odpověď, existuje alternativní způsob, jak vyřešit problém, který pro mě pracoval. Kroky jsou vysvětleny v bolestném videu Grub Rescue - Průvodce pro začátečníky . Stručně řečeno, přeinstaluje GRUB 2 úplně místo opravy.

Protože je toto video tak bolestivé sledovat, uvedu níže uvedené kroky (jak bych měl bez ohledu na to, jak bolestivé je sledovat video)

  1. Zahajte živou relaci Ubuntu. Video používá živé CD, zatímco jsem použil živé USB. Ujistil jsem se, že živé USB má stejnou verzi Ubuntu, jakou jsem měl na svém pevném disku.
  2. Najděte, kde byl připojen váš kořenový oddíl. Ve videu uživatel používá Nautilus k procházení každou jednotkou, která byla připojena. Bylo připojeno dlouhým řetězcem čísel a znaků. V tomto případě připojte oddíl podle následujících kroků. Jinak pokračujte krokem 5.
  3. Vyvolejte terminál s Ctrl + Alt + T a pomocí příkazu mount vyhledejte název oddílu.
  4. Připojte oddíl. Vytvořte novou složku ve své mediální složce. Sudo mkdir /media/ubuntu. Poté jednoduše připojte oddíl k této složce. Sudo mount /dev/sdxx /media/ubuntu kde xx z sdxx je určeno v kroku 3.
  5. Svázejte následující adresáře z kořenového adresáře vašeho živého CD/USB do kořenového adresáře ve vaší verzi Ubuntu. Adresáře jsou devproc a sys. Použijte následující příkazy:

    Sudo mount --bind /dev /media/ubuntu/dev
    Sudo mount --bind /sys /media/ubuntu/sys
    Sudo mount --bind /proc /media/ubuntu/proc
    
  6. Změňte kořenový adresář na adresář ve vašem oddílu Ubuntu. Sudo chroot /media/ubuntu/

  7. Po provedení výše uvedeného instalace nainstalujete GRUB 2 znovu do kořenového adresáře vaší distribuce Ubuntu, nikoli do živých CD/USB. Tak jděte do toho a běžte Sudo grub-install /dev/sdx

A to je způsob, jak opravit GRUB pomocí živého CD/USB. Tato metoda byla vyvinuta uživatelem YouTube crazytechzone.

7
Nil

Použití:

  1. set prefix=(hdX,Y)/boot/grub. Použijte hodnoty určené dříve.
    Příklad: Pokud je systém Ubuntu na sda5, zadejte:
    set prefix=(hd0,5)/boot/grub
  2. set root=(hdX,Y). Příklad: set root=(hd0,5)
  3. insmod normal. Pokus o načtení normálního modulu.
  4. normal

V podstatě potřebujeme GRUB), abychom věděli, kde /boot/grub složka je. Pokud to nefunguje, myslím, že instalace GRUB instalace z bootovacího CD je dobrá volba.

6
Shashank Singh

Legrační, také jsem měl stejný problém před hodinou!

Každopádně jsem to udělal.

  1. Načíst ubuntu:

    set root=(hd0,6)
    set prefix=(hd0,6)/boot/grub
    insmod normal
    normal
    

    protože váš Ubuntu je nainstalován v 6, že?

  2. spustit terminál:

    Sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    Sudo update-grub
    Sudo grub-install /dev/sda
    
3
Francis

Nainstalujte opravu Boot-Repair v Ubunt

  1. Spusťte počítač na Ubuntu live-CD nebo live-USB.

  2. Zvolte "Vyzkoušejte Ubuntu"

  3. Připojte se k internetu

  4. Otevřete nový terminál (Ctrl+Alt+T), zadejte:

    Sudo add-apt-repository ppa:yannubuntu/boot-repair && Sudo apt-get update
    
  5. Lis Enter.

  6. Pak zadejte:

    Sudo apt-get install -y boot-repair && boot-repair
    
  7. Lis Enter.

Použití Boot-Repair

enter image description here

Doporučená oprava

  1. Spusťte Boot-Repair buď:

    a. Dash (logo Ubuntu v levém horním rohu obrazovky)

    b. Nebo Systém -> Správa -> Nabídka Boot-Repair (pouze Ubuntu 10.04)

    c. Nebo zadáním „boot-repair“ v terminálu

  2. Poté klikněte na tlačítko „Doporučená oprava“. Po dokončení opravy si poznamenejte adresu URL (paste.ubuntu.com/XXXXX), která se objevila na papíře, restartujte počítač a zkontrolujte, zda jste obnovili přístup k operačním systémům.

  3. Pokud oprava neuspěla, uveďte adresu URL lidem, kteří vám pomohou e-mailem nebo fórem.

2
user61928

Další příčinou problému je, že ve vzácných případech může dojít k selhání systému souborů na spouštěcí jednotce. Jak je uvedeno v jiných odpovědích, zpočátku používám příkaz ls k zobrazení všech jednotek/diskových oddílů v GRUB záchranná výzva, ale všechny = zpráva neznámá chyba souborového systém. Nakonec jsem problém opravil na Ubuntu 16.04 (Xenial Xerus) obnovením souborového systému následujícím způsobem:

  1. Spuštění z USB disku (zkuste Ubuntu bez instalace)

  2. Najděte spouštěcí jednotku (zkontrolujte kapacitu jednotky nebo proveďte fsck na každém oddílu):

    Sudo fdisk -l
    
  3. Obnovte systém souborů:

    Sudo fsck /dev/sdb1
    
  4. Po opravě a vyčištění systému souborů restartujte počítač ze spouštěcí jednotky.

0
user84246