Grub'u nasıl tamir edebilirim? (Windows'u yükledikten sonra Ubuntu'yu nasıl geri alabilirim?)

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

Ubuntu'yu nasıl geri alabilirim?

Windows'u yüklediğinizde, Windows bunun makinedeki tek işletim sistemi (OS) olduğunu veya en azından Linux'u hesaba katmadığını varsayar. Böylece Grub'u kendi önyükleyicisiyle değiştirir. Yapmanız gereken, Windows önyükleme yükleyicisini GRUB ile değiştirmek. GRUB komutlarıyla veya benzerleriyle uğraşarak Grub'u değiştirmek için çeşitli talimatlar gördüm, ancak benim için en kolay yol basitçe chroot kurulumunuza ve çalıştırmanıza update-grub. chroot bu harika çünkü burada ve oradaki şeyleri yeniden yönlendirmeye çalışmak yerine gerçek kurulumunuz üzerinde çalışmanıza izin veriyor. Gerçekten temiz.

İşte nasıl:

  1. "Ubuntu'yu Dene" modunda canlı CD'den veya canlı USB'den önyükleme yapın.
  2. Ana bölümünüzün bölüm numarasını belirleyin. sudo fdisk -l, sudo blkid veya GParted (varsayılan olarak canlı oturumda zaten yüklü olması gereken) burada size yardımcı olabilir. Bu cevapta bunun böyle olduğunu varsayacağım. /dev/sda2, ama 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 yerine yer alacak /dev/mapper/, büyük olasılıkla, /dev/mapper/{volume}--{os}-root nerede {volume} LVM birim adıdır ve {os} işletim sistemidir. İcra etmek ls /dev/mapper tam adı için.

  3. Bölümünüzü bağlama:

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

    Eğer ayrı bir tane varsa /boot, /var veya /usr bölümler, bu bölümleri bağlamak için 2. ve 3. adımları yineleyin /mnt/boot, /mnt/var ve /mnt/usr sırasıyla. Örneğin,

    sudo mount /dev/sdXW /mnt/bootsudo mount /dev/sdXY /mnt/varsudo mount /dev/sdXZ /mnt/usr

    değişmiş sdXW, sdXY, ve sdXZ ilgili bölüm numaraları ile.

  4. Bağlama diğer bazı gerekli şeyleri monte edin:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
  5. Ubuntu EFI modunda yüklüyse (emin değilseniz bu cevaba bakın), kullanma sudo fdisk -l | grep -i efi veya EFI bölümünüzü bulmak için GParted. Bir etiketi olacak EFI. Bu bölümü yerine takın sdXY sisteminiz için gerçek bölüm numarası ile:

    sudo mount /dev/sdXY /mnt/boot/efi
  6. chroot ubuntu kurulumunuza:

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

    update-grub

    Hata alıyorsanız veya 7. adıma geçmek sorununuzu çözmediyse 8. adıma geçin. (Aksi takdirde, isteğe bağlıdır.)

  8. Durumunuza bağlı olarak grub'u yeniden yüklemeniz gerekebilir:

    grub-install /dev/sdaupdate-grub # In order to find and add windows to grub menu.
  9. Ubuntu EFI modunda yüklüyse ve EFI bölüm UUID'Sİ değiştiyse, güncellemeniz gerekebilir /etc/fstab. Karşılaştır:

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

    Geçerli EFI bölümü UUID ise (kimden blkid) içinde bulunandan farklıdır. /etc/fstab, güncelleştirme /etc/fstab geçerli UUID ile.

  10. Her şey hatasız çalıştıysa, o zaman hepiniz hazırsınız demektir:

    exitsudo reboot
  11. Bu noktada, normal önyükleme yapabilmeniz gerekir.

Normal önyükleme yapamıyorsanız ve hata iletisi olmadığından 8. adımı yapmadıysanız, 8. adımla yeniden deneyin.

  • Bazen grub2'ye doğru olanı vermek yapılandırma bölümleriniz için yeterli değildir ve aslında 8. adımın yaptığı Ana Önyükleme Kaydına yüklemeniz (veya yeniden yüklemeniz) gerekir. Sohbet sırasında kullanıcılara yardım etme deneyimi, hata mesajı gösterilmese bile 8. adımın bazen gerekli olduğunu göstermiştir.

