Hogyan tudom kijavítani a grubot? (Az Ubuntu visszaállítása a Windows telepítése után?)

311

Telepítettem a Windows 7-et, amely az Ubuntu rendszerindító fájlját tartalmazza. A számítógép indításakor most megy egyenesen a Windowsba anélkül, hogy megadtam az Ubuntu indításának lehetőségét.

Hogyan tudom visszaszerezni az Ubuntut?

    
készlet Salahuddin 17.12.2011 08:02
forrás

12 válasz

317

A Windows telepítésekor a Windows feltételezi, hogy ez az egyetlen operációs rendszer (OS) a gépen, vagy legalábbis nem veszi figyelembe a Linuxot. Így helyettesíti a GRUB-ot saját indító betöltőjével. Amit tenned kell, cserélje ki a Windows indító betöltőt a GRUB segítségével. Láttam különböző utasításokat a GRUB helyettesítésére a GRUB parancsokkal vagy valamilyen mással, de számomra a legegyszerűbb az, ha egyszerűen csakchroot -ot telepítesz és futtatod aupdate-grub -ot. A (z)chroot nagyszerű, mert lehetővé teszi, hogy dolgozzon az aktuális telepítésén, ahelyett, hogy itt-ott átirányítaná a dolgokat. Tényleg tiszta.

Így van:

  1. Indítsa el az élő CD-ről vagy az élő USB-ről a "Try Ubuntu" módot.
  2. Határozza meg a fő partíció partíciószámát. sudo fdisk -l,sudo blkid vagy GParted (amely alapértelmezés szerint már telepítve van az élő munkamenetben) segíthet itt. Ebben a válaszban feltételezem, hogy/dev/sda2, de győződjön meg arról, hogy a rendszernek megfelelő partíciószámot használ!

    Ha a fő partíció LVM-ben van , akkor az eszköz a következő helyen lesz:/dev/mapper/, valószínűleg/dev/mapper/{volume}--{os}-root ahol{volume} az LVM kötetnév és{os} is az operációs rendszer. Végezzünkls /dev/mapper -ot a pontos névhez.

  3. Szerelje fel a partíciót:

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

    Ha van külön/boot,/var vagy/usr partíció , ismételje meg a 2. és a 3. lépést a partíciók/mnt/boot,/mnt/var és/mnt/usr . Például

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

    sdXW,sdXY éssdXZ helyettesítése a megfelelő partíciószámokkal.

  4. Húzza össze az egyéb szükséges dolgokat:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. Ha az Ubuntu EFI módban van telepítve ( ezt a választ, ha nem vagy biztos benne ), használd asudo fdisk -l | grep -i efi vagy GParted az EFI partíció megtalálásához. A címkeEFI lesz. Szerelje fel ezt a partíciót, asdXY helyére a rendszer tényleges partíciószámát:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot az Ubuntu telepítéséhez:

    sudo chroot /mnt
    
  7. Ekkor a telepítésed, nem az élő munkamenet, és rootként futsz. Grub frissítése:

    update-grub
    

    Ha hiba van, vagy ha a 7. lépéshez nem sikerült megoldani a problémát, folytassa a 8. lépéssel. (Ellenkező esetben opcionális.)

  8. A helyzetétől függően előfordulhat, hogy újra kell telepíteni a grubot:

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. Ha az Ubuntu telepítve van EFI módban, és az EFI partíció UUID megváltozott, frissítenie kell a/etc/fstab -ban. Hasonlítsa össze:

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

    Ha az aktuális EFI partíció UUID (blkid) eltér a/etc/fstab értékétől, frissítse a/etc/fstab -ot az aktuális UUID-értékkel.

  10. Ha mindent hiba nélkül dolgozott, akkor minden beállítva:

    exit
    sudo reboot
    
  11. Ezen a ponton normálisan el kell indítania a rendszert.

