grub nasıl tamir edebilirim? (Windows kurduktan sonra Ubuntu nasıl geri alınır?)

306

Ubuntu'nun önyükleme dosyasını çalan Windows 7'yi yükledim. Bilgisayarı başlatırken, şimdi Ubuntu'yu yeniden başlatma seçeneği vermeden, doğrudan Windows'a gider.

Ubuntu'yu nasıl geri alabilirim?

    
sordu Salahuddin 17.12.2011 08:02

11 cevap

313

Windows'u yüklediğinizde, Windows, makinedeki tek işletim sistemi (OS) olduğunu veya en azından Linux için hesap olmadığını varsayar. Bu yüzden GRUB'u kendi önyükleyicisiyle değiştirir. Yapmanız gereken, Windows önyükleme yükleyicisini GRUB ile değiştirmektir. GRUB komutlarını veya bazılarını GRUB komutları ile değiştirerek değiştirmek için çeşitli talimatlar gördüm, ancak benim için en kolay yolu, chroot 'yi yüklemenize% ko_de% çalıştırmaktır. update-grub büyüktür, çünkü buradaki ve orada bulunan şeyleri yeniden yönlendirmek yerine gerçek yüklemenizde çalışmanıza olanak tanır. Gerçekten temiz.

İşte nasıl:

  1. Canlı CD'den ya da "Ubuntu Dene" modunda canlı USB'den önyükleme yapın.
  2. Ana bölümünüzün bölüm numarasını belirleyin. chroot , sudo fdisk -l veya GParted (varsayılan olarak canlı oturumda kurulu olmalıdır) burada size yardımcı olabilir. Bu cevapta sudo blkid olduğunu, ancak sisteminiz için doğru bölüm numarasını kullandığınızdan emin olun!

    Ana bölümünüz bir LVM'de ise , cihaz /dev/sda2 , büyük olasılıkla /dev/mapper/ , /dev/mapper/{volume}--{os}-root LVM birim adı ve {volume} ise isletim sistemi. Tam ad için {os} yürüt.

  3. Bölümünüzü yerleştirin:

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

    ls /dev/mapper , /boot veya /var bölümleri 'niz varsa, bu bölümleri sırasıyla /usr , /mnt/boot ve /mnt/var olarak eklemek için 2. ve 3. adımları tekrarlayın. . Örneğin,

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

    /mnt/usr , sdXW ve sdXY 'nin ilgili bölüm numaraları ile değiştirilmesi.

  4. Diğer gerekli şeyleri bağlayın:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. Ubuntu EFI modunda kurulduysa ( emin değilseniz bu cevaba bakın ), sdXZ kullanın veya EFI bölümünüzü bulmak için GParted. % Co_de% etiketine sahip olacak. Bu bölümü, sudo fdisk -l | grep -i efi değerini sisteminizin gerçek bölüm numarasıyla değiştirin:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. Ubuntu yüklemenize%% co_de:

    sudo chroot /mnt
    
  7. Bu noktada, kurulumunuzdasınız, canlı oturumda değil ve root olarak çalışıyorsunuz. Grubunu güncelle:

    update-grub
    

    Hata alırsanız veya 7. adıma kadar çıkmanız sorununuzu çözmezse, 8. adıma geçin. (Aksi takdirde, isteğe bağlıdır.)

  8. Durumunuza bağlı olarak, gruba yeniden yükleme yapmanız gerekebilir:

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. Ubuntu EFI modunda kuruluysa ve EFI bölümü UUID değiştiyse, EFI 'de güncellemeniz gerekebilir. Karşılaştır:

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

    Geçerli EFI bölümü UUID ( sdXY 'den) chroot ' den birinden farklıysa, /etc/fstab 'si mevcut UUID ile güncelleyin.

  10. Her şey hatasız çalıştıysa, hepiniz şöyle ayarlayın:

    exit
    sudo reboot
    
  11. Bu noktada, normal şekilde önyükleme yapabilmelisiniz.

Normal olarak önyükleme yapamıyorsanız ve adım 8 yapmadıysanız, hata mesajı olmadığından 8. adımda tekrar deneyin.

  • Bazen GRUB2'ye bölümleriniz için doğru yapılandırması verilmesi yeterli değildir ve aslında bunu (ya da yeniden yüklemeniz), Adım 8'deki Ana Önyükleme Kaydı'na yüklemelisiniz. Sohbetteki kullanıcılara yardım etme deneyimi, herhangi bir hata mesajı gösterilmediğinde bile bazen 8. adımın gerekli olduğunu göstermiştir.
verilen cevap Scott Severance 17.12.2011 13:23
92

Windows yükleyici, sistemdeki diğer işletim sistemini umursamıyor. Bu yüzden ana önyükleme kaydı üzerinde kendi kodunu yazar. Neyse ki çözüm de kolaydır.

MBR'yi onarmanız gerekiyor. Aşağıdakileri yapın

Ubuntu'nun canlı bir usb / cd'sini kullanarak önyükleme yapın. Sorunu çözmek için boot-repair kullanın.

Canlı usb / cd ile önyüklemeden sonra, terminalde aşağıdaki komutu çalıştırın:

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

Recomended Repair kullanın.

Daha fazla bilgi - İşte

    
verilen cevap Web-E 01.09.2012 08:59
34

Bu talimatları kullanarak hiçbir zaman sorun yaşamadım:
İşte

Her şeyden önce, sisteminizi canlı bir CD'den başlatmanız gerekir. Ardından

  

YÖNTEM 3 - CHROOT

     

Bu yükleme yöntemi, erişim kazanmak için chroot komutunu kullanır.   kırık sistemin dosyaları. Chroot komutu verildiğinde,   LiveCD, bozuk sistemi / kendi başına ele alır. Komutlar bir   chroot ortamı, bozuk sistem dosya sistemlerini etkileyecek ve   LiveCD'ninkiler.

     
  1. LiveCD Desktop'a önyükleme yapın (Ubuntu 9.10 veya üstü). Live CD'nin, sabitlediğiniz sistemle aynı olması gerektiğini unutmayın - ya   32 bit veya 64 bit (eğer değilse chroot başarısız olur.)

  2.   
  3. Bir terminali açın (Uygulamalar & gt; Aksesuarlar & gt; Terminal).

  4.   
  5. Normal sistem bölümünüzü belirleyin - (anahtar küçük harf "L")

    sudo fdisk -l
    
         

    Emin değilseniz, çalıştırın

    df -Th  
    
         

    Doğru disk boyutuna ve ext3 veya ext4 formatına bakın.

  6.   
  7. Normal sistem bölümünüzü takın:

         

    Doğru bölümü değiştirin: sda1, sdb5, vb.

    sudo mount /dev/sdXX /mnt  
    
         

    Örnek: sudo mount /dev/sda1 /mnt

  8.   
  9. Sadece ayrı bir önyükleme bölümünüz varsa:   sdYY / boot bölümünün adıdır (örneğin sdb3)

    sudo mount /dev/sdYY /mnt/boot
    
  10.   
  11. Kritik sanal dosya sistemlerini monte edin:

    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. Normal sistem cihazınıza chroot yapın:

    sudo chroot /mnt
    
  14.   
  15. /boot/grub/grub.cfg yoksa veya doğru değilse,

    kullanarak bir tane oluşturun.
    update-grub
    
  16.   
  17. GRUB 2’yi yeniden yükleyin:

         

    Doğru aygıtı - sda, sdb, vb. değiştirin. Bir bölüm numarası belirtmeyin.

    grub-install /dev/sdX
    
  18.   
  19. Yüklemeyi doğrulayın (doğru aygıtı kullanın, örneğin sda. Bir bölüm belirtme):

    sudo grub-install --recheck /dev/sdX
    
  20.   
  21. Çıkış chroot: Klavyede CTRL-D

  22.   
  23. Sanal dosya sistemlerini ayır:

    sudo umount /mnt/dev/pts
    sudo umount /mnt/dev
    sudo umount /mnt/proc
    sudo umount /mnt/sys
    
  24.   
  25. Ayrı / önyükleme bölümü taktıysanız:

    sudo umount /mnt/boot
    
  26.   
  27. LiveCD'nin / usr dizinini çıkarın:

    sudo umount /mnt/usr
    
  28.   
  29. Son cihazı ayır:

    sudo umount /mnt
    
  30.   
  31. yeniden başlatır.

    sudo reboot
    
  32.   
    
verilen cevap desgua 27.04.2012 04:15
19

Canlı bir Ubuntu USB pendrive veya CD'den önyükleme yapın ve
Aşağıdaki adımları uygulayarak ubuntu’ya Boot-Repair kurun

Terminali açın ve aşağıdaki komutları çalıştırın

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

Kurulumu tamamladıktan sonra, Gnome kullanıyorsanız System-> gt-> Boot-Repair menüsünden başlatabilir veya Unity kullanıyorsanız çizgi üzerinde "önyükleme-onarım" araması yapabilirsiniz. Sonra aşağıdaki ekran görüntülerini izleyin:

Yöntem 1

  • Gelişmiş seçeneklere tıklayın

  • Aşağıda gösterilen seçenekleri işaretleyin

  • Sekmeyi Grubun Konumu Sekmesi ve Kene olarak değiştirin. Şekilde gösterilen seçenekler

Uygula'ya basın ve sistemi yeniden başlat

Yöntem 2

  • İlk ekran görüntüsünde gösterildiği gibi önerilen Önyükleme onarım seçeneklerini seçin

Belgeler:

    
verilen cevap Stormvirux 30.07.2013 21:25
11

Windows 7'de easyBCD yükleyin ve

yapın

Yeni Giriş Ekle & gt; Linux / BSD & gt; (seç) Grub2> (push) Giriş Ekle

Sonra Grub2 'ye (önceki bootloader) gitmek için Windows 7 bootloader'da Ubuntu ' yu seçebilirsiniz.

    
verilen cevap hamed 11.03.2012 23:09
5

Artık daha basit bir çözüm var:

  1. Yeniden başlatın ve bilgisayarınızın BIOS seçeneklerini (F2 veya bazen F11) girin.
  2. Önyükleme menüsüne gidin ve Cihaz Önceliğini Önyükle 'yi seçin
  3. Windows Önyükleme Yöneticisi 'nin ana önyükleme sürücüsünün üzerinde olup olmadığını kontrol edin (genellikle SATA HDD… veya IDE HDD… ). Öyleyse, önyükleme diski önceliğini Windows Önyükleme Yöneticisinin üzerindeki hareket ettirin.
  4. BIOS seçeneklerinizi kaydedin ve çıkın (genellikle F10).

Bu, bir Samsung Series 7 Chronos dizüstü bilgisayar çift önyükleme Windows 8 ve Ubuntu 13.10, güvenli önyükleme devre dışı, UEFI ve eski önyükleme etkin üzerinde test edilmiştir.

    
verilen cevap scruss 15.12.2013 14:04
3

EFI tabanlı sistemlerde (Windows 8 veya daha sonra gönderilen çoğu sistem gibi), Windows bazen önyükleyicisini günceller veya varsayılan önyükleme yükleyicisi olarak sıfırlar. Bu, özellikle işletim sisteminin yeniden yüklenmesi veya büyük bir sistem güncellemesi yapılması (örn. En son Windows sürümüne yükseltme) olduğunda yaygındır. Windows'un, EFI tabanlı bir bilgisayarda GRUB dosyalarını gerçekten silme olasılığı düşük olduğunu unutmayın. Ubuntu'yu başlatmak için gereken her şey hala yerinde; Sadece baypas ediliyor. Bu durumlarda, GRUB'un tamamen yeniden yüklenmesi çok fazladır ve aslında (küçük) yeni sorunlar yaratacağı ihtimalini taşır.

Dolayısıyla GRUB'u bu durumlarda yeniden yüklemek yerine GRUB'u (veya tercih ettiğiniz önyükleme yöneticisini veya önyükleme yöneticisini) varsayılan olarak sıfırlamanızı öneririz. Bunu yapmak için çeşitli yollar vardır:

  • EasyUEFI - Önyükleme sırasını ayarlamanın en kolay yolu, sistem doğrudan Windows'a önyükleme yapıyorsa, EasyUEFI, . Bu oldukça açıklayıcıdır - önyükleme seçenekleri listesinde ubuntu girdisini bulun ve listenin en üstüne taşıyın. Bir dahaki sefere yeniden başlattığınızda GRUB gelmeli. (GRUB dışında bir şey kullanırsanız, girişini bulmanız gerekir.)
  • bcdedit - Windows bcdedit aracı, GRUB'u varsayılan önyükleme sırasına ayarlamak için kullanılabilir. Bir Yönetici Komut İstemi penceresinde yazılan bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi komutu bunu yapacak; Ancak, bilgisayarınız Güvenli Önyükleme etkinken açılıyorsa, bunun yerine bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi gerekli olacaktır. Aslında, Güvenli Önyükleme kullanılmıyor olsa bile, ikinci komut genellikle çalışacaktır, bu yüzden önce bu komutu kullanırdım. Sunduğumdan biraz farklı bir sözdizimi gerektiren daha gelişmiş bir Windows kabuk aracının olduğunu unutmayın, ancak ayrıntıları hatırlamıyorum.
  • Ubuntu'ya bir kerelik önyükleme - Çoğu EFI, sistem başlatma işleminde bir işlev tuşu, Esc veya Enter tuşuna basarak erişilen yerleşik bir önyükleme yöneticisi sağlar. Değişiklikler, önyükleme için ubuntu girdisi Ubuntu'nun Ubuntu'ya önyükleme yapabilmenizi sağlayan bu önyükleme yöneticisi menüsünde görünecektir. Alternatif olarak, "yüklemeden önce deneyin" modundaki önyükleyicileri gibi bir Ubuntu acil ortamına önyükleme yapabilirsiniz. Her iki durumda da, önyükleme sırasını ayarlamak için efibootmgr öğesini kullanabilirsiniz:
    1. Önyükleme girişlerini görmek için sudo efibootmgr yazın.
    2. Geçerli BootOrder satırına dikkat edin.
    3. ubuntu için girişi bulun ve Boot#### sayısını not edin.
    4. Önyükleme sırasını değiştirmek için sudo efibootmgr -o xxxx[,yyyy,zzzz,....] yazın, Ubuntu için xxxx değerini oluşturun. Bundan sonra gelenlerin büyük olasılıkla çok da önemli değil. Ancak, Windows'un listede yer almıyorsa, önyükleme sırasının başlangıcına geri dönme ihtimalinin yüksek olduğunu belirttim. Bu nedenle, muhtemelen Windows'un listede olduğundan emin olmalısınız ve listeyi yeniden sıralamak en güvenli olabilir, böylece tüm orijinal girdiler var, sadece ubuntu girdisi listenin en üstüne taşındı.
  • Firmware kurulum programı - Bazı EFI'ların kurulum programları, önyükleme sırasını ayarlamanıza olanak tanır. Ayrıntılar bir EFI'dan diğerine büyük ölçüde değişir, dolayısıyla ayrıntılara girmeyeceğim, ancak kurulum yardımcı programınızda böyle bir seçenek arayabilirdiniz.

kullanarak, bu yordamlarda başka varyantlar vardır. Örneğin, bir EFI kabuğunda bcfg kullanımı, bless macOS kullanarak REFInd bir kerelik bir önyükleme yapmak, vb. EasyUEFI ile başlayalım; En basit çözüm olması muhtemeldir. Bazen Windows, her başladığında kendini varsayılan yapmakta ısrar ediyor ve raporlar bcdedit 'nin bu sorunla uğraşmak için daha iyi bir iş yapabileceğini gösteriyor.

Öncekilerin hiçbirinin BIOS modu kurulumları için geçerli olmadığını unutmayın; Ancak, Windows 8 veya daha sonra EFI modunda önyükleme yapan çoğu bilgisayar gibi, BIOS modu yüklemeleri giderek daha nadir hale gelir, bu nedenle çoğu durumda GRUB'u körü körüne yeniden yüklemek yerine, sorunu EFI biçiminde ele almak daha iyidir.

    
verilen cevap Rod Smith 13.07.2017 17:03
2

Önyükleme-Onarım benim için çalıştı. Grafiksel uygulama kullanmak çok kolay, komut satırını kullanmanıza gerek yok, sadece bir tuşa tıklamanız yeterli:)