Windows ınstaller, sistemdeki diğer işletim sistemlerini umursamıyor. Böylece ana önyükleme kaydının üzerine 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. Kullanmak boot-repair sorunu çözmek için.

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

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

Kullanmak Recomended Repair.

enter image description here

Daha fazla bilgi - https://help.ubuntu.com/community/Boot-Repair

Canlı bir Ubuntu USB pendrive veya cdand'dan önyükleme yapın
Aşağıdaki adımları izleyerek ubuntu'ya Boot-Repair'i yükleyin

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

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

>>Kurulumu tamamladıktan sonra Gnome'u kullanıyorsanız Sistem-Yönetim-Önyükleme-Onarma menüsünden başlatabilir veya Unity kullanıyorsanız gösterge tablosunda "önyükleme-onarma" yı arayabilirsiniz. Ardından aşağıdaki ekran görüntülerini izleyin:

Yöntem 1

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

Initial screen

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

advanced option

  • Sekmeyi Grub Konum Sekmesine değiştirin ve şekilde Gösterilen seçenekleri işaretleyin

enter image description here

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

Yöntem 2

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

Dokümantasyon :

Sadece yükleyin easyBCD Windows 7'de ve yapın

>>>Yeni Girdi Ekle Linux / BSD (seç) Grub2 (bas) Girdi Ekle

Sonra seçebilirsiniz Ubuntu Windows 7 önyükleyicisine gitmek için Grub2 (önceki önyükleyici).

EFI tabanlı sistemlerde (Windows 8 veya sonraki sürümleriyle birlikte gelen çoğu sistem gibi), Windows bazen önyükleyicisini güncelleştirir veya varsayılan önyükleyici olarak sıfırlar. Bu, özellikle işletim sistemini yeniden yüklerken veya büyük bir sistem güncellemesi gerçekleştirirken (örneğin en son Windows sürümüne yükseltme yaparken) yaygındır. Windows'un EFI tabanlı bir bilgisayardaki GRUB dosyalarını gerçekten silme olasılığının düşük olduğunu unutmayın. Ubuntu'yu önyüklemek için gereken her şey hala yerinde; sadece atlanıyor. Bu gibi durumlarda, Grub'un tamamen yeniden yüklenmesi aşırı derecede fazladır ve aslında bu, yeni sorunlar yaratması için (küçük) bir şans taşır.

