Grub rescue - error: filesystem tidak dikenal

59

Saya memiliki pengaturan sistem multiboot. Sistem ini memiliki tiga drive. Multiboot dikonfigurasikan dengan Windows XP, Windows 7, dan Ubuntu - semuanya ada di drive pertama. Saya memiliki banyak ruang yang tidak dipartisi yang tersisa di drive dan memesannya untuk menambahkan OS lain dan untuk menyimpan file di sana di masa depan.

Suatu hari saya pergi ke depan dan mengunduh Partition Wizard dan membuat partisi NTFS yang logis dari dalam Windows 7, masih ada ruang yang belum dipartisi. Semuanya bekerja dengan baik, sampai saya reboot komputer beberapa hari kemudian.

Sekarang saya mendapatkan:

error: unknown filesystem.  
grub rescue>

Pertama-tama saya terkejut tidak menemukan perintah bantuan apa pun, dengan mencoba:

help, ?, man, --help, -h, bash, cmd, Dll

Sekarang saya terjebak dengan sistem non-bootable. Saya sudah mulai meneliti masalah ini dan menemukan bahwa biasanya orang merekomendasikan untuk boot ke Live CD dan memperbaiki masalah dari sana. Apakah ada cara untuk memperbaiki masalah ini dari dalam penyelamatan grub tanpa perlu Live CD?

MEMPERBARUI

Dengan mengikuti langkah-langkah dari perintah Persist yang diketik untuk penyelamatan GRUB , saya bisa boot ke initramfs prompt. Tapi tidak lebih jauh dari itu.

Sejauh ini dari membaca manual tentang grub rescue , saya dapat melihat drive dan partisi saya menggunakan lsperintah. Untuk hard drive pertama, saya melihat yang berikut ini:
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)

Saya sekarang tahu bahwa (hd0, msdos6) mengandung Linux, karena ls (hd0,msdos6)/daftar direktori. Yang lain akan memberikan "error: filesystem tidak dikenal."

PEMBARUAN 2

Setelah perintah berikut ini saya sekarang menuju ke menu boot dan dapat boot ke Windows 7 dan Ubuntu, tetapi setelah reboot saya harus mengulangi langkah-langkah ini.

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

PEMBARUAN 3

Terima kasih Shashank Singh, dengan instruksi Anda, saya telah menyederhanakan langkah saya sebagai berikut. Saya telah belajar dari Anda bahwa saya bisa mengganti msdos6 hanya dengan 6 dan saya bisa lakukan insmod normalsaja insmod /boot/grub/linux.mod. Sekarang saya hanya perlu mencari tahu bagaimana cara menyimpan pengaturan ini dari dalam grub itu sendiri, tanpa boot ke OS apa pun.

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

PEMBARUAN 4

Yah, sepertinya itu adalah persyaratan untuk boot ke Linux. Setelah boot ke Ubuntu saya telah melakukan langkah-langkah berikut yang dijelaskan dalam manual :

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

Ini tidak menyelesaikan masalah. Saya masih mendapatkan prompt penyelamatan grub. Apa yang harus saya lakukan untuk memperbaikinya secara permanen?

Saya juga telah belajar bahwa nomor drive seperti pada hd0 perlu diterjemahkan ke huruf drive seperti pada / dev / sda untuk beberapa perintah. hd1 akan menjadi sdb, hd2 akan menjadi sdc, dan seterusnya. Partisi yang terdaftar di grub sebagai (hd0, msdos6) akan diterjemahkan ke / dev / sda6.

PEMBARUAN 5

Saya tidak tahu mengapa yang berikut tidak memperbaiki grub:

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

Jadi saya mengunduh perbaikan-boot berdasarkan jawaban dari https://help.ubuntu.com/community/Boot-Repair post. Itu tampaknya melakukan trik setelah saya memilih opsi "Perbaikan Direkomendasikan (perbaikan masalah yang paling sering terjadi)".

pengguna53817
sumber
zdnet.com/... juga memiliki beberapa info bermanfaat tentang subjek ini.
K7AAY
mengalami masalah yang sama, tetapi di USB live saya juga tidak berguna go.gl/Mr61V1
Ramesh
Mengubah urutan boot, mulai dari CD Pemulihan Windows 7, memulai terminal, mengetik "Bootrec.exe / FixMbr" (tanpa tanda kutip) dan mem-boot ulang memperbaiki masalah saya.
Consuela
Di update3 sebelumnya bekerja untuk saya, tetapi sekarang masalah yang sama. Tidak berfungsi bahkan saya mencoba dengan folder yang terdaftar di grub rescue Saya telah mencoba mencadangkan data dengan menggunakan perangkat ISO ubuntu, ubuntu yang ada tidak terdaftar. Bantu saya apa yang harus saya lakukan sekarang?
Jaccs
Ini tampaknya menjadi pertanyaan kanonik, tetapi pertanyaan yang lebih tua adalah Sistem file tidak dikenal: grub rescue .
Peter Mortensen

