Setelah pembaruan, dapatkan "kesalahan: file tidak ditemukan." Diikuti oleh "grub rescue> _"

23

Saya baru saja menginstal cukup banyak pembaruan 12.10, diminta untuk reboot, dan kemudian menemukan bahwa saya tidak bisa boot.

8128
sumber
Karena saya belum diizinkan untuk menambahkan komentar karena reputasi saya yang rendah, saya menambahkan komentar dengan cara ini ... Saya menggunakan 8128s Jawab dengan Boot-perbaikan tetapi saya harus menambahkan baris ini sebelum apt-get update sudo sed 's / trusty / saucy / g '-i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list seperti yang Anda lihat di tautan yang ditambahkan ke jawaban
Dominik

Jawaban:

28

Gunakan Boot Repair untuk memperbaiki bootloader Anda.

  1. Boot Ubuntu dari LiveCD atau Live USB
  2. Terhubung dengan internet
  3. Buka terminal, dan tambahkan Boot Repair PPA

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

  4. Instal Perbaikan Boot

    sudo apt-get install -y boot-repair && boot-repair

  5. Luncurkan dan gunakan, lihat https://help.ubuntu.com/community/Boot-Repair#Using_Boot-Repair untuk detail lebih lanjut

8128
sumber
Saya harus menjalankan 3. sebagai root (sudo su) bukan hanya sudoing
David Brossard
1
TERIMA KASIH!! Disimpan server saya setelah pemadaman listrik. Saatnya membeli UPS!
Domenic D.
digunakan dengan Kubuntu 13.10 dan berfungsi. Terima kasih.
David
9
  1. Ketik lsuntuk mendapatkan daftar partisi
  2. Masukkan set prefix=(hd0,msdos6)/boot/grub[Anda hampir pasti harus memasukkan drive / partisi yang berbeda di dalam tanda kurung, Anda mungkin harus mencoba semua yang terdaftar lssampai Anda menemukan yang berfungsi.
  3. Mengetik insmod normal
  4. Ketik normaldan Anda akan mendapatkan prompt boot Anda kembali!

Lihat juga: Tempat bermanfaat di mana saya menemukan ini. Saya ragu ini akan berhasil untuk semua orang yang menemukan kesalahan ini, tetapi saya telah menaruhnya di sini dengan harapan dapat membantu seseorang.

Setelah Anda memuat Ubuntu, jalankan sudo grub-install /dev/sdadan sudo update-grubsesegera mungkin. Ini berarti Anda tidak perlu melakukan proses yang membosankan di atas setiap kali Anda mem-boot mesin Anda.

8128
sumber
9
ketika saya menjalankan insmod normal lagi mengatakan file tidak ditemukan
tovmeod
1
Anda juga dapat menggunakan perintah ls (hd0,msdos1)/untuk memeriksa isi partisi, yang akan lebih cepat jika Anda memiliki banyak partisi.
Jonathan
Ini bekerja untuk saya, kecuali saya memiliki partisi boot terpisah, jadi formatnya adalah set prefix=(hd0)/grub, karena Anda perlu merujuk grubdirektori relatif ke partisi pada drive, tidak relatif terhadap titik mount selama operasi normal.
Nick Coons
4

Saya memiliki masalah yang sama persis - normal.mod not found, lspartisi boot akan menghasilkan baris kosong. Setelah seminggu mengatasi masalah untuk membuat sistem boot dengan benar di sini adalah langkah-langkah yang saya lalui.

  1. Mendapat salinan SuperGrub dan membuat CD boot. Sekarang saya bisa masuk kembali ke sistem saya. Mendapat salinan BootRepair dan tidak beruntung mendapatkan sistem untuk boot langsung dari hard disk dan harus tetap menggunakan CD. BootRepair bertindak agak aneh karena lokasi Grub dan opsi Grub berwarna abu-abu. Itu melaporkan instalasi yang sukses.

  2. Hard drive pada awalnya diatur:
    sda1 ext4 root with boot
    sda2 linux swap
    sda3 ext4 used as a spare drive(menampung VMs untuk kotak Virtual).

  3. Menggunakan salinan live CD Ubuntu 10.10. Jalankan gpartedInstal gparted untuk mengecilkan sda1partisi dan membuat sda4partisi boot ext4 di bagian depan drive dan mengatur mount point ke /bootsetelah menghapus direktori boot dari /. BootRepair sekarang memiliki opsi yang tersedia. Diinstal pada partisi boot dan sekarang dapat boot dari hard drive.

  4. Karena penasaran saya memutuskan untuk menyelidiki lebih lanjut. Log perbaikan boot memiliki entri khusus untuk sda1partisi ext4 saya , dilaporkan sebagai DOSdan memiliki UUID 8 karakter pendek, bukan UUID yang dilaporkan oleh blkid. grub-probemelaporkan sistem file sebagai vfat.

  5. Setelah banyak percobaan lain saya membersihkan sda1catatan partisi 440 byte pertama . Grub-probesekarang melaporkan sistem file sebagai ext2. Berlari update-grubdan UUID yang benar untuk sda1partisi muncul.

Masalahnya tampaknya dua kali lipat:
1. Tampaknya mempengaruhi instalasi di mana catatan partisi memiliki referensi ke msdos.
2. grub-probetidak mencoba untuk menyelesaikan masalah ketidakcocokan antara tipe fs dan konten dalam catatan partisi.

Mark Milakovic
sumber
1

Hal lain yang perlu diperiksa adalah urutan boot di BIOS Anda. Saya rupanya telah menginstal grub yang diinstal pada semua disk saya (mungkin setelah mengikuti jawaban 8128), tetapi ini rusak ketika memperbarui distro Linux saya (Debian). Mengubah disk boot pertama ketika OS Linux saya memperbaikinya.

Jonathan
sumber
0

Saya mengalami peningkatan kesalahan ini ke Kubuntu 13.10. Saya memiliki memory stick yang dicolokkan ke port USB selama dist-upgrade. Setelah reboot saya langsung menuju Grub Rescue. Mencabut USB drive dan mem-boot ulang memperbaiki masalah.

David Walker
sumber
-1

Dalam kasus saya, saya menurunkan versi ke GRUBv1 dan setelah upgrade ke 12.10 grub2 tidak dapat menemukan file-nya (* .mod, dll ...), meskipun grub.cfg ada di sana.

Saya menemukan manual yang lebih komprehensif tentang penyelamatan grub: https://help.ubuntu.com/community/Grub2/Troubleshooting#grub_rescue.3E-1

Lihat juga daftar perintah di awal halaman. Seruling seruling.

iceburn_pt
sumber