Mevcut tüm onarım seçenekleri Ubuntu belgelerinde açıklanmıştır ve bir ayrı sayfa , Boot-Repair'ı (önyüklenebilir bir disk oluşturarak veya mevcut bir Ubuntu canlı diske yükleyerek) nasıl başlattığınızı ve nasıl kullanılacağını açıklayan . / p>

Sadece bir Ubuntu canlı CD'sini önyükleyin, Önyükleme-Onar'ı kurun ve çalıştırın.

    
verilen cevap lorenzo-s 18.12.2011 02:41
1

GRUB bozulduğunda, kullanıcının genellikle sistemlere erişimi yoktur, bu nedenle onarım bir canlı oturumdan (canlı CD veya canlı USB) gerçekleştirilmelidir.

GRUB kopuşunun birçok olası nedeni vardır: MBR'de Windows yazma, GRM'nin GRUB'u doğru şekilde yüklemesini engelleyen, yükleyici, donanım değişikliği ... GRUB'un başlangıçta Scott tarafından önerilen şekilde güncellenmesi genellikle yeterli değildir, Marco'nun önerdiği gibi GRUB'un yeniden kurulması daha etkilidir, ancak yine de diğer tweaks gerektiren çeşitli durumlar vardır (çekirdeğe seçenek ekleme, GRUB menüsünü gösterme, GRUB seçeneklerini değiştirme, doğru ev sahibi mimariyi seçme ...). GRUB'u onarmak için diğer zorluklar chroot ve doğru bölüm / disk seçimidir.

