Grub kurtarma - hata: bilinmeyen dosya sistemi


59

Bir çoklu önyükleme sistemim var. Sistem üç sürücüye sahiptir. Çoklu önyükleme, tümü ilk sürücüdeki Windows XP, Windows 7 ve Ubuntu ile yapılandırılmıştır. Sürücüde çok fazla bölümlenmemiş alan vardı ve diğer işletim sistemlerini eklemek ve gelecekte dosyaları depolamak için ayırıyordum.

Bir gün devam ettim ve Bölüm Sihirbazı'nı indirdim ve hala Windows 7'deki mantıksal bir NTFS bölümü oluşturdum. Birkaç gün sonra bilgisayarı yeniden başlatana kadar her şey yolunda gitti.

Şimdi alıyorum:

error: unknown filesystem.  
grub rescue>

Öncelikle, deneyerek herhangi bir yardım komutu bulamamaya şaşırdım:

help, ?, man, --help, -h, bash, cmd, Vs.

Şimdi önyüklenebilir olmayan bir sistemle sıkıştım. Bu konuyu araştırmaya ve insanların genellikle bir Canlı CD'ye önyükleme yapmaları ve konuyu oradan düzeltmelerini tavsiye etmeye başladım. Live CD'ye ihtiyaç duymadan bu konuyu grubun kurtarmasından düzeltmenin bir yolu var mı?

GÜNCELLEME

GRUB kurtarma yazılan Persist komutlarından adımları izleyerek, initramfs isteminde önyükleme yapabildim. Fakat bundan başka hiçbir yerde değil.

Şimdiye dek grub kurtarma kılavuzunu okumaktan, lskomutlarımı kullanarak disklerimi ve bölümlerimi görebildim . İlk sabit disk için aşağıdakileri görüyorum:
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)

Dizinleri listelediğinden beri (hd0, msdos6) üzerinde Linux bulunduğunu biliyorum ls (hd0,msdos6)/. Diğerleri "hata: bilinmeyen dosya sistemi" verecektir.

GÜNCELLEME 2

Aşağıdaki komutlardan sonra şimdi önyükleme menüsüne gidiyorum ve Windows 7 ve Ubuntu'ya önyükleme yapabiliyorum, ancak yeniden başlattıktan sonra bu adımları tekrarlamam gerekiyor.

ls
ls (hd0,msdos6)/
set root=(hd0,msdos6)
ls /
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/linux.mod
normal

GÜNCELLEME 3

Teşekkürler Shashank Singh, talimatlarınızla aşağıdaki adımlarımı basitleştirdim. Sizden msdos6'yı sadece 6 ile değiştirebileceğimi ve bunun insmod normalyerine sadece yapabileceğimi öğrendim insmod /boot/grub/linux.mod. Şimdi bu ayarları grubun içinden, herhangi bir işletim sistemine girmeden nasıl kaydedeceğimi bulmam gerekiyor.

set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal

GÜNCELLEME 4

Öyle görünüyor ki, Linux'a ön yükleme yapmak bir zorunluluktur. Ubuntu'ya önyükleme yaptıktan sonra kılavuzda açıklanan aşağıdaki adımları uyguladım :

sudo update-grub
sudo grub-install /dev/sda

Bu sorunu çözmedi. Grub kurtarma görevini hala alıyorum. Kalıcı olarak düzeltmek için ne yapmam gerekiyor?

Ayrıca hd0'daki sürücü numaralarının, bazı komutlarda / dev / sda içindeki harfleri sürmek için çevrilmesi gerektiğini de öğrendim. hd1 sdb, hd2 sdc olur, vb. Grub içinde (hd0, msdos6) listelenen bölümler / dev / sda6 diline çevrilecektir.

GÜNCELLEME 5

Aşağıdakilerin grubu neden düzeltemediğini çözemedim:

sudo update-grub
sudo grub-install /dev/sda

Bu yüzden https://help.ubuntu.com/community/Boot-Repair yazısından gelen cevaba göre boot-repair indirdim. Bu, "Önerilen Onarım (en sık karşılaşılan sorunların onarımı)" seçeneğini seçtikten sonra püf noktası oldu.


zdnet.com/… de bu konuda bazı yararlı bilgiler var.
K7AAY

benzer bir problem yaşıyor ama benimki USB canlı olarak da işe yaramaz. goo.gl/Mr61V1
Ramesh

Önyükleme sırasını değiştirmek, Windows 7 Recovery CD'sinden başlamak, terminal başlatmak, "Bootrec.exe / FixMbr" (tırnak işaretleri olmadan) yazmak ve yeniden başlatmak sorunumu düzeltti.
Consuela

