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 ls
perintah. 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 normal
saja 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)".
Jawaban:
Saya tidak tahu mengapa yang berikut tidak memperbaiki grub:
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.
sumber
/dev/sda1
)" , selama waktu booting.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)
mount
perintah untuk menemukan nama partisi.sudo mkdir /media/ubuntu
. Kemudian cukup pasang partisi Anda ke folder itu.sudo mount /dev/sdxx /media/ubuntu
di manaxx
darisdxx
ditentukan pada langkah 3.Ikat direktori berikut dari direktori root CD / USB langsung Anda ke direktori root Anda di versi Ubuntu Anda. Direktori adalah
dev
proc
dansys
. Lakukan dengan perintah berikut:Ubah direktori root ke direktori di partisi Ubuntu Anda.
sudo chroot /media/ubuntu/
sudo grub-install /dev/sdx
Dan itulah cara memperbaiki GRUB menggunakan live CD / USB. Metode ini dikembangkan oleh pengguna YouTube crazytechzone.
sumber
Menggunakan:
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
set root=(hdX,Y)
. Contoh:set root=(hd0,5)
insmod normal
. Mencoba memuat modul normal.normal
Kami pada dasarnya membutuhkan GRUB untuk mengetahui di mana
/boot/grub
folder itu berada. Jika ini tidak berhasil, saya rasa melakukan instalasi GRUB dari CD boot adalah pilihan yang baik.sumber
Lucu, saya juga punya masalah yang sama satu jam yang lalu!
Bagaimanapun, inilah yang saya lakukan.
Muat ubuntu:
sejak ubuntu Anda dipasang di 6 kan?
jalankan terminal:
sumber
Instal Boot-Repair di Ubuntu
Boot komputer Anda pada live-CD Ubuntu atau live-USB.
Pilih "Coba Ubuntu"
Hubungkan internet
Buka Terminal baru ( Ctrl+ Alt+ T), lalu ketik:
Tekan Enter.
Kemudian ketik:
Tekan Enter.
Menggunakan Boot-Repair
Perbaikan yang disarankan
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
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.
Jika perbaikan tidak berhasil, tunjukkan URL kepada orang-orang yang membantu Anda melalui email atau forum.
sumber
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
ls
perintah 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:Boot dari stik USB (coba Ubuntu tanpa menginstal)
Temukan boot drive (periksa kapasitas drive atau lakukan
fsck
pada setiap partisi):Pulihkan sistem file:
Setelah sistem file diperbaiki dan dibersihkan, reboot mesin dari boot drive.
sumber