Bu nedenle, bu durumlarda Grub'u yeniden yüklemek yerine, Grub'u (veya tercih ettiğiniz önyükleme yükleyicisini veya önyükleme yöneticisini) varsayılan olarak sıfırlamanızı öneririm. Bunu yapmanın birkaç yolu vardır::

  • EasyUEFI -- Sistem doğrudan Windows'a önyükleme yapıyorsa, önyükleme sırasını ayarlamanın en kolay yolu kullanmaktır EasyUEFI, EFI önyükleme sırasını yönetmek için ücretsiz (temel sürüm için) bir üçüncü taraf GUI aracıdır. Oldukça açıklayıcı -- ubuntu önyükleme seçenekleri listesine girin ve listenin en üstüne taşıyın. Bir dahaki sefere yeniden başlattığınızda, GRUB gelmelidir. (GRUB dışında bir şey kullanırsanız, girişini bulmanız gerekir.)
  • bcdedit -- Windows bcdedit araç Grub'u varsayılan önyükleme sırasına ayarlamak için kullanılabilir. Komut bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, yazılan bir Yönetici Komut İstemi penceresi bunu yapar; ancak, bilgisayarınız Güvenli Önyükleme etkinken önyükleme yaparsa, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi bunun yerine gerekli olacaktır. Aslında, ikinci komut genellikle güvenli Önyükleme kullanılmasa bile çalışı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ı olduğunu unutmayın, ancak ayrıntıları hatırlamıyorum.
  • Ubuntu'ya bir kerelik önyükleme -- Çoğu EFI, sistem başlatma işleminin başında bir işlev tuşuna, Esc'ye veya Enter tuşuna basılarak erişilen yerleşik bir önyükleme yöneticisi sağlar. Şansı vardır ubuntu ubuntu'ya önyükleme girişi bu önyükleme yöneticisi menüsünde görünerek Ubuntu'ya önyükleme yapmanızı sağlar. Alternatif olarak, "yüklemeden önce dene" modunda önyüklenen yükleyici gibi bir Ubuntu acil durum ortamına önyükleme yapabilirsiniz. Her iki durumda da, daha sonra kullanabilirsiniz efibootmgr önyükleme sırasını ayarlamak için:
    1. Tip sudo efibootmgr önyükleme girdilerini görmek için.
    2. Akımı not edin BootOrder sıra.
    3. İçin girdiyi bulun ubuntu ve not edin Boot#### numara.
    4. Tip sudo efibootmgr -o xxxx[,yyyy,zzzz,....] önyükleme sırasını değiştirmek için xxxx Ubuntu'nun numarası. Bundan sonra gelen şey büyük olasılıkla çok önemli değil, ancak listede yoksa Windows'un kendisini önyükleme sırasının başlangıcına geri ekleyeceğini belirttim. Bu nedenle, muhtemelen Windows'un listede olduğundan emin olmalısınız ve listeyi yeniden sipariş etmek en güvenli olabilir, böylece tüm orijinal girişler orada olur, sadece ubuntu giriş listenin en üstüne taşındı.
  • Ürün yazılımı kurulum yardımcı programı -- Bazı EFI'LERİN kurulum yardımcı programları önyükleme sırasını ayarlamanıza olanak tanır. Ayrıntılar bir efı'den diğerine büyük ölçüde değişir, bu yüzden ayrıntılara girmeyeceğim, ancak kurulum yardımcı programınızda böyle bir seçenek arayabilirsiniz.

Bu prosedürlerde aşağıdakiler gibi başka varyantlar da vardır bcfg bir EFI kabuğunda bless macos'ta my rEFInd bir kerelik önyükleme yapmak vb. Yine de EasyUEFİ ile başlardım; en basit çözüm olması muhtemeldir. Bazen Windows, her başlatıldığında kendisini varsayılan yapmakta ısrar eder ve raporlar bunu gösterir bcdedit bu sorunla başa çıkmak için daha iyi bir iş yapabilir.

Yukarıdakilerin hiçbirinin BIOS modu yüklemeleri için geçerli olmadığını unutmayın; Ancak, Windows 8 veya sonraki sürümleriyle birlikte gelen bilgisayarların çoğu EFI modunda önyüklendiğinden, BIOS modu yüklemeleri giderek daha nadir hale gelmektedir, bu nedenle çoğu durumda sorunu körü körüne yeniden yüklemek yerine EFI yöntemiyle ele almak daha iyidir.-GRUB yükleniyor.

Şimdi daha basit bir çözüm var:

  1. Yeniden başlatın ve bilgisayarınızın BIOS seçeneklerini girin (F2 veya bazen F11).
  2. Git Bot menü öğesini seçin ve Önyükleme Aygıtı Önceliği
  3. Olup olmadığını kontrol et Windows Önyükleme Yöneticisi ana önyükleme sürücüsünün üstündedir (genellikle SATA SABİT DİSK … veya IDE HDD …). Eğer öyleyse, önyükleme diski önceliğini Windows Önyükleme Yöneticisi'ninkinin üzerine getirin.
  4. BIOS seçeneklerinizi kaydedin ve çıkın (genellikle F10).

Bu, Windows 8 ve Ubuntu 13.10 çift önyüklemeli, güvenli önyükleme devre dışı bırakılmış, UEFI ve eski önyükleme etkinleştirilmiş bir Samsung Series 7 Chronos dizüstü bilgisayarda test edilmiştir.

Önyükleme Onarımı benim için işe yaradı. Grafik uygulamasını kullanmak çok kolay, komut satırını kullanmanıza gerek yok, sadece bir düğmeye tıklamanız gerekiyor :)

