Güncelleme grubunu bir LiveCD'den nasıl çalıştırabilirim?


62

Tamam, aptalca bir şey yaptım. Grub girişlerimi temizlemeye çalışıyordum ve yanlışlıkla tüm Linux çekirdeğimi Grub’tan kaldırdım (hala sabit diskindeler). Şimdi, açıkçası, Grub bana Ubuntu'yu başlatmam için hiçbir yol vermiyor; Sadece Windows'a önyükleme yapabilirim, ancak Ubuntu listelenmemiş bile.

Bu yüzden Ubuntu'yu listeye geri yüklemek için sadece "sudo upgrade-grub" komutunu çalıştırmak istiyorum. LiveCD'den önyükleme yapabilirim, ancak bir kez o komutu nasıl çalıştırırım? (Bu arada, Ubuntu kurulumum sda5'te.)


Bu mükemmel çalışıyor ... sadece 2 gün önce yaptım- opensource-sidh.blogspot.in/2011/06/…
Nirmik

Bu konuya işaret etmek istiyorum - 12.10 komutunda güncelleme-grub grub <2.0 ile çalışmıyor mu?! - Ben kendim geçen hafta sonu grubumu kurduğum 12.10 (arm OS 7.0.1) kurulumumu başlattım ve ardından güncelleme grub çalışmadı - supergrub-CD ile kurtarma yapmak zorunda kaldım ...
dschinn1001

Yanıtlar:


81

Grub önyükleyicinizin göründüğünü ancak menü boş olduğunu söylediğinden, grub'u yeniden yüklemeniz gerekmediğini düşünüyorum, ancak sorduğunuz gibi, güncelleme grubunu çalıştırın. Bunu başarmak için bir Live CD kullanabilir, ilgili bölümleri sabit diskinizden bağlayabilir, takılan dizine chroot yapabilir ve gerçek sabit diskte çalışıyormuşsunuz gibi çalışacak olan güncelleme grubunu çalıştırabilirsiniz.

Live CD'nizle önyükleme yaparak "Ubuntu'yu yüklemeden deneyin" i seçin.

Bir kez önyükleme yaptıktan sonra bir terminal açın (ctrl-alt-t) ve Ubuntu bölümünüzü / mnt'ye takın. Ubuntu bölümünün / dev / sda5 olduğunu kabul ediyorum, ancak bunu kendiniz belirlemelisiniz. Bunu yapmak için yardıma ihtiyacınız olursa bana bildirin:

sudo mount /dev/sda5 /mnt

Sonra gerekli olan birkaç dizini daha ekleyin:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc

Ayrıca, ayrı bir Ubuntu önyükleme bölümünüz varsa (bugünlerde oldukça nadir görülür, ancak durum böyle olabilir):

sudo mount /dev/sdaX /mnt/boot

Önyükleme bölümünüz olup olmadığını nasıl anlayabilirsiniz?

Ubuntu bölümünüzü taktıktan sonra açın /mnt/etc/fstab. İçin bir giriş görürseniz /boot, hangi cihaza işaret ettiğini not alın ( /dev/sda4belki?). Monte etmen gereken bu.

Bunlar monte edildikten sonra, bağlı dizini kök bölüm olarak kullanmaya başlamak için chroot yapın:

sudo chroot /mnt

Bir bilgi alırsınız #/. Yapılacak ilk şey, doğru /bootdizini kullandığınızı onaylamaktır . Git /boot/grubve oradaki dosyalara bak. Bir sürü .mod dosya ve bir grub.cfg dosyası olmalıdır. Eğer dizin boşsa devam etmeyin, çünkü bu sizin asıl bootdizinin DEĞİL anlamına gelir . Ek bir bootdizin eklemeniz gerekip gerekmediğine karar vermek için yukarıya bakın .

Eğer olmadığını doğruladıktan sonra /boot/o, yani doğru dosyaları içeren bir doğru konum yazın:

sudo update-grub

Bu, /boot/grub/grub.cfg dosyanızı menü girişleriyle yeniden oluşturmalıdır.

Sonra chroot'tan çıkın:

exit

Bu noktada, işlerin doğru bir şekilde güncellendiğini kontrol etmek isteyebilirsiniz. Bunun için cd /mnt/boot/grubgrubun dosyalarının orada olduğunu kontrol edin, bir sürü .mod dosyası olmalı ve grub.cfg olmalı, ikincisi Ubuntu çekirdekleriniz için girdilere sahip olmalıdır. Yalnızca grub.cfg dosyasını ve .mod dosyalarını görmüyorsanız, bunun doğru önyükleme dizini olmadığı anlamına gelir, ayrı bir önyükleme bölümünün nasıl monte edileceğine bakın.

Dosya sistemlerini çıkarın:

sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot #Only if you mounted it earlier
sudo umount /mnt/

Ve sonra yeniden başlat, umarım Grub menünüz geri yüklenir.


Üç mount komutunu çalıştırmaya çalıştığımda, "mount point / mnt / dev yok" ya da her biri için karşılık gelen komutu alıyorum.
Kelley

Ubuntu'nuz / dev / sda5 kurulumunda mı? Öyleyse, Ubuntu kurulumunuzun ağacını görebilmeniz ve sudo mount /dev/sda5 /mntorada cd /mntgörebilmeniz gerekir. Dev, sys ve proc olmalıydı. Olmazsa, belki yanlış bölümü yerleştiriyorsunuzdur. Bunu kontrol edebilir misin? Teşekkürler!
roadmr

LiveCD'yi yeniden başlattım ve bu sefer çalışıyor gibi görünüyor. Dikkatli olmama rağmen ilk defa yanlış bir şeyler yazmış olmalıyım. Neyse, şimdi yeniden başlatıyorum ... ve hayır, hiçbir şey değişmedi. Grub menüsünde hala Ubuntu seçeneği yok.
Kelley

Bu nedenle sorunuzu yanıtlamak için "sudo mount / dev / sda5 / mnt" ve ardından "cd / mnt" komutunu çalıştırdıktan sonra dev, sys ve proc öğelerini görüyorum.
Kelley

1
Siz efendim, hayat kurtarıcısınız :) Bunun için teşekkürler. Bir cazibe gibi çalıştı.
Kasım'da