Jawaban:

25

Saya tidak tahu mengapa yang berikut tidak memperbaiki grub:

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

Jadi saya mengunduh perbaikan-boot berdasarkan jawaban dari perintah Persist yang diketikkan ke pos penyelamatan GRUB . Itu tampaknya melakukan trik setelah saya memilih opsi "Perbaikan Direkomendasikan (perbaikan masalah yang paling sering terjadi)".

Saya juga menggunakan Grub Customizer untuk menyesuaikan urutan entri boot.

pengguna53817
sumber
Itu tidak berhasil karena, setelah menjalankan perintah terakhir, Anda harus menjalankan sudo update-grub lagi. Pada sesi live, Anda perlu me-mount sistem file target ke mnt, chroot ke sistem file dan kemudian Anda perlu menjalankan sudo update-grub dari chroot.
mchid
Menggunakan informasi dari jawaban ini (menginstal dan menggunakan boot-repair) dan dari pertanyaan, itu berhasil memulihkan di netbook Acer di mana saya telah memilih item yang salah di menu GRUB, "Lingkungan Pemulihan Windows (loader) (aktif /dev/sda1)" , selama waktu booting.
Peter Mortensen
7

Ada alternatif penyebab masalah ini. Dalam kasus khusus ini, GRUB entah bagaimana rusak dan perlu diperbaiki atau diinstal ulang. Namun, seperti yang ditunjukkan dalam penyelamatan Grub gagal dengan "Boot Repair" dengan kesalahan "sistem file tidak dikenal" , itu juga mungkin bahwa partisi root di mana GRUB diinstal dapat rusak. Untuk memperbaikinya:

Ini adalah solusi yang mungkin, tetapi tidak boleh digunakan kemungkinan jangan sampai partisi root Anda semakin rusak. Menjalankan perintah fsck -t ext4 /dev/sda1, program ini mencoba mencari dan memperbaiki kesalahan pada sistem file yang rusak. Ganti sda1 dengan partisi root Anda yang sebenarnya. Ganti ext4 dengan sistem file yang sebenarnya; Anda harus tahu sistem file atau partisi akan lebih rusak. Lihat Memperbaiki sistem file yang rusak untuk informasi lebih lanjut.


Meskipun pertanyaan ini memiliki jawaban, ada cara alternatif untuk memperbaiki masalah yang berhasil bagi saya. Langkah-langkahnya dijelaskan dalam video menyakitkan Grub Rescue - Guide for pemula . Singkatnya, itu akan menginstal ulang GRUB 2 sama sekali alih-alih memperbaikinya.

Karena video ini sangat menyakitkan untuk ditonton, saya akan mencantumkan langkah-langkah di bawah ini (sebagaimana seharusnya, terlepas dari betapa menyakitkannya menonton video)

  1. Luncurkan sesi langsung Ubuntu. Video menggunakan live CD sedangkan saya menggunakan live USB. Saya memastikan bahwa USB live memiliki versi Ubuntu yang sama dengan yang saya miliki di harddisk saya.
  2. Temukan di mana partisi root Anda dipasang. Dalam video, pengguna menggunakan Nautilus untuk menavigasi melalui setiap drive yang dipasang. Itu dipasang dengan serangkaian panjang angka dan karakter. Jika ini masalahnya, ikuti langkah-langkah berikut untuk memasang kembali partisi. Lain, lanjutkan ke langkah 5.
  3. Bawa terminal dengan Ctrl+ Alt+ Tdan gunakan mountperintah untuk menemukan nama partisi.
  4. Pasang partisi. Buat folder baru di folder media Anda. sudo mkdir /media/ubuntu. Kemudian cukup pasang partisi Anda ke folder itu. sudo mount /dev/sdxx /media/ubuntudi mana xxdari sdxxditentukan pada langkah 3.
  5. Ikat direktori berikut dari direktori root CD / USB langsung Anda ke direktori root Anda di versi Ubuntu Anda. Direktori adalah dev procdan sys. Lakukan dengan perintah berikut:

    sudo mount --bind /dev /media/ubuntu/dev
    sudo mount --bind /sys /media/ubuntu/sys
    sudo mount --bind /proc /media/ubuntu/proc
    
  6. Ubah direktori root ke direktori di partisi Ubuntu Anda. sudo chroot /media/ubuntu/

  7. Setelah melakukan hal di atas, menginstal GRUB 2 lagi akan menginstalnya ke direktori root distribusi Ubuntu Anda dan bukan pada live CD / USB. Jadi maju dan larisudo grub-install /dev/sdx