Önceki güncelleme3'te benim için çalıştı, ama şimdi aynı sorun. Çalışmıyor bile grub kurtarmada listelenen klasörler ile denedim. Ubuntu ISO aygıtını kullanarak verileri yedeklemeye çalıştım, varolan ubuntu listelenmiyor. Yardım et şimdi ne yapmalıyım?
Jaccs

Bu kanonik bir soru gibi görünüyor, fakat daha da eski bir soru Bilinmeyen dosya sistemi: grub kurtarma .
Peter Mortensen

Yanıtlar:


25

Aşağıdakilerin grubu neden düzeltemediğini çözemedim:

sudo update-grub
sudo grub-install /dev/sda

Bu yüzden GRUB kurtarma görevine yazılan Persist komutlarından gelen cevaba dayanarak önyükleme onarımını indirdim . Bu, "Önerilen Onarım (en sık karşılaşılan sorunların onarımı)" seçeneğini seçtikten sonra püf noktası oldu.

Ayrıca önyükleme girişlerinin sırasını özelleştirmek için Grub Customizer'ı da kullandım .


İşe yaramadı, çünkü son komutu çalıştırdıktan sonra sudo update-grub'u tekrar çalıştırmanız gerekecek. Canlı bir oturumda, hedef dosya sistemini mnt, chroot'a dosya sistemine bağlamanız ve ardından sudo update-grub'u chroot'tan çalıştırmanız gerekir.
27'de

Bu cevaptan (önyükleme-onarım yükleme ve kullanma) ve sorudan gelen bilgileri kullanarak, GRUB menüsünde "Windows Recovery Environment (yükleyici) (açık /dev/sda1)" yanlış bir öğe seçtiğim bir Acer netbook'ta kurtarma çalışması için çalıştı. , önyükleme süresi boyunca.
Peter Mortensen

7

Bu sorunun alternatif bir nedeni var. Bu özel durumda, GRUB bir şekilde bozulmuş ve onarılması ya da yeniden kurulması gerekiyordu. Bununla birlikte, Grub kurtarmasında gösterildiği gibi "bilinmeyen dosya sistemi" hatasıyla "Önyükleme Onarımı" ile başarısız oluyorsa, GRUB'un yüklü olduğu kök bölümünün bozulmuş olması da mümkündür. Bunu düzeltmek için:

Bu olası bir çözümdür, ancak kök bölümünüzün daha da bozulabilmesi için kullanılmaması gerekir. Komutu çalıştıran fsck -t ext4 /dev/sda1bu program, bozuk bir dosya sistemindeki hataları aramaya ve onarmaya çalışır. Sda1'i gerçek kök bölümünüzle değiştirin. Ext4'ü gerçek dosya sistemiyle değiştirin; dosya sistemini bilmek zorundasınız, aksi halde bölüm daha bozuk olacaktır. Daha fazla bilgi için bkz. Bozuk bir dosya sistemini onarma .


Bu sorunun bir cevabı olsa da, benim için işe yarayan problemi çözmenin alternatif bir yolu var. Adımlar, yeni başlayanlar için Grub Rescue - Guide adlı acı dolu videoda açıklanmaktadır . Kısacası, tamir etmek yerine GRUB 2'yi tamamen yeniden kuracak.

Bu video izlemek çok acı verici olduğu için, aşağıdaki adımları listeleyeceğim (videoyu izlemenin ne kadar acı verici olduğuna bakmaksızın)

  1. Canlı bir Ubuntu oturumu başlatın. Video canlı bir CD kullanırken canlı bir USB kullandım. Canlı USB'nin sabit diskimdeki Ubuntu sürümüyle aynı olduğundan emin oldum.
  2. Kök bölümünüzün nereye monte edildiğini bulun. Videoda, kullanıcı monte edilen her bir sürücüde gezinmek için Nautilus'u kullanıyor. Uzun bir sayı ve karakter dizisi ile monte edildi. Bu durumda, bölümü yeniden monte etmek için aşağıdaki adımları izleyin. Aksi takdirde, 5. adıma geçin.
  3. İle terminalin getirin Ctrl+ Alt+ Tve kullanımı mountbölümü adını bulmak için komutu.
  4. Bölümü monte edin. Medya klasörünüzde yeni bir klasör oluşturun. sudo mkdir /media/ubuntu. Ardından bölümünüzü bu klasöre bağlayın. sudo mount /dev/sdxx /media/ubuntuburada xxbir sdxxadım 3'te belirlenir.
  5. Aşağıdaki dizinleri, canlı CD / USB'nizin kök dizininden Ubuntu sürümünüzdeki kök dizininizin dizinine bağlayın. Dizinler dev procve sys. Bunu aşağıdaki komutlarla yapın:

    sudo mount --bind /dev /media/ubuntu/dev
    sudo mount --bind /sys /media/ubuntu/sys
    sudo mount --bind /proc /media/ubuntu/proc
    
  6. Kök dizini Ubuntu bölümünüzdeki dizine değiştirin. sudo chroot /media/ubuntu/

  7. Yukarıdakileri yaptıktan sonra GRUB 2'yi tekrar yüklemek, onu Ubuntu dağıtımınızın kök dizinine yükleyecektir, canlı CD / USB'nin değil. Öyleyse devam et ve koşsudo grub-install /dev/sdx