Mevcut tüm onarım seçenekleri aşağıda açıklanmıştır Ubuntu belgeleri ve bir tane var ayrı sayfa önyükleme Onarımının nasıl başlatılacağını (önyüklenebilir bir disk oluşturarak veya mevcut bir Ubuntu canlı diske yükleyerek) ve nasıl kullanılacağını açıklamak.

Sadece bir Ubuntu live CD'si önyükleyin, Önyükleme Onarımını yükleyin ve çalıştırın.

GRUB bozulduğunda, kullanıcının genellikle sistemlere erişimi yoktur, bu nedenle onarımın canlı oturumdan (live-CD veya live-USB) yapılması gerekir.

GRUB kopmasının birçok olası nedeni vardır: Mbr'de Windows yazma, drm'nin Grub'un doğru yüklenmesini önleme, yükleyici hatası, donanım değişikliği...Başlangıçta Scott tarafından önerildiği gibi Grub'u güncellemek genellikle yeterli değildir, Marco'nun önerdiği gibi Grub'u yeniden yüklemek daha verimlidir, ancak yine de başka tweaks gerektiren çeşitli durumlar vardır (çekirdeğe seçenekler ekleme, GRUB menüsünü gösterme, GRUB seçeneklerini değiştirme, doğru ana bilgisayar mimarisini seçme...).Grub'u onarmak için diğer zorluklar chroot kullanımı ve doğru bölümlerin / disklerin seçimidir.

Bütün bunlar küçük bir grafik aracında kolaylaştırıldı: Önyükleme Onarımı. Daha kolay kullanım için Ubuntu 12.04 cd'sine entegre edilmelidir, ancak şimdi ihtiyaç duyan insanlar için, onu entegre eden bazı dağıtımlar zaten vardır: Ubuntu-Secure-Remix (Ubuntu CD ıntegrating Boot-Repair), Boot-Repair-Disk (başlangıçta Boot-Repair çalıştıran CD), ...

Umarım bu yardımcı olur.

Scott ve Web-E tarafından verilen cevaplar yeterince iyi ve birçok kez çok yardımcı oldu. Ancak çoğu zaman, önyükleme onarım aracı, i386 ve amd64 platformuyla ilgili sorunlar veya grub'un bulamadığı sorunlar nedeniyle grub'u onaramaz efi dizin.
Sorunumu 10 defadan fazla çözen şey, eski grub kurulumlarını manuel olarak temizlemek ve yeni bir tane kurmaktır.

Bu yüzden önce Scott'ın ilk 6 adımını gerçekleştirin cevap bir hata verirse 5. adımı atlayabileceğiniz yer:

  1. "Ubuntu'yu Dene" modunda canlı CD'den veya canlı USB'den önyükleme yapın.
  2. Ana bölümünüzün bölüm numarasını belirleyin. sudo fdisk -l, sudo blkid veya GParted (varsayılan olarak canlı oturumda zaten yüklü olması gereken) burada size yardımcı olabilir. Bu cevapta bunun böyle olduğunu varsayacağım. /dev/sda2, ama 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 yerine yer alacak /dev/mapper/, büyük olasılıkla, /dev/mapper/{volume}--{os}-root nerede {volume} LVM birim adıdır ve {os} işletim sistemidir. İcra etmek ls /dev/mapper tam adı için.

  3. Bölümünüzü bağlama:

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

    Eğer ayrı bir tane varsa /boot, /var veya /usr bölümler, bu bölümleri bağlamak için 2. ve 3. adımları yineleyin /mnt/boot, /mnt/var ve /mnt/usr sırasıyla. Örneğin,

    sudo mount /dev/sdXW /mnt/bootsudo mount /dev/sdXY /mnt/varsudo mount /dev/sdXZ /mnt/usr

    değişmiş sdXW, sdXY, ve sdXZ ilgili bölüm numaraları ile.

  4. Bağlama diğer bazı gerekli şeyleri monte edin:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
  5. Ubuntu EFI modunda yüklüyse ([emin değilseniz bu cevaba bakın] [efı]), sudo fdisk -l | grep -i efi veya EFI bölümünüzü bulmak için GParted. Bir etiketi olacak EFI. Bu bölümü yerine takın sdXY sisteminiz için gerçek bölüm numarası ile:

    sudo mount /dev/sdXY /mnt/boot/efi
  6. chroot ubuntu kurulumunuza:

    sudo chroot /mnt