Dan itulah cara memperbaiki GRUB menggunakan live CD / USB. Metode ini dikembangkan oleh pengguna YouTube crazytechzone.

Nol
sumber
6

Menggunakan:

  1. set prefix=(hdX,Y)/boot/grub. Gunakan nilai yang ditentukan sebelumnya.
    Contoh: Jika sistem Ubuntu ada di sda5, masukkan:
    set prefix=(hd0,5)/boot/grub
  2. set root=(hdX,Y). Contoh:set root=(hd0,5)
  3. insmod normal. Mencoba memuat modul normal.
  4. normal

Kami pada dasarnya membutuhkan GRUB untuk mengetahui di mana /boot/grubfolder itu berada. Jika ini tidak berhasil, saya rasa melakukan instalasi GRUB dari CD boot adalah pilihan yang baik.

Shashank Singh
sumber
Terima kasih atas bantuan anda Saya pikir masalah saya mungkin karena direktori boot saya ada di / dev / sdb, bukan / dev / sda. Tapi perbaikan boot memperbaikinya secara otomatis, jadi saya tidak perlu melakukan apa-apa lagi.
user53817
3

Lucu, saya juga punya masalah yang sama satu jam yang lalu!

Bagaimanapun, inilah yang saya lakukan.

  1. Muat ubuntu:

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

    sejak ubuntu Anda dipasang di 6 kan?

  2. jalankan terminal:

    sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda
    
Francis
sumber
Terima kasih atas jawaban Anda, tetapi saya memperbaiki grub saya menggunakan alat perbaikan boot sebelum Anda memposting jawabannya. Saya sekarang telah memperbarui posting ini dengan solusi saya. Saya berharap saya bisa mencoba metode Anda juga.
user53817
2

Instal Boot-Repair di Ubuntu

  1. Boot komputer Anda pada live-CD Ubuntu atau live-USB.

  2. Pilih "Coba Ubuntu"

  3. Hubungkan internet

  4. Buka Terminal baru ( Ctrl+ Alt+ T), lalu ketik:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  5. Tekan Enter.

  6. Kemudian ketik:

    sudo apt-get install -y boot-repair && boot-repair
    
  7. Tekan Enter.

Menggunakan Boot-Repair

masukkan deskripsi gambar di sini

Perbaikan yang disarankan

  1. Luncurkan Boot-Repair dari:

    Sebuah. Dash (logo Ubuntu di kiri atas layar)

    b. Atau System-> Administration-> Menu Boot-Repair (hanya Ubuntu 10,04)

    c. Atau dengan mengetik 'boot-repair' di terminal

  2. Kemudian klik tombol "Perbaikan yang disarankan". Ketika perbaikan selesai, perhatikan URL (paste.ubuntu.com/XXXXX) yang muncul di atas kertas, lalu reboot dan periksa apakah Anda memulihkan akses ke OS Anda.

  3. Jika perbaikan tidak berhasil, tunjukkan URL kepada orang-orang yang membantu Anda melalui email atau forum.

penreturns
sumber
@penreturn Terima kasih banyak, ini bekerja sangat baik. : D
Jeel Shah
0

Penyebab lain masalah adalah bahwa sistem file pada drive boot mungkin macet dalam kasus yang jarang terjadi. Seperti disebutkan dalam jawaban lain, saya awalnya menggunakan lsperintah untuk mendaftar semua drive / partisi di GRUB prompt, tetapi semua melaporkan kesalahan sistem file yang tidak diketahui . Saya akhirnya memperbaiki masalah di Ubuntu 16.04 (Xenial Xerus) dengan memulihkan sistem file sebagai berikut:

  1. Boot dari stik USB (coba Ubuntu tanpa menginstal)

  2. Temukan boot drive (periksa kapasitas drive atau lakukan fsckpada setiap partisi):

    sudo fdisk -l
    
  3. Pulihkan sistem file:

    sudo fsck /dev/sdb1
    
  4. Setelah sistem file diperbaiki dan dibersihkan, reboot mesin dari boot drive.

pengguna84246
sumber