yanlışlıkla silindi / önyükleme klasörü ve yeniden başlatma


16

Yanlışlıkla / boot klasörünü dosya sistemimden sildim, yeniden başlattım ve şimdi aldığım tek şey şu:

error: file '/boot/grub/i368-pc/linux.mod' not found.

grub rescue>


farklıdır, bu durumda / boot klasörü tamamen silinmiştir. sadece bazı dosyalar değil, teşekkürler.
Imad Nouari

Diğer soruya verilen cevapların hiçbirinin bunu düzeltmek için yeterli olduğunu düşünmüyorum ..
Graeme

Yeterince adil, tüm cevapları gerçekten okumadım. Her zaman eksik olanı çözmek için uğraşmak yerine herşeyi yeniden inşa etmenizi öneririm, böylece orada birisinin de olacağı varsayıldı. Yarı zaman alır.
Cthulhu Tentacles

7
Silmeye kıyasla çok daha büyük bir hata /boot, elbette, bu düzeltilmeden önce sistemi yeniden başlatmaktır.
Anthon

Yanıtlar:


36

Hata!

İşte yapmanız gerekenler:

  1. Canlı bir dağıtım başlatın. Bu, Ubuntu kurulum diskiniz veya Knoppix gibi başka bir disk olabilir .

  2. Kök dosya sisteminizi kurduğunuz sürücüyü / bölümü bulun. Bunu yapmak için bir terminal açabilir ve sudo parted -lya sudo fdisk -l. Anlatamıyorsanız, sorunuzu düzenleyin ve çıktıyı ekleyin.

  3. Son adımda bulduğunuz kök bölümünüzün /dev/sdxy( xbaşka bir harf yolması ve bir sayı olması gerekir) olduğunu varsayarsak, bir terminalde aşağıdaki komutları çalıştırın:

    mkdir mnt
    sudo mount /dev/sdxy mnt
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo chroot mnt
    
  4. Artık burada çalışacak chrootkomutların yüklü sisteminizde çalıştırılmaya eşdeğer olduğu bir ortamda olacaksınız . Yapmak istediğiniz ilk şey, GRUB2'yi cihaza doğru dosyaları kopyalamak için cihaza yeniden yüklemektir /boot. Bunu yapmak için, kök bölümünüzün açık olduğu sürücü ile aşağıdakileri çalıştırın (yani /dev/sdxysayı ( y) kaldırılmış olarak):

    grub-install /dev/sdx
    
  5. Artık önyükleme dizininde dosyaları olan hangi paketleri yüklediğinizi öğrenmek ve yeniden yüklemek istiyorsunuz. Bu, diğer şeylerin yanı sıra silinen çekirdek görüntülerinin yerini alacaktır. Paketleri bulma komutu şöyledir:

    dpkg -S /boot
    

    Ve onları yeniden yüklemek için:

    apt-get --reinstall install ...
    

    Burada ...ilk komuttaki paket adlarının yerini alır. Virgül eklemeyin, ayırmak için boşluk içeren paket adlarına sahip olun.

    Bu adım muhtemelen internet erişimi gerektirecektir (paketler zaten önbellekte yoksa), bu nedenle bir sorun varsa bağlı olduğunuzdan emin olun.

  6. Çekirdeklerinizi sildiğiniz ve yeniden yükleyeceğiniz için, bu işlem otomatik olarak bir GRUB2 güncellemesini tetiklemiş olmalıdır. Ama olmadılarsa koşabilirsiniz:

    update-grub
    
  7. Yeniden başlatma ve işler artık düzeltilmelidir. Ben son kez benzer bir şey yaptım bir sorun, Windows bir hata nedeniyle update-grubçalıştırıldığında tarafından bulunamadı nereye yükler chrootoldu os-prober. Bu bir sorunsa, sudo update-grubtamir edilen sistemde tekrar çalıştırın .


@Olivier, teşekkürler aslında /dev/sdaxher yerde vardı sonra değiştirdim /dev/sdxy.
Graeme

Harika bilgi için teşekkürler - bir ek ile beni kurtardı. Bir yazılım RAID'im olduğundan , buradaki talimatları da takip etmek zorunda kaldım: help.ubuntu.com/community/Grub2/Mdadm'ı başlatmak ve RAID üyelerini birleştirmek ve montajları uygun şekilde yapmak için chroot yöntemini kullanarak yeniden yükleme altında kurulum. Sonra, chroot sonra, paketleri bu cevapta açıklandığı gibi yeniden yükleyin ve her şey yolunda!
bitfiddler
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.