Ha nem tudsz rendesen indítani, és nem tetted a 8. lépést, mert nem voltak hibaüzenetek, próbáld újra a 8. lépéssel.

  • Néha a GRUB2 helyes konfigurációja a partíciókhoz nem elegendő, és ténylegesen telepítenie kell (vagy újra kell telepíteni) a Master Boot Record-ra, amely a 8. lépés. A chat-beszélgető felhasználók tapasztalata azt mutatja, hogy a 8. lépés néha szükséges, még akkor sem, ha nem jelenik meg hibaüzenet.
válasz adott Scott Severance 17.12.2011 13:23
forrás
94

A Windows telepítője nem törődik a rendszer más operációs rendszerével. Tehát saját kódot ír a master boot rekord fölött. Szerencsére a megoldás is könnyű.

Javítani kell az MBR-t. Tegye a következőket

Indítsa el az ubuntu élő usb / cd-jét. Használjaboot-repair -ot a probléma megoldásához.

Az élő usb / cd indítás után indítsa el a parancs következő parancsát:

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

Használja aRecomended Repair -ot.

További információ - link

    
válasz adott Web-E 01.09.2012 08:59
forrás
35

Soha nem szenvedtem bajban az alábbi utasítások használatával: link

Először is el kell indítania a rendszert élő CD-ről. Aztán

  

3. MÓDSZER - CHROOT

     

Ez a telepítési módszer a chroot parancsot használja a hozzáféréshez   a törött rendszer fájlok. A chroot parancs kiadása után a   Az LiveCD a törött rendszert / sajátját kezeli. Parancsok futnak a   a chroot környezet hatással lesz a törött rendszer fájlrendszerekre, és nem   a LiveCD-két.

     
  1. Rendszerindítás a LiveCD Desktopra (Ubuntu 9.10 vagy újabb). Kérjük, vegye figyelembe, hogy az Élő CD-nek meg kell egyeznie a rögzített rendszerrel - vagy   32 bites vagy 64 bites (ha nem, akkor a chroot meghiúsul).

  2.   
  3. Nyisson egy terminált (Alkalmazások > Tartozékok > Terminál).

  4.   
  5. Határozza meg a normál rendszerpartíciót - (a kapcsoló kis "L")

    sudo fdisk -l
    
         

    Ha nem vagy biztos benne, futtassa

    df -Th  
    
         

    Keresse meg a megfelelő lemezméretet és ext3 vagy ext4 formátumot.

  6.   
  7. Szerelje fel a normál rendszerpartíciót:

         

    Helyezze vissza a megfelelő partíciót: sda1, sdb5 stb.

    sudo mount /dev/sdXX /mnt  
    
         

    Példa:sudo mount /dev/sda1 /mnt

  8.   
  9. Csak ha külön boot partíció van:   sdYY a / boot partíció megnevezése (például sdb3)

    sudo mount /dev/sdYY /mnt/boot
    
  10.   
  11. Szerelje fel a kritikus virtuális fájlrendszert:

    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. Chroot a normál rendszereszközre:

    sudo chroot /mnt
    
  14.   
  15. Ha nincs/boot/grub/grub.cfg vagy nem helyes, hozzon létre egyet a

    paranccsal
    update-grub
    
  16.   
  17. Telepítse újra a GRUB 2-et:

         

    Helyes eszköz helyettesítése - sda, sdb stb. Ne adjon meg partíciószámot.

    grub-install /dev/sdX
    
  18.   
  19. Ellenőrizze a telepítést (használja a megfelelő eszközt, például az sda. Ne adjon meg partíciót):

    sudo grub-install --recheck /dev/sdX
    
  20.   
  21. Kilépés a chrootból: CTRL-D a billentyűzeten

  22.   
  23. A virtuális fájlrendszerek lekapcsolása:

    sudo umount /mnt/dev/pts
    sudo umount /mnt/dev
    sudo umount /mnt/proc
    sudo umount /mnt/sys
    
  24.   
  25. Ha különálló / boot partíciót telepített:

    sudo umount /mnt/boot
    
  26.   
  27. A LiveCD / usr könyvtár eltávolítása:

    sudo umount /mnt/usr
    
  28.   
  29. Utolsó eszköz eltávolítása:

    sudo umount /mnt
    
  30.   
  31. Újraindít.

    sudo reboot
    
  32.   
    
