Jak mohu opravit grub? (Jak získat Ubuntu zpět po instalaci systému Windows?)

311

Nainstaloval jsem systém Windows 7, který sbalil spouštěcí soubor Ubuntu. Při spuštění počítače nyní jde přímo do systému Windows, aniž by mi dal možnost zavést Ubuntu.

Jak mohu získat Ubuntu zpět?

    
dané Salahuddin 17.12.2011 08:02

12 odpovědí

317

Při instalaci systému Windows se Windows domnívá, že je jediným operačním systémem (OS) na stroji, nebo přinejmenším nezahrnuje systém Linux. Takže nahrazuje GRUB vlastním zavaděčem. Co musíte udělat, je nahradit zavaděč systému Windows pomocí GRUBu. Viděla jsem různé pokyny pro výměnu GRUBu tím, že jsem přemýšlel s GRUB příkazy nebo některými takovými, ale pro mě nejjednodušší je prostěchroot do vaší instalace a spustitupdate-grub. chroot je skvělé, protože vám umožňuje pracovat na vaší skutečné instalaci namísto toho, abyste se snažili zde a tam přesměrovat věci. Je to opravdu čisté.

Postup:

  1. Spusťte z živého CD nebo živého USB v režimu "Vyzkoušejte Ubuntu".
  2. Určete číslo oddílů vašeho hlavního oddílu. sudo fdisk -l,sudo blkid nebo GParted (které by měly být již ve výchozím nastavení nainstalovány v živé relaci) vám mohou pomoci zde. V této odpovědi předpokládám, že je to/dev/sda2, ale ujistěte se, že používáte správné číslo oddílů pro váš systém!

    Je-li váš hlavní oddíl v LVM , bude zařízení umístěno v/dev/mapper/, s největší pravděpodobností/dev/mapper/{volume}--{os}-root, kde{volume} je název svazku LVM a{os} operačním systémem. Spusťtels /dev/mapper pro přesný název.

  3. Připojte svůj oddíl:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    
    Pokud máte samostatné/boot,/var nebo/usr oddílů , opakujte kroky 2 a 3, abyste připojili tyto oddíly na/mnt/boot,/mnt/var a/mnt/usr. . Například

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    

    nahrazenísdXW,sdXY asdXZ s příslušnými čísly oddílů.

  4. Připojte další potřebné věci:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. Pokud je Ubuntu nainstalován v režimu EFI ( najdete tuto odpověď, pokud si nejste jisti ), použijtesudo fdisk -l | grep -i efi nebo GParted pro nalezení oddílu EFI. Bude mít označeníEFI. Namontujte tento oddíl a nahraďtesdXY skutečným číslem oddílů pro váš systém:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot do instalace Ubuntu:

    sudo chroot /mnt
    
  7. V tomto okamžiku jste ve své instalaci, nikoli v živé relaci, a běžíte jako kořen. Aktualizovat grub:

    update-grub
    

    Pokud se vyskytnou chyby nebo jestliže jste se dostali až do kroku 7, problém nebyl vyřešen, přejděte ke kroku 8. (Jinak je to nepovinné.)

  8. V závislosti na vaší situaci budete pravděpodobně muset přeinstalovat grub:

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. Pokud je Ubuntu nainstalován v režimu EFI a změní se UUID oddílů EFI, bude pravděpodobně nutné jej aktualizovat v/etc/fstab. Porovnejte jej:

    blkid | grep -i efi
    grep -i efi /etc/fstab
    

    Pokud se aktuální UUID oddílů EFI (odblkid) liší od% v/etc/fstab, aktualizujte/etc/fstab s aktuálním identifikátorem UUID.

  10. Pokud vše funguje bez chyb, pak jste nastaveni:

    exit
    sudo reboot
    
  11. V tomto okamžiku byste měli být schopni bootovat normálně.

Pokud se nemůžete spustit normálně a neudělal krok 8, protože nebyly žádné chybové zprávy, zkuste to znovu s krokem 8.

  • Někdy dává GRUB2 správnou konfiguraci pro vaše diskové oddíly nestačí a musíte ji skutečně nainstalovat (nebo přeinstalovat) do hlavního spouštěcího záznamu, který provede krok 8. Zkušenosti, které pomáhají uživatelům v chatu, ukázaly, že krok 8 je někdy nutný i když se nezobrazují žádné chybové zprávy.
odpověděl Scott Severance 17.12.2011 13:23
94