Ve GRUB'u canlı bir CD / USB kullanarak düzeltmek için. Bu yöntem YouTube kullanıcısı crazytechzone tarafından geliştirilmiştir.


6

kullanın:

  1. set prefix=(hdX,Y)/boot/grub. Daha önce belirlenen değerleri kullanın.
    Örnek: Ubuntu sistemi sda5 kullanıyorsa, şunu girin:
    set prefix=(hd0,5)/boot/grub
  2. set root=(hdX,Y). Örnek:set root=(hd0,5)
  3. insmod normal. Normal modülü yüklemeye çalışın.
  4. normal

/boot/grubKlasörün yerini bilmek için GRUB'a ihtiyacımız var. Bu işe yaramazsa, önyükleme CD'sinden GRUB kurulumu yapmak iyi bir seçenek olabilir.


Yardımınız için teşekkürler. Sanırım benim sorunum önyükleme dizininin / dev / sda değil / dev / sdb'de olması olabilir. Ama açılış onarımı otomatik olarak düzeltti, bu yüzden daha fazla bir şey yapmak zorunda kalmadım.
user53817

3

Komik, aynı problemi bir saat önce de yaşadım!

Neyse, yaptığım şey bu.

  1. Ubuntu yükle:

    set root=(hd0,6)
    set prefix=(hd0,6)/boot/grub
    insmod normal
    normal
    

    ubuntu'nuz 6ya doğru yüklendiğinden beri?

  2. terminal işletmek:

    sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda
    

Cevabınız için teşekkürler, ancak cevabı göndermeden önce grubumu boot-repair aracını kullanarak tamir ettirdim. Şimdi bu yazıyı çözümümle güncelledim. Keşke yöntemini de deneyebilseydim.
user53817

2

Boot-Repair'i Ubuntu'da Kurun

  1. Bilgisayarınızı bir Ubuntu canlı CD'sinde veya canlı USB'de önyükleyin.

  2. "Ubuntu'yu Dene" yi seçin

  3. İnternete bağlanın

  4. Yeni bir Terminal açın ( Ctrl+ Alt+ T), sonra şunu yazın:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  5. Tuşuna basın Enter.

  6. Sonra şunu yazın:

    sudo apt-get install -y boot-repair && boot-repair
    
  7. Tuşuna basın Enter.

Önyükleme-Onarımı Kullanma

görüntü tanımını buraya girin

Tavsiye edilen onarım

  1. Boot-Repair uygulamasını aşağıdakilerden biri ile başlatın:

    a. Dash (ekranın sol üst kısmındaki Ubuntu logosu)

    b. Veya Sistem-> Yönetim-> Önyükleme-Onarım menüsü (yalnızca Ubuntu 10.04)

    c. Veya bir terminale 'boot-repair' yazarak

  2. Ardından "Önerilen onarım" düğmesini tıklayın. Onarım tamamlandığında, bir kağıt üzerinde görünen URL'yi (paste.ubuntu.com/XXXXX) not edin, ardından yeniden başlatın ve işletim sisteminize erişimi kurtarıp kurtarmadığınızı kontrol edin.

  3. Onarım başarılı olmazsa, URL’yi size e-posta veya forum yoluyla yardımcı olan kişilere belirtin.


@penreturn Çok teşekkür ederim, bu harika çalıştı. : D
Jeel Shah

0

Sorunun bir başka nedeni de, nadir durumlarda önyükleme sürücüsündeki dosya sisteminin çökmesi olabilir. Diğer yanıtlar belirtildiği gibi, ben başlangıçta kullanmak lsGRUB kurtarma isteminde tüm sürücüler / bölümleri listelemek için komutu, ancak tüm rapor bilinmeyen dosya sistemi hatası . Sonunda Ubuntu 16.04'te (Xenial Xerus) bu sorunu gidererek dosya sistemini şu şekilde düzelttim:

  1. USB çubuğundan önyükleme yapın (yüklemeden Ubuntu'yu deneyin)

  2. Önyükleme sürücüsünü bulun (sürücü kapasitesini kontrol edin veya fsckher bölümün üzerinde yapın):

    sudo fdisk -l
    
  3. Dosya sistemini kurtarın:

    sudo fsck /dev/sdb1
    
  4. Dosya sistemi sabitlendikten ve temizlendikten sonra, makineyi önyükleme sürücüsünden yeniden başlatın.

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.