válasz adott desgua 27.04.2012 04:15
forrás
19

Indít egy élő Ubuntu USB pendrive-ról vagy CD-ről és
Telepítse a Boot-Repair szolgáltatást az ubuntu használatával a következő lépésekkel

Nyissa meg a terminált, és futtassa a következő parancsokat

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

Miután befejezte a telepítést, elindíthatja azt a Rendszer-> Felügyeleti és Boot-Repair menüből, ha a Gnome-ot használja, vagy ha a Unity-t használod, keresse meg a "boot-repair" parancsot. Ezután kövesse az alábbi screenshotokat:

1. módszer

  • Kattintson a speciális beállításokra

  • Jelölje meg az alábbi beállításokat

  • Módosítsa a lapot a Grub Hely fülre és jelölje be az ábrán látható opciókat

Nyomja meg az Apply and Reboot the system

gombot

2. módszer

  • Válassza ki az ajánlott Boot javítási opciókat az első képernyőképen

Dokumentáció:

    
válasz adott Stormvirux 30.07.2013 21:25
forrás
11

Csak telepítse aeasyBCD -ot a Windows 7-ben, és ne

Új bejegyzés hozzáadása > Linux / BSD > (válassza ki) Grub2 > (push) bejegyzés hozzáadása

Akkor választhatja az Ubuntu fájlt a Windows 7 rendszerbetöltőjében a Grub2 (előző rendszerbetöltő) eléréséhez.

    
válasz adott hamed 11.03.2012 23:09
forrás
5

Most van egy egyszerűbb megoldás:

  1. Indítsa újra a számítógépet, és írja be a számítógép BIOS-beállításait (F2, vagy néha F11).
  2. Menjen a Boot menübe, majd válassza a Rendszerindító eszköz prioritása
  3. Ellenőrizze, hogy a Windows Boot Manager a fő rendszerindító meghajtó fölött van (általában SATA HDD ... vagy IDE HDD ... ). Ha igen, helyezze át a rendszerindító lemez prioritását a Windows Boot Manager felett.
  4. Mentse el BIOS-beállításait, és lépjen ki (általában F10).

Ez tesztelt egy Samsung Series 7 Chronos laptopon, kettős indítással Windows 8 és Ubuntu 13.10, biztonságos indítás tiltva, UEFI és régi rendszerindítás engedélyezve.

    
válasz adott scruss 15.12.2013 14:04
forrás
3

Az EFI-alapú rendszereken (például a legtöbb Windows 8 vagy újabb verziójú rendszereken) a Windows néha frissíti a rendszerbetöltőt, vagy alaphelyzetbe állítja az alapértelmezett betöltőprogramot. Ez különösen akkor jelentkezik, ha az operációs rendszer újratelepítése vagy egy fontos rendszerfrissítés végrehajtása történik (például frissítés a legfrissebb Windows kiadásra). Ne feledje, hogy a Windows valószínűleg nem törli a GRUB fájlokat egy EFI alapú számítógépen. Minden, ami szükséges az Ubuntu indításához; csak kiiktatják. Ezekben az esetekben a GRUB teljes újratelepítése túlzás, és valójában (kis) esélye van arra, hogy új problémákat okoz.

