Saya membuat beberapa perubahan /etc/fstab
ketika pertanyaan ayam dan telur ini muncul - jika /etc/fstab
berisi instruksi untuk memasang sistem file, termasuk partisi root, lalu bagaimana cara OS membaca file itu?
Ketika boot loader memanggil kernel, ia melewatinya dengan parameter yang disebut root
. Jadi begitu kernel selesai menginisialisasi, ia akan melanjutkan dengan memasang partisi root yang diberikan ke /
dan kemudian memanggil /sbin/init
(kecuali ini telah ditimpa oleh parameter lain).
Kemudian init
proses memulai sisa sistem dengan memuat semua layanan yang didefinisikan untuk dimulai di runlevel default Anda.
Bergantung pada konfigurasi Anda dan sistem init yang Anda gunakan, mungkin ada beberapa langkah lain di antara yang saya sebutkan. Saat ini sistem init yang paling populer di Linux adalah SysVInit (yang tradisional), Upstart dan Systemd. Anda dapat menemukan rincian lebih lanjut tentang proses boot di artikel wikipedia ini .
Ini adalah contoh sederhana dari konfigurasi Grub saya. Bagian penting untuk menjawab pertanyaan Anda adalah pada baris kedua hingga terakhir, ada root=/dev/sda3
:
menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-40864544-2d0f-471a-ab67-edd7e4754dae' {
set root='hd0,msdos1'
echo 'Loading Linux 3.12.6-gentoo-c2 ...'
linux /kernel-3.12.6-gentoo-c2 root=/dev/sda3 ro
}
Dalam banyak konfigurasi kernel mount /
dalam mode read-only dan semua opsi lainnya diatur ke default. Di /etc/fstab
Anda dapat menentukan parameter sistem file yang kemudian akan diterapkan setelah init remount.
init
proses kemudian/etc/fstab
me-mount hal-hal sesuai dengan parameter di sana, yang biasanya berarti memasang kembali partisi root read-write.fstab
Diperlukan sebuah entri , jika Anda ingin menentukan beberapa opsi pemasangan yang tidak standar. Namun, saat ini dengansystemd
, perangkat kernel dan fstypefstab
yang benar tidak perlu. Anda dapat mengganti entri root dengan sesuatu seperti:dan opsi mount masih dihormati oleh systemd.
Anda dapat menggunakan nama perangkat yang salah, misalnya
/dev/sdz1
, kecuali untuk UUID yang buruk. Dengan UUID yang buruk, pesan akan dicetak saat boot:,Failed to start Remount Root and Kernel File Systems
tetapi sistem tetap melakukan booting.sumber