Cara Memperbaiki Boot Linux Ke Kesalahan BIOS

Diterbitkan: 2022-09-28
Laptop dengan latar belakang biru menampilkan prompt perintah Linux.
fatmawati achmad zaenuri/Shutterstock.com

Pembaruan GRUB diketahui menyebabkan komputer Linux melakukan booting ke pengaturan BIOS atau UEFI. Perbaikan untuk ini memanfaatkan trik pemulihan sistem yang berguna yang benar-benar harus Anda ketahui.

Studi Kasus: GRUB 2:2.06.r322

Pembaruan sistem untuk distribusi Linux berbasis Arch dan Arch di musim panas 2022 termasuk versi baru GRUB. GRUB adalah singkatan dari gr dan u nified b ootloader.

Bootloader adalah aplikasi yang memulai proses booting saat komputer Anda dihidupkan. Beberapa perangkat lunak dan utilitas perlu diluncurkan—dari partisi yang tepat dan dalam urutan yang benar—untuk akhirnya menghasilkan sistem operasi yang operasional dan dapat diakses. GRUB memulai rangkaian peristiwa itu.

Jika Anda memiliki lebih dari satu sistem operasi yang terinstal di komputer Anda, GRUB menyediakan menu sehingga Anda dapat memilih sistem operasi mana yang akan digunakan. Salah satu kode berubah menjadi GRUB 2:2.06.r322 menambahkan dukungan untuk opsi GRUB baru, --is-supported . Opsi ini digunakan untuk menunjukkan apakah kemampuan boot ke firmware ada atau tidak. Jika ya, GRUB menambahkan entri ke menu boot agar Anda bisa boot ke pengaturan EUFI Anda.

Opsi baru direferensikan dalam skrip yang disebut "30_uefi-firmware.in." Perbedaan untuk file ini menunjukkan bahwa pernyataan if telah dihapus, dan dua baris ditambahkan.

Salah satu baris baru adalah pernyataan if pengganti. Baris baru lainnya berisi fwsetup --is-supported . "fw" dalam "fwsetup" adalah singkatan dari firmware. Tetapi karena baris itu berada di atas pernyataan if baru, itu akan selalu berjalan. Jika itu berada di dalam tubuh pernyataan if , itu hanya akan berjalan ketika tes dalam pernyataan if diselesaikan dengan benar.

Apa itu UEFI, dan Apa Bedanya dengan BIOS?
TERKAIT Apa itu UEFI, dan Apa Bedanya dengan BIOS?

Ini menyebabkan masalah pada banyak, tetapi tidak semua, komputer UEFI. Itu tergantung pada apakah versi GRUB yang telah Anda instal mendukung perintah ini. Mesin yang terpengaruh akan melakukan salah satu dari dua hal. Mereka akan masuk ke boot-loop di mana proses boot tidak pernah selesai tetapi terus dimulai ulang, atau komputer akan langsung boot ke pengaturan firmware UEFI. Either way, tidak ada cara untuk memaksa komputer Anda untuk boot ke Linux.

Ketika Anda dihadapkan dengan situasi seperti ini selalu ada opsi nuklir untuk melakukan instal ulang lengkap. Itu akan berhasil, tetapi tergantung pada bagaimana hard drive Anda dipartisi, tanpa cadangan terbaru, Anda mungkin kehilangan data.

Metode berdampak rendah menggunakan chroot dan Live USB atau Live CD/DVD. Ini adalah teknik yang baik untuk memahami dan mempersiapkan segala macam kegagalan sistem ketika Anda tidak dapat boot atau masuk ke komputer Linux Anda.

Teknik yang Akan Kami Gunakan

Untuk menggunakan teknik ini, Anda harus memiliki USB atau CD/DVD yang dapat di-boot dengan distribusi Linux di dalamnya, yang melakukan booting ke instance Linux langsung. Biasanya ini disebut Live USB atau Live CD/DVD. Semua distribusi utama mendukung fungsi ini.

Cara Membuat Drive USB Ubuntu Langsung Dengan Penyimpanan Persisten
TERKAIT Cara Membuat Drive USB Ubuntu Langsung Dengan Penyimpanan Persisten

Kami tidak akan menginstal apa pun, jadi media langsung tidak harus memiliki distribusi yang sama dengan yang Anda instal di komputer Anda. Anda dapat menggunakan USB Ubuntu untuk memperbaiki komputer EndeavourOS, misalnya. Jika Anda tidak memiliki akses ke media langsung apa pun, Anda harus menggunakan komputer lain untuk mengunduh gambar dan menulisnya ke stik memori USB atau ke CD/DVD.

Saat Anda mem-boot dari media langsung, Anda dapat memasang dan mengakses sistem file yang ada. Sistem file yang Anda instal akan muncul sebagai bagian dari sistem file Linux yang di-boot dari media langsung. Itu keren. Jika kita dapat mengaksesnya, kita memiliki kesempatan untuk memperbaikinya. Tapi itu menimbulkan masalah.

Cara Menggunakan Perintah chroot di Linux
TERKAIT Cara Menggunakan Perintah chroot di Linux

