Grubrescue kullanarak taşınan .mod dosyalarını kurtarma


33

Aptalca bir şey yaptım ... Ubuntu 10.04'ün (Lucid Lynx)  bir ton * .mod dosyası (çekirdek modülleri) koyduğu GRUB 2'ye geçtiğini unuttum /boot/grub. Oraya ses dosyalarının yanlış yerleştirildiğini sanıyordum ve taşıdım. Söylemeye gerek yok, sonraki yeniden başlatma travmatik oldu. Bana bir 'grub kurtarma>' isteminde bulunmadığım bir hatırası yoktu.

GRUB Hatasını Düzeltme yardımı ile : “error: unknown fileystem” ancak bundan sonra ...

  • GRUB kurtarma işleminin 'cd', 'cp' veya 'ls' değişkeni dışında başka bir dosya sistemi komutu olmadığını keşfettim.
  • İlk önce dosya ve diğer önyükleme görüntü dosyaları /bootiçeren dizini içeren bölümü bulmak zorunda kaldım vmlinuz... (başarısız denemelerin hafızasından yaklaştırma ve açıklık için boş satırlar, 2014-07-10 dokümanları ekleyerek)

    grub rescue>  ls  
    (hd0,4) (hd0,3) (hd0,2) (hd0,1)  
    
    grub rescue>  ls (hd0,4)/boot
    ... some kind of 'not found' message
    
    grub rescue>  ls (hd0,3)/boot
    ... some kind of 'not found' message
    
    grub rescue>  ls (hd0,2)/boot
    ... grub ... initrd.img-2.6.32-33-generic ... vmlinuz-2.6.32-33-generic 
    
  • Ben buldum /bootiçeren dizini vmlinuzdosyası vmlinuz-2.6.32-33-genericbölümünde (hd0,2).

  • Sonra 'grub kurtarma>' komut isteminden elle başlattım. Aşağıdaki komutlar ...

    • Dizindeki bölümü rootkullanmak için ayarlayın ./boot(hd0,2)
    • Çekirdek modülünü yükleyin linux.
    • Çekirdek görüntüsünü kullanmak için bu modülü ayarlayın vmlinuz-2.6.32-33-generic.
    • Görüntüyü kullanmak için initrd değerini ayarlayın (RAM diskini başlatın) initrd.img-2.6.32-33-generic.
    • Linux'u başlatın.
  • grub rescue>  set root=(hd0,2)/boot  
    grub rescue>  insmod linux  
    grub rescue>  linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic root=/dev/sda2
    grub rescue>  initrd (hd0,2)/boot/initrd.img-2.6.32-33-generic  
    grub rescue>  boot  
    
  • Bu, önyükleme yapar ve bazı temel dosya sistemi komutlarına sahip olan BESKEN komut istemine çöker.

  • Sonra * .mod dosyalarını tekrar /boot/grubdizine taşıdım ...

    busybox>  cd /boot  
    busybox>  mv mod/* grub
    busybox>  reboot
    
  • Yeniden başlatma başarılı oldu, ama bu çok işti.

Daha kolay bir yolu var mı?


1
Boot-Repair bence çok daha kolay olurdu. Benim birini göz atın birden cevaplar kullanmaya ilişkin ayrıntılar için Boot-Onarım.
SirCharlo 11:12

1
"En kolay" yol her zaman en iyi yol değildir. Canlı CD kullanmanızı öneren yorumların tümüne kesinlikle katılmıyorum; CD / DVD okuyucusu olmayan sistemlerde Live CD'den önyükleme yapmak gerçekten çok zor.
Simón

/ boot dizini ile bölümü bulamıyorum. ls komutu üzerine tüm bölümler bilinmeyen bir dosya sistemi çıktısı verir.
Rafed Nole,

1
Gönderiniz, çekirdeği ve initrd'yi el ile başlatmak için çok yardımcı oldu, ancak sistemim dev, sys veya proc, etc / fstab veya sbin / init bulamadı. Bu başka götürdü mesaja çekirdek yükleme ve manuel önyükleme yönlerde ayrıntılı olarak kök ayarlama önerdi grub belgelerinde , : örneğin grub> linux (hd0,X)/boot/vmlinuz-a.b.c-d-generic root=/dev/sdaX , Xile bölümdür /boot, a.b.c-dçekirdek versiyonu. O zaman sistemim iyi başladı! Teşekkürler!
Mark Mikofski

1
[: “hatası: Bilinmeyen dosya sistemi” Tespit GRUB hatası [yinelenen]] ek olarak ( askubuntu.com/q/142300/36961 ) kapaklar bu adımlar olduğunu başka bir büyük bağlantı Nasıl Linux üzerinde bir Olmayan çizme GRUB 2 Kurtarma , grub 2 manual da çok faydalıdır
Mark Mikofski

Yanıtlar:


5

Hayır. Grub kurtarma kullanarak sisteminizin durumundan kurtarmanın en kolay yolunu bulduğunuzu düşünüyorum ; sistemi önyüklemek için yeterli yeteneği sağlayan çok minimalist bir sistemdir.

BTW, .moddosyaları bulmuş ve yapmış olmanız gerektiğine insmod linuxveya linuxkomutun başarısız olacağına inanıyorum .

Belirtildiği gibi diğer tek yol, bir Canlı CD'yi başlatmak ve grub2'yi 'bozuk' sisteme chroot yaptıktan sonra yeniden yüklemek olacaktır.


Kesinlikle haklısın! Bunu yaptığımı unuttum. İleride başvurmak üzere yukarıdaki orijinal gönderime ekledim. Bu gibi durumlarda dikkatli notlar almam konusunda daha disiplinli olmam gerekiyor. Lütfen başka düzenlemelere gerek olup olmadığını öğrenin.
DocSalvager

Aynı zamanda çekirdeği grub dokümanlarında olduğu gibi yüklerken de kök belirtmek zorunda kaldım, örneğin grub> linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic root=/dev/sda2
Mark Mikofski

Ayrıca, .mod dosyalarını bulursanız, “kurtarma grubunu ” tam özellikli GRUB'a geri yükleyebilirsiniz: # Inspect the current prefix (and other preset variables): set # Find out which devices are available: ls # Set to the correct value, which might be something like this: set prefix=(hd0,1)/grub set root=(hd0,1) insmod normal normal Kaynak: gnu.org/software/grub/manual/html_node/…
MegaBrutal

7

Aşağıda GRUB loading stage 1.5 error 15 (örneğin, farklı disk sürücüsüne Windows yüklendikten sonra) gibi önyükleme hatalarına yardımcı olacak bazı genel ve temel talimatlar verilmiştir :

  1. LiveDVD ile önyükleme yapın (örn. Ubuntu Masaüstü diski).

  2. Bir terminal açın ve aşağıdaki komutları kullanarak grub konfigürasyonunu tekrar yazın:

    • sudo mount /dev/sdXY /mnt
    • sudo grub-install --root-directory=/mnt /dev/sdX

Nerede /dev/sdXUbuntu yüklü olduğu disk, ve /dev/sdXYUbuntu yüklü olduğu diskteki bölümdür. Başka bir deyişle, /dev/sdXYiçerir /bootvb.

fdisk -lUbuntu yükleme konumunu doğrulamak için kullanın .


İşe yaramadı. Belki yol tarifleri daha spesifik olsaydı işe yarardı.
Tim Stewart,

CD sürücüsü olmayan bir makinede grub2 sorunum olduğunda, Gparted Live usb bellek çubuğu sürücüm kullanarak kurtarmayı başardım. Gparted canlı yayında başladım. Daha sonra bir terminal başlattım ve fdisk -l yazdım (bu, 1 numaralı harf değil). Bunun çıktısı, kök bölüme sahip olan bölümü tanımlamama izin verdi ve oradan yukarıdaki mükemmel talimatları izledim ve kısa süre sonra tekrar mutlu bir şekilde yeniden başlattım. .
Vic

4
  1. Canlı CD'ye önyükleme

  2. Terminali Aç (CTRL + ALT + T)

  3. Aşağıdaki komutları girin:

sudo fdisk -l

Ve Ubuntu bölümünüzü bulun (ilk bölümse / dev / sda1 olmalıdır)

sudo mount /dev/sda1 /mnt

sudo mount --bind /sys /mnt/sys

sudo mount --bind /proc /mnt/proc

sudo mount --bind /dev /mnt/dev

sudo chroot /mnt

Şimdi Grub2'yi tekrar yükleyin

sudo apt-get install --reinstall grub2

2
Bu daha iyi daha iyi bir yolu var mı sudo mount /dev/sda1 /mntve sudo grub-install --root-directory=/mnt/ /dev/sda && sudo update-grub?

4

Sistemimi yükseltirken de aynı sorunu yaşadım.

Aşağıdaki basit adımları öneririm:

  1. Sisteminizi ubuntu canlı CD veya canlı USB ile başlatın.
  2. Terminali açın ve sudo add-apt-repository ppa komutunu çalıştırın: yannubuntu / boot-repair && sudo apt-get update
  3. Sonra sudo apt-get komutunu çalıştırarak boot onarımını yükleyin. -Y boot-repair && boot-repair

  4. Taktıktan sonra önyükleme onarımını başlatın. Örneğin, menüden System->Administration->Boot-Repair (yalnızca Ubuntu 10.04) kullanın ve talimatları izleyin.

    Sorunu çözmek ve çözmek için 15-20 dakika sürebilir.

Daha fazla yardım için bağlantıya gidin https://help.ubuntu.com/community/Boot-Repair


0

Canlı CD'yi önyükleyebilir, sabit sürücünüzü bağlayabilir, nautilus'u kök olarak açabilir ve bu dosyaları / boot'a kopyalayabilirsiniz.

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.