Instalační program systému Windows se nestará o další operační systém v systému. Takže píše vlastní kód nad hlavním zaváděcím záznamem. Naštěstí je řešení snadné.

Musíte opravit MBR. Proveďte následující

Zavádění pomocí živého usb / cd ubuntu. Pro odstranění problému použijteboot-repair.

Po spuštění s živým usb / cd spusťte následující příkaz v terminálu:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

PoužijteRecomended Repair.

Více informací - Odkaz

    
odpověděl Web-E 01.09.2012 08:59
35

Nikdy jsem se nedostal do potíží pomocí těchto pokynů:
Odkaz

Nejprve musíte spustit systém z živého disku CD. Pak

  

METODA 3 - CHROOT

     

Tato metoda instalace používá příkaz chroot k získání přístupu   soubory poškozeného systému. Po vydání příkazu chroot je příkaz   LiveCD zachází se zlým systémem / jako s jeho vlastním. Příkazy jsou spuštěny a   prostředí chrootu bude mít vliv na poškozené systémy souborů a ne   těch na LiveCD.

     
  1. Zavedení na plochu LiveCD (Ubuntu 9.10 nebo novější). Vezměte prosím na vědomí, že Live CD musí být stejné jako systém, který opravujete - a to buď   32bitové nebo 64bitové (pokud ne, pak chroot selže).

  2.   
  3. Otevřete terminál (Aplikace > Příslušenství & Terminal).

  4.   
  5. Určete svůj normální systémový oddíl - (spínač je malý "L")

    sudo fdisk -l
    
         

    Pokud si nejste jisti, spusťte

    df -Th  
    
         

    Hledejte správnou velikost disku a formát ext3 nebo ext4.

  6.   
  7. Namontujte svůj normální systémový oddíl:

         

    Nahraďte správný oddíl: sda1, sdb5 atd.

    sudo mount /dev/sdXX /mnt  
    
         

    Příklad:sudo mount /dev/sda1 /mnt

  8.   
  9. Pouze pokud máte samostatný spouštěcí oddíl:   sdYY je označení / bootovací oddíl (například sdb3)

    sudo mount /dev/sdYY /mnt/boot
    
  10.   
  11. Namontujte kritické virtuální souborové systémy:

    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
    
  12.   
  13. Vložte do normálního systémového zařízení:

    sudo chroot /mnt
    
  14.   
  15. Pokud není/boot/grub/grub.cfg nebo není správné, vytvořte jej pomocí

    update-grub
    
  16.   
  17. Přeinstalujte GRUB 2:

         

    Nahraďte správné zařízení - sda, sdb atd. Nezadávejte číslo oddílu.

    grub-install /dev/sdX
    
  18.   
  19. Ověřte instalaci (použijte správné zařízení, například sda. Nezadávejte oddíl):

    sudo grub-install --recheck /dev/sdX
    
  20.   
  21. Ukončete chroot: CTRL-D na klávesnici

  22.   
  23. Odpojte virtuální souborové systémy:

    sudo umount /mnt/dev/pts
    sudo umount /mnt/dev
    sudo umount /mnt/proc
    sudo umount /mnt/sys
    
  24.   
  25. Pokud jste připojili samostatný / zaváděcí oddíl:

    sudo umount /mnt/boot
    
  26.   
  27. Odpojte adresář / usr LiveCD:

    sudo umount /mnt/usr
    
  28.   
  29. Odpojte poslední zařízení:

    sudo umount /mnt
    
  30.   
  31. Restartujte počítač.

    sudo reboot
    
  32.   
    
odpověděl desgua 27.04.2012 04:15
19

Zavedení ze živého disku Ubuntu USB nebo CD a
Nainstalovat boot-Repair na ubuntu podle následujících kroků

Otevřete terminál a spusťte následující příkazy

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

Po dokončení instalace můžete spustit z nabídky System-> Administration-> Boot-Repair, pokud používáte Gnome, nebo hledáte "boot-repair" v pomlčce, pokud používáte Unity. Pak postupujte podle následujících screenshotů:

Metoda 1

  • Klikněte na rozšířené možnosti

  • Zaškrtněte následující možnosti

  • Změňte kartu na kartu Umístění Grub a zaškrtněte volby zobrazené na obrázku

Stiskněte tlačítko Použít a restartovat systém

Metoda 2

  • Vyberte doporučené možnosti opravy zavádění, jak je znázorněno na první obrazovce

