Cara Menggunakan GRUB Rescue untuk Memperbaiki Linux
Diterbitkan: 2023-05-14ls
, set
, linux
, dan initrd
untuk memperbaiki sistem Linux Anda. Jika sebaliknya Anda melihat prompt "grub rescue>", gunakan perintah set
, insmod
, linux
, dan initrd
untuk mem-boot PC Anda.Jika komputer Linux Anda tidak bisa boot ke sistem operasinya, kemungkinan besar Anda akan melihat prompt di shell GRUB. Ikuti langkah-langkah ini untuk memperbaiki proses boot Anda yang rusak.
Ketika Bootloader Anda Tidak Bisa Boot
Menggunakan Shell GRUB
Menggunakan Shell Penyelamatan GRUB
Kemungkinan Pengobatan Lain
Ketika Bootloader Anda Tidak Bisa Boot
Ada sangat sedikit masalah komputer yang membuat hati Anda tenggelam sedalam dan secepat gagal booting. Tanpa sistem operasi yang berfungsi, komputer Anda sebenarnya bukan komputer.
Ini bisa menjadi masalah yang sangat buram, tanpa cara mudah untuk menelusuri akar penyebabnya. Tanpa akses ke Linux, Anda tidak dapat menggunakan alat dan proses diagnostik yang biasa Anda gunakan untuk menyelidiki masalahnya. Dan tanpa menentukan apa masalahnya, bagaimana cara memperbaikinya?
Di Linux, GRUB adalah perangkat lunak yang mengontrol proses booting. Jika Anda memiliki beberapa sistem operasi yang diinstal, Anda dapat memilih salah satu yang ingin Anda gunakan untuk boot.
GRUB dikendalikan oleh konfigurasinya. Itu juga bergantung pada file pendukung lainnya, untuk menjalankan fungsinya. Jika ada yang hilang atau rusak, GRUB tidak akan berfungsi. Perubahan pada hard drive dan partisi komputer Anda harus tercermin dalam konfigurasi GRUB. Jika tidak demikian, instruksi GRUB tidak akan masuk akal, dan proses boot Anda tidak akan berfungsi.
Sebagai catatan tambahan, apa yang kita semua sebut GRUB sebenarnya adalah GRUB 2. Ini adalah versi lanjutan dari GRUB yang dirilis pada tahun 2012. Di antara perubahan lainnya, ini mengubah cara file "grub.cfg" dibuat, dan membiarkan Anda boot dari media yang dapat dipindahkan.
Jika GRUB tidak dapat memuat sistem operasi, Anda akan melihat prompt di shell GRUB. Ini adalah lingkungan minimalis yang memungkinkan Anda melakukan beberapa tindakan. Dilakukan dengan benar, bagaimanapun, langkah-langkah ini dapat menghidupkan kembali komputer Anda.
Ada dua cangkang GRUB yang berbeda. Bergantung pada akar penyebab masalahnya, Anda mungkin menemukan diri Anda di prompt shell GRUB:
grub>
atau pada prompt shell penyelamatan GRUB:
penyelamatan grub>
Cangkang penyelamat GRUB bahkan lebih terbatas daripada cangkang GRUB, tetapi masih cukup mengemas untuk membuat komputer Anda melakukan booting. Setelah komputer Anda di-boot, Anda berada dalam posisi yang jauh lebih baik untuk menyembuhkan akar penyebabnya.
Menggunakan Shell GRUB
Shell GRUB adalah antarmuka baris perintah yang memungkinkan Anda menggunakan subset kecil dari perintah Linux. Jika Anda menemukan diri Anda di sini alih-alih di layar masuk biasa, itu berarti proses booting Anda kacau.
Perintah yang dapat Anda akses tidak sama dengan versi Linux biasa. Misalnya, perintah GRUB shell ls
bukanlah perintah Bash ls
. Ini memiliki sedikit kesamaan dengannya. Kita dapat melihat ini dengan menggunakan opsi --help
.
ls --tolong
Ini mencantumkan lima opsi saja. Itu jauh dari lusinan opsi yang didukung oleh ls
di Bash. Namun demikian, bahkan dengan palet perintah kami yang agak diredam, kami masih dapat memperbaiki situasinya.
Pada prompt, ketik ls
dan tekan "Enter."
ls
Di komputer ini, daftar tiga item.
- (hd0) adalah hard drive pertama.
- (hd0,gpt1) adalah partisi pertama pada hard drive pertama.
- (hd0,gpt2) adalah partisi kedua pada hard drive pertama.
Label "gpt" adalah singkatan dari tabel partisi GUID. Kita perlu menyertakan tanda kurung “ ()
” saat kita mereferensikan sebuah partisi, tetapi kita dapat menghilangkan labelnya.
Untuk melihat partisi secara bergantian, kita akan menggunakan ls
.
ls (hd0,1)
ls (hd0,2)
Kami telah menemukan bahwa partisi kedua memiliki sistem file Linux di dalamnya. Kami akan menyelidiki sedikit lebih jauh dengan melihat direktori root dari partisi tersebut.
ls (hd0,2)/
Jelas, ini adalah partisi Linux, dengan direktori boot di dalamnya. Di sinilah file GRUB, gambar boot Linux, dan file boot lainnya disimpan.
Di komputer ini, kita perlu mereferensikan partisi (hd0,2)
saat mengeluarkan perintah. Di komputer Anda, Anda akan menggunakan partisi apa pun yang Anda temukan di instalasi Linux Anda.
Kita dapat menggunakan perintah cat
untuk mencari file teks dengan menambahkan path direktori dan nama file ke nama partisi, seperti ini:
cat (hd0,2)/etc/issue
Pada penginstalan multi-boot, ini adalah cara yang berguna untuk memverifikasi bahwa Anda berada di partisi yang benar. Ini juga bagus untuk melihat ke dalam file konfigurasi.
Di sini, kami menggunakan perintah ls
dengan opsi -l
(panjang) dan -h
(ukuran yang dapat dibaca manusia) untuk membuat daftar file di direktori "/ boot".
ls -lh (hd0,2)/boot
Untuk mem-boot komputer ini, kami perlu memberi tahu GRUB bahwa partisi Linux kami yang baru ditemukan menyimpan file-file boot.
atur root=(hd0,2)
Kita perlu menentukan kernel Linux mana yang akan di-boot. Kami melakukan ini dengan perintah linux
. Perhatikan bahwa kami juga harus menyediakan direktori root menggunakan hard drive Linux biasa dan skema penamaan partisi.
linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2
Di komputer contoh kami, kami menggunakan (hd0)
yang merupakan hard drive pertama. Ini disebut sda
dalam nomenklatur Linux biasa. Kami menemukan bahwa partisi kedua adalah partisi Linux, jadi kami perlu menentukan sda2
.
Mesin Anda mungkin berbeda. Misalnya, jika partisi Linux Anda dilaporkan sebagai (hd2,1)
itu berarti partisi satu di hard drive ketiga, atau sdc1
.
Kita juga perlu menentukan gambar sistem file berbasis RAM mana yang akan digunakan saat komputer melakukan booting. Ini harus menggunakan komponen numerik yang sama dengan kernel Linux yang kita gunakan.
initrd /boot/initrd.img-6.2.0-20-generik
Sekarang, untuk mem-boot sistem kami, ketik "boot" dan tekan "Enter."
Ini harus mem-boot komputer Anda ke Linux. Itu membuat kami berjalan kembali, tetapi kami masih perlu memperbaiki GRUB sehingga kami tidak perlu melakukan ini setiap kali menyalakan komputer.
Kami akan menjalankan update-grub
. Ini akan memindai sistem kami, mengidentifikasi sistem operasi, dan membuat konfigurasi GRUB baru. Kita perlu menjalankan ini sebagai pengguna root.
sudo pembaruan-grub
Jarang, Anda mungkin perlu menginstal ulang bootloader GRUB juga, menggunakan grub-install
.
sudo grub-install /dev/sda
Catatan Anda tidak perlu menentukan partisi mana yang akan diinstal, hanya drive yang mana. Dalam instalasi normal, itu adalah drive yang sama dengan Linux Anda.
Bukti puding hadir dengan reboot berikutnya. Komputer Anda harus reboot secara normal.
TERKAIT: Cara Mengonfigurasi Pengaturan Boot Loader GRUB2
Menggunakan Shell Penyelamatan GRUB
Bergantung pada sifat masalah boot, Anda mungkin tidak masuk ke shell GRUB. Anda mungkin tertinggal dalam mode penyelamatan GRUB. Jika demikian, prompt Anda akan terlihat seperti ini:
penyelamatan grub>
Perintah yang perlu kita keluarkan di shell ini berbeda. Kita perlu menggunakan ls
untuk menemukan partisi Linux, sama seperti jika Anda menggunakan shell GRUB. Setelah mengidentifikasi partisi Linux, Anda dapat melanjutkan dan memasukkan perintah ini.
Ingatlah untuk menggunakan pengidentifikasi drive dan nomor versi kernel yang benar untuk komputer Anda. Perintah insmod
memuat modul kernel.
atur awalan=(hd0,2)/boot/grub
atur root=(hd0,2)
normal
linux
linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2
initrd /boot/initrd.img-6.2.0-20-generik
Anda kemudian dapat mengetik "boot" dan tekan "Enter" untuk mem-boot ulang komputer Anda. Setelah reboot dan Anda telah masuk, perbarui GRUB dengan perintah update-grub
.
Kemungkinan Pengobatan Lain
Jika masalah ternyata adalah file boot yang hilang, seperti file "vmlinuz" dan "initrd.img", Anda dapat mem-boot komputer dari Live DVD atau flash drive USB Linux yang dapat di-boot, dan menyalin file yang hilang ke tempatnya.
Perhatikan bahwa file "vmlinuz" dan "initrd.img" harus memiliki nomor versi yang sama di dalamnya, karena berfungsi sebagai pasangan yang cocok.
TERKAIT: Cara Membuat Linux Live USB yang Dapat Di-boot di Mac Anda