Saya memiliki beberapa pengalaman buruk GRUB2
. Saya bisa mengatakan (dan mengatakan) beberapa hal buruk tentang desain dan proses pengembangannya. Saya terutama tidak menyukai sarana pembaruan: untuk alasan apa pun ia harus secara otomatis memperbarui beberapa skrip - satu secara tidak langsung melalui yang lain dalam sebuah rantai - untuk setiap pembaruan kernel - atau banyak perubahan konfigurasi minor lainnya (dan tampaknya tidak terkait) .
Ini secara langsung kontras dengan pengalaman sebelumnya yang saya miliki LILO
- yang saya pertimbangkan dengan serius untuk kembali - karena saya tidak pernah memiliki masalah dengan itu, dan konfigurasinya cukup sederhana. Untuk satu hal, seperti yang saya ingat, saya hanya perlu memperbarui (atau, lebih tepatnya, hanya diperbarui) satu file teks konfigurasi yang dikelola secara sederhana per pembaruan kernel.
Jadi bagaimana LILO bekerja pada perangkat keras modern dengan kernel saat ini? Bagaimana GRUB? Bagaimana dengan bootloader lain? Apakah saya harus memenuhi prasyarat apa pun, atau hanya menulis file konfigurasi dan menjalankan lilo
perintah seperti yang saya ingat dulu? Apakah paket kernel memperbarui (Debian / Ubuntu) memperbarui LILO seperti halnya dengan GRUB2?
Jawaban:
ELILO
Mengelola EFI Boot Loaders untuk Linux: Menggunakan ELILO
Sangat sulit bagi saya untuk memutuskan bagian mana yang akan disalin + tempel karena semuanya sangat bagus, jadi saya hanya akan meminta Anda untuk membacanya.
Rod Smith
Ditulis dan dikelola keduanya
gdisk
danrEFInd
.Tetapi sebelum Anda melakukannya, saya ingin berkomentar sedikit tentang itu. Tautan ELILO di atas adalah ke salah satu dari banyak halaman tentang booting UEFI yang akan Anda temukan di rodsbooks.com yang ditulis oleh Rod Smith. Dia adalah penulis teknis yang ulung, dan jika Anda pernah mencari di Google topik booting UEFI dan akhirnya tidak membaca sesuatu tentangnya, kemungkinan karena Anda melewatkan beberapa hasil teratas.
Linux UEFI boot
Pada dasarnya, kernel Linux dapat langsung dieksekusi oleh firmware.
Dalam tautan di atas ia menyebutkan kernel EFI loader Linux kernel - ini adalah apa yang harus Anda gunakan, menurut saya, karena memungkinkan kernel linux dipanggil langsung oleh firmware itu sendiri. Terlepas dari apa yang Anda lakukan, sesuatu sedang dieksekusi oleh firmware - dan sepertinya ada sesuatu
grub
. Jika firmware dapat langsung memuat kernel os Anda, apa gunanya bootloader? Firmware UEFI memasang partisi GPT yang diformat FAT yang ditandai esp oleh tabel partisi dan mengeksekusi jalur yang telah disimpannya sebagai variabel boot UEFI dalam modul memori flash onboard. Jadi satu hal yang mungkin Anda lakukan adalah meletakkan kernel linux di partisi FAT itu dan menyimpan path-nya di variabel boot itu. Tiba-tiba kernel itu sendiri bootloader.Bootloader
Pada sistem UEFI, bootloader berlebih - termasuk ELILO.
Masalah bootloader yang dirancang untuk dipecahkan adalah bahwa sistem BIOS hanya membaca di sektor pertama dari partisi yang ditandai boot dan menjalankannya. Agak sulit untuk melakukan sesuatu yang berarti dengan kernel 512 byte, jadi hal yang biasa dilakukan adalah menulis sebuah utilitas kecil yang dapat me-mount sistem file tempat Anda menyimpan kernel aktual dan memuatnya.
Bahkan, 512 byte sering tidak cukup bahkan untuk bootloader.
grub
, misalnya, sebenarnya chainloads sendiri sebelum pernah chainloading kernel Anda, karena itu mementaskan tahap kedua di ruang kosong antara sektor boot dan sektor pertama sistem file Anda. Semacam hack kotor - tapi berhasil.Bootmanager
Demi konfigurasi yang mudah, beberapa perantara dapat bermanfaat.
Apa yang dilakukan oleh Rod Smith adalah diluncurkan sebagai aplikasi EFI - ini adalah konsep yang relatif baru. Ini adalah program yang dijalankan dari disk oleh - dan yang mengembalikan ke - firmware. Apa rEFInd tidak memungkinkan Anda untuk mengelola menu boot dan kemudian mengembalikan pilihan boot Anda ke firmware untuk dijalankan. Muncul dengan driver sistem file UEFI - jadi, misalnya, Anda dapat menggunakan kernel-Eub loader kernel pada partisi non-FAT (seperti saat ini
/boot
). Ini sangat sederhana untuk dikelola - jika hal seperti itu diperlukan sama sekali - dan itu menambah kesederhanaan kernel sistem yang dapat dieksekusi untuk kenyamanan bootmanager yang dapat dikonfigurasi.Indirection Atom
Kernel tidak perlu symlink - itu bisa
mount --bind
.Jika ada jalur di
/
mana Anda harus melarang symlinking, itu jalan/boot
. Sebuah symlink yatim piatu di/boot
adalah tidak jenis masalah yang Anda harus pernah harus memecahkan masalah. Namun, ini adalah praktik yang cukup umum untuk mengatur tipuan rumit/boot
oleh beberapa distribusi - bahkan jika itu adalah ide yang mengerikan - untuk menangani pembaruan kernel di tempat dan / atau beberapa konfigurasi kernel.Ini adalah masalah bagi sistem EFI yang tidak dikonfigurasikan untuk memuat driver sistem file (seperti yang disediakan dengan paket rEFInd) karena FAT adalah keseluruhan filesystem yang cukup bodoh, dan tidak memahaminya.
Saya pribadi tidak menggunakan driver sistem file UEFI yang disediakan dengan rEFInd, meskipun sebagian besar distribusi menyertakan paket rEFInd yang dapat diinstal melalui manajer paket dan lupa tentang hanya menggunakan
/boot
konfigurasi symlinked yang mengerikan dan driver sistem file UEFI yang dikemas oleh rEFInd.Config saya
Saya pernah menulis satu set instruksi dan mempostingnya di sini , tetapi sepertinya:
Jadi saya hanya meletakkan dua baris di
/etc/fstab
menunjuk ke folder yang saya maksud mengandung instalasi linux baru/boot
dan saya hampir selesai mengkhawatirkan semuanya. Saya juga harus melakukan:Selain menginstal
refind-efi
paket viapacman
untuk yang pertama, hanya itu yang diperlukan untuk mengatur instalasi / konfigurasi terpisah sebanyak yang saya inginkan. Perhatikan bahwa sebagian besar string di atas terdiri dari opsi pemasangan spesifik btrfs yang ditentukan sebagai parameter kernel. Yang lebih khas/boot/refind_linux.conf
mungkin akan terlihat seperti:Dan hanya itu yang dibutuhkan.
rodsbooks.com
Jika Anda masih menginginkan ELILO maka Anda dapat menemukan petunjuk pemasangan di tautan di atas. Jika Anda ingin rEFInd Anda akan menemukan tautan di paragraf pertama di sana. Pada dasarnya jika Anda ingin melakukan konfigurasi boot UEFI, baca rodsbooks.com terlebih dahulu.
sumber
Saya menggunakan LILO bukan GRUB2. Sejujurnya, itu bukan pilihan saya - Instalasi GRUB2 gagal di installer Debian Live CD, tetapi kemudian opsi untuk menginstal LILO yang berhasil. Saya memiliki 2 tahun laptop yang menjalankan Debian Stable. LILO bekerja dengan sempurna untuk saya.
sumber
LILO masih adalah dapat digunakan, bahkan dengan UEFI BIOS. UEFI dapat memuat kernel Linux secara langsung, biasanya. Ini tergantung pada UEFI itu sendiri.
Namun jika Anda memang membutuhkan layar pemilihan boot, misalnya jika Anda boot ke beberapa OS pada satu mesin, maka bootloader kecil mungkin berguna.
Saya akan mempertimbangkan menggunakan EXTLINUX saja. Ini adalah varian dari SYSLINUX, tetapi ia berada di
ext
partisi -type.Keindahan EXTLINUX adalah, meskipun lebih diperluas dan memiliki lebih banyak opsi daripada LILO, EXTLINUX dapat sesederhana dan dipelihara secara aktif.
sumber
Saya tidak ingat ada padanannya
update-grub
. Namun ada sistem yang lebih lama yang masih didukung di Debian. (Ini digunakan untuk uboot di server ARM saya).Kernel terbaru dikaitkan dengan
/boot/vmlinuz
dan initrd ke/boot/initrd.img
. Ini diperbarui oleh paket kernel. Boot loader diarahkan ke hal-hal tersebut & merujuk symlink pada setiap boot.Jadi Anda mungkin tidak mendapatkan opsi pemulihan. Bagaimanapun, ini tidak akan menjadi opsi yang paling banyak diuji, jadi lebih disarankan untuk tetap menggunakan boot disk :-).
Pembaruan: Jika tujuan Anda adalah selain menjalankan LILO di komputer modern, mungkin ada alternatif yang lebih baik, seperti dijelaskan oleh jawaban lain di sini :).
Di atas hanya masuk akal untuk LILO versi berbasis BIOS asli. Perangkat keras modern memang menyediakan kompatibilitas BIOS di atas EFI, jika Anda tidak ingin boot aman atau boot Windows 8 dari menu yang sama. Secara teoritis Anda bisa membuat ELILO berfungsi tetapi tidak mendukung boot aman atau memuat Windows 8. ELILO tidak lagi masuk akal secara umum sehingga dugaan saya adalah tidak ada banyak komunitas di belakangnya.
sumber
/boot
adalah solusi kotor untuk masalah apa pun.