Tüm bunlar küçük bir grafiksel araçta kolay bir şekilde yapılmıştır: Önyükleme-Onarımı . O Daha kolay kullanım için Ubuntu 12.04 CD'sine entegre edilecek, ancak şimdi buna ihtiyaç duyan insanlar için, onu entegre eden bazı dağıtımlar var: Ubuntu-Secure-Remix (Boot-Repair'ı entegre eden Ubuntu CD'si), Boot-Repair-Diski (CD çalışan Boot- Başlangıçta onar), ...

Bunun yardımcı olacağını umuyorum.

    
verilen cevap LovinBuntu 20.12.2011 09:58
0

Windows, Linux formatlanmış bölümlerini görmez. Bir liveCD'den gparted kullanmanız ve önyükleme bayrağıyla birlikte bir NTFS biçimlendirilmiş birincil bölüm oluşturmanız gerekir.

Windows'un, bölüm tablosunu her zaman doğru şekilde sıfırlayamadığı için, yeni bölümün genişletilmiş bölümden sonra olması durumunda sorun yaşandı. İyi yedeklemeler ve bölüm tablosunun ayrı bir yedeğinin olması en iyisidir.

Yedekleme tablosunu metin dosyasına & amp; harici cihaza kaydet.

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

Bu sadece MBR (msdos) sistemleri içindir. Ubuntu kurulumunuz GPT bölüm sürücüsünde ise, sadece UEFI modunda Windows'u kurabilir veya sürücüyü tekrar MBR'ye (msdos) dönüştürebilirsiniz.

    
verilen cevap oldfred 30.07.2013 22:01
0

Yalnızca fsck komutu benim için grub-rescue ekranını düzeltti.

Live-CD'den önyüklemek için Önyükleme Onarma 'yı kullanın, sonra Terminali açın

Doğru cihazı edinin:

sudo fdisk -l

Önyükleme aygıtını bulması gereken önyükleme aygıtı, şu ana kadar Önyükleme kategorisi altında% co_de değerine sahiptir:

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

Şimdi diski aşağıdakileri kullanarak onarabilirsiniz:

sudo fsck /dev/sda2

Not: / dev / sda2 bu örnekte önyükleme aygıtıdır.

Sorunları çözmek için Y adresini girin

Y 'ye yaklaşık 2 kez girdikten sonra, * işlemini CTRL + C girerek durdurabilirsiniz, çünkü kritik kısım zaten yapılır.

yeniden başlatır. Bitti.

    
verilen cevap Benny 25.07.2018 09:51

Etiketlerdeki diğer soruları oku