14

Canlı bir CD'den önyükleyin.

Hit Alt+ Ctrl+ Tterminali açık ve aşağıdaki komutları çalıştırmak için:

sudo mount / dev / sda5 / mnt

GRUB2 bagaj yükleyicisini takın:

sudo grub-install --root dizini = / mnt / dev / sda

Bu /dev/sda- sabit diskin kendisi, Ubuntu bölümü değil - /dev/sda5.

Ubuntu bölümünü çıkarın ve bilgisayarı şu şekilde yeniden başlatın:

sudo umount / dev / sda5; sudo yeniden başlatma

Birden fazla işletim sisteminiz kurulu ise, işletim sistemlerini şu şekilde yeniden saptayın:

sudo güncelleme grubu

Bu kadar!


1
silinmesi için mayını işaret etti - iki kez aynı şeyin anlamı yok
23 93 26 35 19 57 3 89

Teşekkürler, ama bu işe yaramıyor. Grub'u yeniden yükler, ancak yeniden başlattığımda hala güncellenmedi, bu yüzden Ubuntu kurulumum hala Grub'ta görünmüyor. Her nasılsa, LiveCD'deki gibi yeniden başlatmadan önce Grub'u güncellemem gerekiyor.
Kelley

@Kelley Ubuntu kurulumunun sda5'te olduğundan emin misiniz? Çalıştırarak kontrol edebilirsiniz sudo fdisk -l. Ubuntu kurulumunda */ dev / sdxx komutları olacaktır.
Basharat Sialvi

Evet, sda5'te. Ancak, * Windows bölümüm olan sda2'den sonra (ve grubumdaki tek seçenek bu olduğundan önyükleyebildiğim son bölüm).
Kelley

Chroot. Lütfen diğer cevapları okuyunuz.
ish

1

Bu soruna benim çözümüm:

  1. http://www.supergrubdisk.org/category/download/supergrub2diskdownload/super-grub2-disk-stable/ adresinden supergrub2disk'i indirin.
  2. pendrive'ın üstüne koydu http://www.supergrubdisk.org/put-super-grub2-disk-into-an-usb-pendrive-as-an-iso-image-from-windows/
  3. önyükleme bilgisayarı pendrive'dan supergrub2disk ile
  4. Ubuntu'nuza giriş yapın
  5. https://help.ubuntu.com/community/Boot-Repair adresinden Ubuntu için Boot-Repair programını edinin

Belki de en hızlı çözüm değil ama benim için en kolay olanıydı.


1

Bu çözüm çok kolay dışında roadmr'ın cevabı ile aynı.

  1. AntiX Live CD'ye önyükleyin.
  2. Menü> Uygulamalar> Sistem Araçları> Önyükleme Onarımı
  3. 'GRUB Konfigürasyon dosyasını onar' seçimini yapın (bu seçenek güncelleme grubunu çalıştırır)
  4. / Boot'ın bulunduğu sürücüyü / bölümü seçin
  5. Tamamlandığında yeniden başlat.

Özel durumumda, 'GRUB Önyükleyicisini Yeniden Yükle' benim için düzeltti. Çift önyükleme pencerem / linux kurulumum var. Macrium 7'yi bir sürücüye bir dosya klonu oluşturmak için kullandım. Ardından bu dosyayı yeni bir sürücüye geri yükleyin. Onu yeni sürücüye geri yükledikten sonra, sol üstte yanıp sönen bir imleçle siyah bir ekrana açılacaktır .



-1

Tüm yardımlarınız için teşekkürler! Ancak, sonunda hiçbir şey işe yaramadı ve ayrı / ev bölümlerim olduğundan, herhangi bir veri kaybetmeden Ubuntu'yu yeniden yükleyebildim. Programları yeniden kurmam ve bazı yapılandırmalar yapmam gerekiyor ancak bu noktada her şey yolunda görünüyor.


1
Bir şekilde çözdüğünü bilmek güzel, ama chrooting işe yaramalıydı ve bence en iyi çözümü düşünüyorum.
Mahesh

Evet. Neden işe yaramadığını bilmiyorum, ama cevap harikaydı (ve onu yenmiştim). Sizler çok fazla yardım sağladınız ve belki de cevaplar başkasının bu sorunu çözmesine yardımcı olacak.
Kelley
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.