Dokumentace:

    
odpověděl Stormvirux 30.07.2013 21:25
11

Stačí nainstalovateasyBCD v systému Windows 7 a dělat

Přidat nový záznam > Linux / BSD > (vybrat) Grub2> (push) Přidat položku

Potom můžete v zavaděči systému Windows 7 zvolit Ubuntu a přejděte na Grub2 (předchozí bootloader).

    
odpověděl hamed 11.03.2012 23:09
5

Existuje nyní jednodušší řešení:

  1. Restartujte počítač a zadejte možnosti BIOSu vašeho počítače (F2 nebo někdy F11).
  2. Přejděte do nabídky Zavádění a vyberte možnost Priorita zaváděcího zařízení
  3. Zkontrolujte, zda Správce spouštění systému Windows je nad hlavní jednotkou zavádění (obvykle SATA HDD ... nebo IDE HDD ... ). Pokud ano, přesuňte prioritu zaváděcí diskety nad prioritu Správce spouštění systému Windows.
  4. Uložte možnosti systému BIOS a ukončete (obvykle F10).

Test byl testován na dvounábojovém notebooku řady Samsung 7 Chronos s operačním systémem Windows 8 a Ubuntu 13.10, bezpečnostní spuštění bylo zablokováno, UEFI a legacy boot povoleny.

    
odpověděl scruss 15.12.2013 14:04
3

Na systémech založených na systému EFI (například většina systémů dodávaných se systémem Windows 8 nebo novějšími) systém Windows občas aktualizuje zavaděč nebo obnoví výchozí zavaděč. To je obzvláště běžné při opětovném nainstalaci operačního systému nebo při provádění zásadní aktualizace systému (například upgrade na nejnovější verzi systému Windows). Všimněte si, že je pravděpodobné, že systém Windows skutečně odstraní všechny soubory GRUB v počítači se systémem EFI. Všechno, co je potřeba k zavedení Ubuntu, je stále na místě; je to prostě obejit. V takových případech je úplná reinstalace GRUBu nadměrná a ve skutečnosti má malou šanci, že to vytvoří nové problémy.

Takže namísto opětovného instalace GRUBu v těchto případech doporučuji, aby bylo obnovení GRUBu (nebo jakéhokoli zaváděcího nebo bootovacího správce, který dáváte přednost) výchozí. Existuje několik způsobů, jak to udělat, včetně:

  • EasyUEFI - Nejjednodušší způsob, jak nastavit pořadí zavádění, je-li systém zaváděn přímo do systému Windows, je použít EasyUEFI, , což je bezplatná (pro základní verze) nástroj GUI od jiného výrobce pro správu pořadí zavádění EFI. Je to docela vysvětlující - vyhledejte položkuubuntu v seznamu možností zavádění a přemístěte ji na začátek seznamu. Při příštím restartu by měl GRUB přijít. (Používáte-li jiný než GRUB, budete muset vyhledat jeho položku.)
  • bcdedit - Nástroj Windowsbcdedit lze použít k nastavení parametru GRUB na výchozí pořadí zavádění. Příkazbcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, napsaný v okně příkazového řádku Administrator , to provede; Pokud se však počítač spustí s aktivním zabezpečeným spuštěním, bude místo toho vyžadovánobcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi. Ve skutečnosti bude tento příkaz obvykle fungovat i v případě, že se Secure Boot nepoužívá, a proto bych tento příkaz nejprve použil. Všimněte si, že je pokročilejší nástroj prostředí Windows, který vyžaduje mírně odlišnou syntaxi, než jsem uvedl, ale nepamatuji si podrobnosti.
  • Jednorázové zavádění do Ubuntu - Většina nástrojů EFI poskytuje vestavěný správce zavádění, který je přístupný stiskem funkčního tlačítka, Esc nebo Enter včas v procesu spouštění systému. Je pravděpodobné, že se v této nabídce správce zavádění zobrazí výzvaubuntu boot Ubuntu, která vám umožní zavést systém Ubuntu. Případně byste se mohli zavést na nouzové médium Ubuntu, jako instalační program spuštěný v režimu "zkuste před instalací". V každém případě můžete použítefibootmgr k úpravě pořadí zavádění:
    1. Pro zobrazení zaváděcích položek zadejtesudo efibootmgr.
    2. Poznamenejte si aktuální řádekBootOrder.
    3. Vyhledejte položku proubuntu a poznamenejte si jejíBoot#### číslo.
    4. Zadejte příkazsudo efibootmgr -o xxxx[,yyyy,zzzz,....] pro změnu pořadí zavádění, čímžxxxx představuje číslo pro Ubuntu. To, co přichází po tomto, není s největší pravděpodobností velmi důležité, i když jsem si všiml, že se zdá, že se Windows pravděpodobně přidá zpět k počátku bootovacího řádu, pokud není v seznamu. Takže byste pravděpodobně měli zajistit, že systém Windows je v seznamu, a může být nejbezpečnější, aby byl seznam znovu uspořádán tak, aby všechny původní položky byly tam, pouze když byla položkaubuntu přesunuta do horní části seznamu.
  • Pomůcka pro nastavení firmwaru - Některé nástroje pro nastavení EFI umožňují nastavit pořadí zavádění. Podrobnosti se značně liší od jednoho EFI k druhému, takže se nebudu zabývat konkrétními parametry, ale můžete hledat takovou možnost v instalačním nástroji.