Így a GRUB újbóli telepítése helyett ebben az esetben ajánlom a GRUB visszaállítását (vagy bármelyik boot betöltő vagy rendszerindító kezelőt, amelyik tetszik) az alapértelmezettnek. Ennek több módja is lehet:

  • EasyUEFI - A rendszerindítás legegyszerűbb módja, ha a rendszer egyenesen Windows rendszerre indul, a EasyUEFI, , amely ingyenes (az alapváltozathoz) harmadik fél GUI eszköze az EFI rendszerindítási sorrendjének kezeléséhez. Ez eléggé magától értetődő - keresse meg aubuntu bejegyzést a rendszerindítási opciók listájában, és helyezze a lista tetejére. A következő újraindításkor a GRUB-nak jönnie kell. (Ha valami másikat használ, mint GRUB, meg kell keresnie a bejegyzést.)
  • bcdedit - A Windowsbcdedit eszköz segítségével a GRUB az alapértelmezett rendszerindítási sorrendre állítható be. Abcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi parancs, amelyet adminisztrátori Parancssor ablakba írtak be; Ha azonban a számítógép a Secure Boot aktív állapotában indul, akkorbcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi lesz szükség. Valójában az utóbbi parancs általában akkor is működik, ha a Secure Boot nincs használatban, ezért először ezt a parancsot használnám. Vegyük észre, hogy van egy haladóbb Windows-eszköz, amelyhez kissé eltérő szintaxisra van szükség, mint amit bemutattam, de nem emlékszem a részletekre.
  • Egyszeres indítás az Ubuntu-hoz - A legtöbb EFI beépített rendszerindítási menedzsert biztosít, amelyet a rendszerindítási folyamat korai szakaszában egy funkciógomb, az Esc vagy az Enter billentyű lenyomásával érhet el. Lehetséges, hogy aubuntu bejegyzés az Ubuntu indításához megjelenik ebben a boot-menedzser menüben, amely lehetővé teszi, hogy az Ubuntu-ba induljon. Alternatív megoldásként indíthat egy Ubuntu vészhelyzeti adathordozót, például a telepítés előtt a "próbálkozhat a telepítés előtt" üzemmódban. Bármelyik módon aefibootmgr paranccsal beállíthatja a rendszerindítási sorrendet:
    1. Írja be asudo efibootmgr parancsot a rendszerindító bejegyzések megtekintéséhez.
    2. Vegye figyelembe az aktuálisBootOrder sort.
    3. Keresse meg aubuntu bejegyzést, és jegyezze megBoot#### számát.
    4. Írja be asudo efibootmgr -o xxxx[,yyyy,zzzz,....] parancsot a rendszerindítási sorrend megváltoztatásához, ígyxxxx az Ubuntu számát. Ami ezután következik be, valószínűleg nem túl fontos, bár megjegyeztem, hogy a Windows úgy tűnik, valószínűleg visszaállítja a rendszertöltési rendszer elejére, ha nem szerepel a listán. Így valószínűleg gondoskodnia kell arról, hogy a Windows szerepel a listán, és lehet, hogy a legbiztonságosabb újrarendelni a listát úgy, hogy minden eredeti bejegyzés létezik, csak aubuntu bejegyzés a lista tetejére kerül.
  • Firmware-telepítő segédprogram - Egyes EFI-k telepítési segédprogramjai lehetővé teszik a rendszerindítási sorrend beállítását. A részletek nagyban különböznek egy EFI-től a másikig, így nem fogok részleteket megkeresni, de egy ilyen opciót kereshet a beállítási segédprogramban.

Vannak más változatok is ezeken az eljárásokon, például abcfg használatával EFI-héjban abless -ban a macOS-ban, a rEFInd egy egyszeri indításhoz stb., de az EasyUEFI-dal kezdem; valószínűleg a legegyszerűbb megoldás. Néha a Windows ragaszkodik ahhoz, hogy alapértelmezettvé váljon minden egyes alkalommal, amikor elindul, és a jelentések szerint abcdedit jobb munkát végezhet a probléma kezelésében.