Akar dari sistem file hibrid ini adalah akar dari sistem file media langsung, bukan akar dari sistem file yang Anda instal. Untuk membuat jalur file yang dikonfigurasi di sistem Linux Anda mereferensikan lokasi target yang benar—di suatu tempat di dalam sistem file Anda, dan bukan di suatu tempat yang relatif terhadap root Linux langsung—kita perlu menggunakan chroot untuk menyetel root baru yang menunjuk ke root dari sistem file yang Anda instal . Dengan kata lain, jalur yang dimulai dengan "/" akan menggunakan akar sistem file Anda sebagai titik awalnya.

Komputer uji yang kami gunakan untuk ini menggunakan sistem file ext4 , tetapi Anda juga dapat menggunakan teknik ini pada sistem file lain. Anda hanya perlu mengidentifikasi partisi atau volume mana yang perlu Anda pasang, dan di mana memasangnya. Prinsipnya sama.

Mempraktikkannya

Kami membuat drive USB yang dapat di-boot dan mem-boot komputer kami yang terserang darinya. Distribusi yang kami gunakan adalah EndeavourOS. Media langsung EndeavourOS melakukan booting ke lingkungan desktop XFCE 4.

Media langsung EndeavourOS di-boot ke lingkungan desktop XFCE

Untuk mengidentifikasi partisi mana yang menampung akar sistem file Anda, dan mana yang merupakan partisi boot, buka jendela terminal dan gunakan perintah fdisk . Kami menggunakan opsi -l (partisi daftar). Anda juga harus menggunakan sudo .

 sudo fdisk -l 

Menggunakan perintah sudo fdisk -l untuk membuat daftar partisi dan perangkat

Gulir melalui output sampai Anda melihat entri berlabel "Sistem EFI" dan "sistem file Linux."

Output dari perintah sudo fdisk -l dengan partisi boot dan root disorot

Di komputer ini, keduanya ada di hard drive sda . Mereka berada di partisi satu dan dua, seperti yang ditunjukkan oleh label partisi /dev/sda1 dan /dev/sda2 .

Di komputer Anda, mereka mungkin berada di hard drive dan partisi yang berbeda. Perhatikan partisi tempat mereka berada, kita harus menggunakannya di perintah berikutnya.

Kita perlu memasang sistem file pada partisi ini dengan melampirkannya ke sistem file langsung. Perintah mount akan melakukannya untuk kita. Ingat, label partisi Anda kemungkinan besar akan berbeda, jadi pastikan Anda menggunakan yang berasal dari hasil perintah fdisk Anda.

 sudo mount /dev/sda2 /mnt
 sudo mount /dev/sda1 /mnt/boot/efi 

Memasang sistem file root boot dan sistem file

Untuk membuat root sistem file yang efektif dimulai dari root sistem file Anda yang sebenarnya dan terinstal, kami akan menggunakan chroot untuk mengatur root menjadi titik mount "/ mnt". Di sinilah akar sistem file yang Anda instal dicangkokkan ke sistem file langsung.

 sudo chroot /mnt 

Menggunakan perintah chroot untuk membuat root baru yang efektif

Perhatikan bahwa prompt perintah berubah untuk menunjukkan bahwa Anda sekarang masuk secara efektif sebagai root, dan Anda berada di direktori root “/” dari sistem file komputer Anda.

Kita dapat dengan mudah menguji ini, dengan mengubah ke direktori “/ home” dan memeriksa direktori apa yang ada di dalamnya.

 cd /rumah
 ls 

Menggunakan ls untuk membuat daftar akun pengguna

Anda akan melihat direktori untuk setiap pengguna yang dikonfigurasi di komputer Anda, termasuk satu untuk akun pengguna Anda sendiri. Komputer ini memiliki satu pengguna, yang disebut "dave." Jika kita menggunakan cd /home sebelum menggunakan perintah chroot , kita akan memasuki direktori “/home” dari sistem file langsung.

Untuk memperjelas, Anda sekarang mengakses sistem file asli Anda sebagai pengguna root , jadi berhati-hatilah.

Untuk memperbaiki masalah dengan GRUB 2:2.06.r322, yang perlu kami lakukan hanyalah menjalankan perintah grub-install .

 grub-instal 

Menjalankan perintah grub-install untuk memperbaiki boot GRUB ke kesalahan BIOS

Menjalankan grub-install secara membabi buta seperti ini biasanya tidak disarankan. Dalam hal ini, itu adalah apa yang diperlukan.

Perbaiki atau Ganti

Jika Anda mencoba untuk memperbaiki masalah yang berbeda, Anda harus memeriksa forum distribusi Anda untuk perbaikan yang sesuai untuk masalah Anda. Jika itu adalah keluhan yang tersebar luas, Anda akan segera menemukan solusi untuk itu.

Paling tidak, sekarang Anda dapat mengakses sistem file Anda, Anda dapat menyalin data Anda ke beberapa media yang dapat dipindahkan. Jika Anda memutuskan untuk melakukan instal ulang penuh, Anda tidak akan kehilangan data.

TERKAIT: Cara Menyalin File Menggunakan Perintah "instal" di Linux