Existují i ​​další varianty těchto procedur, jako například použitíbcfg v shellu EFI, s použitímbless v macOS, pomocí rEFInd provést jednorázový start, atd. Začal bych s EasyUEFI, i když; je to pravděpodobně nejjednodušší řešení. Někdy Windows trvá na tom, že se sám nastaví jako výchozí při každém spuštění, a zprávy naznačují, žebcdedit může udělat lepší práci s tímto problémem.

Všimněte si, že žádný z předchozích se nevztahuje na instalace v režimu BIOS; nicméně většina počítačů dodávaných s operačním systémem Windows 8 nebo novějšími v režimu EFI se instalace v režimu BIOS stávají čím dál tím vzácnějšími, takže v mnoha případech je lepší řešit problém způsobem EFI, než slepě znovu instalovat GRUB.

    
odpověděl Rod Smith 13.07.2017 17:03
2

Boot-Repair pracoval pro mě. Je to velmi velmi snadné použití grafické aplikace, nemusíte používat příkazový řádek, stačí kliknout na tlačítko:)

Všechny dostupné opravy jsou popsány v dokumentaci Ubuntu a existuje odstranit stránku , která vysvětluje, jak spustit systém Boot-Repair (vytvořením spouštěcího disku nebo jeho instalací do existujícího Ubuntu live disku) a jak jej používat.

Stačí spouštět disk CD se systémem Ubuntu, nainstalovat Boot-Repair a spustit jej.

    
odpověděl lorenzo-s 18.12.2011 02:41
1

Pokud je GRUB poškozen, uživatel obecně nemá přístup k systémům, takže opravy musí být provedeny z živé sekce (live-CD nebo live-USB).

Existuje mnoho možných příčin GRUB zlomu: Windows psaní na MBR, DRM brání GRUB instalovat správně, chyba instalátoru, změna hardwaru ... Aktualizace GRUBu, jak původně navrhla společnost Scott, obecně nestačí, přeinstalování GRUBu, jak navrhuje Marco, je efektivnější, ale stále existují různé situace, které vyžadují další vylepšení (přidání možností k jádru, odkrytí menu GRUB, změna možností GRUBu, ...). Další problémy při opravě GRUBu jsou použití chrootu a volba správných diskových oddílů.

Všechno bylo jednodušší v malém grafickém nástroji: Boot-Repair . To (Ubuntu-Secured-Remix), Boot-Repair-Disk (CD se systémem Boot-Repair) Oprava při spuštění), ...

Doufám, že to pomůže.

    
odpověděl LovinBuntu 20.12.2011 09:58
0

Windows nevidí diskové oddíly formátované v systému Linux. Musíte použít gparted z liveCD a vytvořit NTFS formátovaný primární diskový oddíl se zaváděcím příznakem.

Některé problémy se vyskytly v případě, že nový primární oddíl je po rozšířeném oddílu, protože systém Windows neresetuje správně tabulku oddílů. Nejlepší je mít dobré zálohy a samostatné zálohování tabulky oddílů.

Záložní oddíl tabulky do textového souboru & uložit do externího zařízení.

sudo sfdisk -d /dev/sda > PTsda.txt

Toto je pouze pro systémy MBR (msdos). Pokud je instalace Ubuntu umístěna v jednotce oddílů GPT, můžete pouze nainstalovat systém Windows do režimu UEFI nebo převést jednotku zpět na MBR (msdos).

    
odpověděl oldfred 30.07.2013 22:01
0