Vegye figyelembe, hogy az előzőek egyike sem vonatkozik a BIOS módú telepítésekre; Mivel azonban a legtöbb Windows 8-as vagy újabb EFI-módban indított számítógépen a BIOS módú telepítések egyre ritkábbak, ezért sok esetben jobb, ha a problémát az EFI módszerrel kezeljük, nem pedig a GRUB véletlen újratelepítésével.

    
válasz adott Rod Smith 13.07.2017 17:03
forrás
2

Boot-Repair dolgozott nekem. Nagyon egyszerű a grafikus alkalmazás használata, nem kell a parancssort használni, csak egy gombot kell kattintania:)

Az összes rendelkezésre álló javítási lehetőséget az Ubuntu dokumentációban írja le, és van egy különálló oldal , amely ismerteti a Boot-Repair indításának módját (egy indítható lemez létrehozásával vagy egy meglévő Ubuntu élő lemezre telepítésével) és annak használatáról. / p>

Csak indíts egy Ubuntu élő CD-t, telepítsd a Boot-Repair programot és futtasd.

    
válasz adott lorenzo-s 18.12.2011 02:41
forrás
1

Ha a GRUB meghibásodott, a felhasználó általában nem fér hozzá a rendszerhez, ezért a javítást egy élő munkafolyamatból (élő CD-t vagy élő-USB-t) kell elvégezni.

A GRUB-szünetre számos lehetséges ok van: a Windows írja az MBR-t, a DRM megakadályozza a GRUB helyes telepítését, a telepítő hibát, a hardvercserét ... A GRUB kezdetben javasolt frissítése a GRUB-tól általában nem elegendő, a Marco által ajánlott GRUB újbóli telepítése hatékonyabb, de még mindig vannak olyan helyzetek, amelyek más csípést igényelnek (a rendszermaghoz hozzáadva lehetőségeket, a GRUB menü megnyitását, a GRUB-beállítások megváltoztatását, a megfelelő host-architektúra kiválasztását ...). A GRUB javításával kapcsolatos egyéb nehézségek a chroot használata és a megfelelő partíciók / lemezek kiválasztása.

Mindez könnyűvé vált egy kis grafikus eszközön: Boot-Repair . Azt be kell illeszteni az Ubuntu 12.04 CD-be a könnyebb használat érdekében, de az emberek számára most már vannak olyan disztrádák, amelyek integrálják: Ubuntu-Secured-Remix (Ubuntu CD integráló Boot-Repair), Boot-Repair-Disk Javítás indításkor), ...

Remélem ez segít.

    
válasz adott LovinBuntu 20.12.2011 09:58
forrás
0

A Windows nem látja a Linux formázott partíciókat. Használnia kell egy élő CD-t, és létre kell hoznia az NTFS formátumú elsődleges partíciót a rendszerindító zászlóval.

Egyeseknél problémák merültek fel, ha az új elsődleges partíció a kiterjesztett partíció után van, mivel a Windows nem mindig helyezi vissza megfelelően a partíciós táblát. A legjobb biztonsági mentések és a partíciós tábla külön mentése.

A partíciós tábla mentése szövegfájlba & mentse a külső eszközre.

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

Ez csak MBR (msdos) rendszerekre vonatkozik. Ha az Ubuntu telepítése GPT partíciós meghajtó, csak a Windows telepítését UEFI módba, vagy vissza tudja konvertálni a meghajtót MBR-be (msdos).

    
válasz adott oldfred 30.07.2013 22:01
forrás
0

Csak afsck parancs javította agrub-rescue képernyőt.

Használja a Boot-Repair programot a Live-CD-ről való indításhoz, majd nyissa meg a Terminál

A megfelelő eszköz beszerzése:

sudo fdisk -l

A rendszertöltőnek meg kell találnia a rendszertöltő eszközt:* a Boot kategóriában, mint itt:

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

Most javítsd meg a lemezt:

sudo fsck /dev/sda2

Megjegyzés: A / dev / sda2 a példában szereplő indítóeszköz.