Ardından şu adımları uygulayın:

  1. Bekleyen tüm paketleri yapılandırın.
    sudo dpkg --configure -a
  2. Bozuk paketleri düzeltin.
    sudo apt install -fy
  3. Geçerli grubu kaldırın.
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    Bu, cihazınızın önyükleyicisinin olmayacağı ve bir dahaki sefere önyükleme yapamayacağı konusunda size bir uyarı verebilir. Devam et ve kabul et.
  4. sudo apt install -y grub-pc
    Bu komutu çalıştırdıktan sonra sizden akımı göstermenizi isteyecektir sdXY önyükleyiciyi yüklemek için. Geçerli işletim sisteminizin yüklü olduğu yeri bulma sudo fdisk -l emretmek. Olarak etiketlenecektir Linux. Kullanarak o pencerede gezinin Tab tuşuna basın ve kullanarak bir seçenek belirleyin Space anahtar.
  5. Her şey yolunda giderse, grub doğru şekilde kurulacaktır. Ayrıca şunları da yapabilirsiniz sudo grub-update iki kez kontrol için.

Sorun devam ederse, okuyabilirsiniz Arch'ın wiki'si diğer birçok problemle başa çıkmak için grub hakkında gerçekten bilgi sahibi olmak. (Evet, Ubuntu için de yardımcı olur!).

Scott Severance'ın cevabı geçerli ve ayrıntılı, ancak aşağıdakileri gerektiren bir çözüm var harici önyükleme aygıtı yok bu nedenle, Ubuntu bölümlerinizin tümünü tanımlamanıza ve manuel olarak monte etmenize gerek yoktur. chroot.

Windows 10'da şunları kullanabilirsiniz Advanced Recovery bir aygıt seçmek için (bölüm?) önyükleme yapmak için.

Gitmek Settings ve seç Update & Security:

enter image description here

Gitmek Recovery:

enter image description here

-den Advanced Startup Seç Restart Now

enter image description here

Sonra seç Use a Device ve tüm önyükleme seçenekleri size sunulmalıdır. 'Ubuntu' bölümünü seçin ve bilgisayarınız daha sonra bu bölümden önyükleme yapmalıdır.

Her zamanki Ubuntu ortamıma önyüklendikten sonra, sadece çalıştırmayı denedim grub-update ama bu bir değişiklik yapmadı.

Sonra buldum /boot/efi olan bölüm /dev/nvme0n1p1 ve kaçtı sudo grub-install /dev/nvme0n1p1 ve sonra sudo update-grub.

Bu, yeni bir Windows 10 politikası olduğu için ana önyükleme kaydımı birkaç kez geri yükledi. küçük güncellemelerde önyükleme bilgilerinin üzerine yazma.

İlgili (GRUB * yanlış sürücünün mbr’sine * yüklendiğinde): [Ubuntu’yu yükledikten sonra Grub kurtarma sorunu] (boot - Grub rescue after installing Ubuntu on a external HDD from USB - Ask Ubuntu )

NOT: Kabul edilen cevap, grub’un nasıl onarılacağına ilişkin genel bir talimattır. GRUB yükleyici tarafından yanlış yazıldığında (ubiquity) çok çeşitli durumlar için de geçerlidir.

Bunun eski bir iş parçacığı olduğunu biliyorum, ancak bıos’taki önyükleme modunu Uefı’den Legacy’ye değiştirerek sorunu çözdüm.

Bunun ortak bir görev olduğunu düşünüyorum, ayrıca iki HDD’M ve Ubuntu + Pencerelerim var. Umarım doğru şekilde tamir edebilirsin. [Bunu] takip etmeye çalışın (RecoveringUbuntuAfterInstallingWindows - Community Help Wiki ) öğretici. Herhangi bir sorunuz olursa, bana sorun!

Evet yapabilirsiniz, sadece normal bir önyükleme yapmanız ve windows ile yüklemeniz gerekir ve daha sonra bilgisayarın başlangıcında Grub önyükleme menüsünde görünmelidir.