Pouze příkazfsck fixoval obrazovkugrub-rescue pro mě.

Použijte Boot-Repair k zavedení z Live-CD a otevřete Terminal

Získejte správné zařízení:

sudo fdisk -l

Potřebujete najít zaváděcí zařízení, spouštěcí zařízení má* pod Boot category jako zde:

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sda1          2048   2000895   1998848  976M 82 Linux swap / Solaris
/dev/sda2  *    2000896 943716351 941715456  449G 83 Linux

Opravte disk pomocí:

sudo fsck /dev/sda2

Poznámka: / dev / sda2 je spouštěcí zařízení v tomto příkladu.

Zadejte Y pro opravu problémů

Po zadání Y přibližně dvakrát můžete zastavit procesfsck zadáním CTRL + C Hotovo.

Restartujte počítač. Hotovo.

    
odpověděl Benny 25.07.2018 09:51
0

Odpovědi poskytované Scott a Web-E jsou dost dobré a pomohly mnohokrát. Ale mnohokrát, nástroj pro opravu bootů není schopen opravit grub kvůli problémům souvisejícím s platformou i386 a amd64 nebo jednou, kde grub nemůže najít adresářefi.
Co vyřešilo můj problém, jako je více než desetkrát, je ruční vyčištění starých instalací grub a instalace nového.

Takže nejprve proveďte prvních 6 kroků z odpovědi společnosti Scott na odpověď , kde můžete vynechat 5. krok, pokud se jedná o chybu:

  
  1. Spusťte z živého CD nebo živého USB v režimu "Vyzkoušejte Ubuntu".
  2.   
  3. Určete číslo oddílů vašeho hlavního oddílu. sudo fdisk -l,sudo blkid nebo GParted (které by měly být již ve výchozím nastavení nainstalovány v živé relaci) vám mohou pomoci zde. Budu předpokládat   v této odpovědi je to/dev/sda2, ale ujistěte se, že používáte   správné číslo oddílů pro váš systém!

         

    Je-li váš hlavní oddíl v LVM , bude zařízení umístěno v/dev/mapper/   /dev/mapper/{volume}--{os}-root kde{volume} je objem LVM   název a{os} je operační systém. Proveďtels /dev/mapper pro   přesný název.

  4.   
  5. Připojte svůj oddíl:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    
         

    Pokud máte samostatné/boot,/var nebo/usr oddílů , opakujte kroky 2 a 3 pro připojení těchto oblastí k/mnt/boot   /mnt/var a/mnt/usr. Například

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    
         

    nahrazenísdXW,sdXY asdXZ s příslušnými čísly oddílů.

  6.   
  7. Připojte další potřebné věci:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  8.   
  9. Pokud je Ubuntu nainstalován v režimu EFI ([viz odpověď, pokud si nejste jisti] [efi]), použijtesudo fdisk -l | grep -i efi nebo GParted k nalezení   váš oddíl EFI. Bude mít označeníEFI. Připojte ho   oddíl, nahrazujícísdXY s číslem skutečné partition pro vaše   systém:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  10.   
  11. chroot do instalace Ubuntu:

    sudo chroot /mnt
    
  12.   

Proveďte tyto kroky:

  1. Nakonfigurujte všechny nevyřízené balíčky.
    sudo dpkg --configure -a
  2. Opravte poškozené balíčky.
    sudo apt install -fy
  3. Odstraňte aktuální grub.sudo apt purge -y grub*-common grub-common:i386 shim-signed
    To může znamenat varování, že vaše zařízení nebude mít žádný bootloader a pravděpodobně nebude možné znovu spustit. Pokračujte a přijměte to.
  4. sudo apt install -y grub-pc
     Po spuštění tohoto příkazu vás požádá, abyste ukázal aktuálnísdXY a nainstaloval bootloader. Zjistěte, kde je nainstalován aktuální operační systém pomocí příkazusudo fdisk -l. Označuje se jakoLinux. Procházejte tímto oknem pomocí klávesy Tab a vyberte volbu pomocí klávesy Prostor .
  5. Pokud vše půjde správně, bude grub správně nainstalován. Pro dvojitou kontrolu můžete také provéstsudo grub-update.

Pokud problém stále přetrvává, můžete si přečíst wiki archu , abyste skutečně porozuměli o grubu, abyste řešili mnoho dalších odrůd problémů. (Ano, pomáhá také pro Ubuntu!).

    
odpověděl subtleseeker 06.09.2018 16:28