Adja meg Y a problémák megoldásához

Miután Y kb. 2-szer beírta a CTRL + C értéket, afsck folyamatot leállíthatja, mert a kritikus rész már Kész.

Újraindít. Kész.

    
válasz adott Benny 25.07.2018 09:51
forrás
0

A Scott és a Web-E által adott válaszok elégségesek és sokszor segítettek. De sokszor a boot-repair eszköz nem képes az i386 és az amd64 platformhoz kapcsolódó problémák miatt javítani a grub-ot, vagy ahol a grub nem találja aefi könyvtárat.
Mi megoldotta a problémámat, mint több mint 10-szer, hogy kézzel tisztítsa meg a régi grub telepítések és telepíteni egy új.

Először végezz el az első hat lépést a Scott válaszából , ahol kihagyhatja az 5. lépést, ha hibát ad:

  
  1. Indítsa el az élő CD-ről vagy az élő USB-ről a "Try Ubuntu" módot.
  2.   
  3. Határozza meg a fő partíció partíciószámát. sudo fdisk -l,sudo blkid vagy GParted (amely alapértelmezés szerint már telepítve van az élő munkamenetben) segíthet itt. Feltételezem   ebben a válaszban/dev/sda2, de győződjön meg róla, hogy használja a   a rendszer megfelelő partíciószámát!

         

    Ha a fő partíció LVM-ben van , akkor a készülék a/dev/mapper/ -ban található, valószínűleg,   /dev/mapper/{volume}--{os}-root ahol a{volume} az LVM kötet   név és{os} az operációs rendszer. Végezze ells /dev/mapper for   a pontos név.

  4.   
  5. Szerelje fel a partíciót:

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

    Ha van külön/boot,/var vagy/usr partíció , ismételje meg a 2. és a 3. lépést a partíciók/mnt/boot   /mnt/var és/mnt/usr. Például

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

    sdXW,sdXY éssdXZ helyettesítése a megfelelő partíciószámokkal.

  6.   
  7. Húzza össze az egyéb szükséges dolgokat:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  8.   
  9. Ha az Ubuntu EFI módban van telepítve ([lásd ezt a választ, ha nem vagy biztos benne] [efi]), használd asudo fdisk -l | grep -i efi vagy GParted   az EFI partíción. A címkeEFI lesz. Szerelje fel   partíció, asdXY helyett az Ön aktuális partíciószámát   rendszer:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  10.   
  11. chroot az Ubuntu telepítéséhez:

    sudo chroot /mnt
    
  12.   

Ezután hajtsa végre a következő lépéseket:

  1. Konfigurálja az összes függő csomagot.
    sudo dpkg --configure -a
  2. Javítsa ki a sérült csomagokat.
    sudo apt install -fy
  3. Az aktuális grub eltávolítása.
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    Ez figyelmeztetést jelenthet arra vonatkozóan, hogy a készülék nem tartalmaz boot-betöltőt és a következő alkalommal nem tud elindulni. Menj előre, és fogadd el.
  4. sudo apt install -y grub-pc katalógusa  A parancs futtatása után a rendszer kérni fogja, hogy az aktuálissdXY -ot a bootloader telepítéséhez irányítsa. Keresse meg a jelenlegi operációs rendszer telepítését asudo fdisk -l paranccsal. Linux lesz címkézve. Navigáljon az ablakban a Tab billentyűvel, és válasszon egy opciót a Space billentyűvel.
  5. Ha minden rendben megy, a grub helyesen lesz telepítve. Asudo grub-update -ot kétszer is ellenőrizheti.

Ha a probléma továbbra is fennáll, olvassa el az Arch wiki-jét , hogy valóban megértse a grub-ot, hogy számos más fajtával foglalkozzon a problémákra. (Igen, az Ubuntu számára is segít!).

    
válasz adott subtleseeker 06.09.2018 16:28
forrás