Kök monte edilmeden önce / etc / fstab dosyasına nasıl erişilir?


21

/etc/fstabBu tavuk ve yumurta sorusu başıma geldiğinde bazı değişiklikler yaptım - /etc/fstabkök bölüm de dahil olmak üzere dosya sistemlerinin montajı talimatlarını içeriyorsa, işletim sistemi bu dosyayı ilk etapta nasıl okur?

Yanıtlar:


18

Önyükleyici yükleyici çekirdeği çağırdığında, kendisine bir parametre adı verilir root. Böylece, çekirdek başlatmayı tamamladığında, verilen kök bölümü monte ederek /ve sonra arayarak devam edecektir /sbin/init(bu, diğer parametreler tarafından geçersiz kılınmadığı sürece).

Ardından, initişlem varsayılan çalışma seviyenizde başlatılması tanımlanan tüm hizmetleri yükleyerek sistemin geri kalanını başlatır.

Konfigürasyonunuza ve kullandığınız init sistemine bağlı olarak, bahsettiğimler arasında birçok başka adım olabilir. Şu anda Linux'taki en popüler init sistemleri SysVInit (geleneksel olan), Upstart ve Systemd'dir. Açılış süreci hakkında daha fazla bilgiyi bu wikipedia makalesinde bulabilirsiniz .

Grub yapılandırmamın basitleştirilmiş bir örneği. Sorunuzu cevaplamanın önemli kısmı ikinci ve son satırda, şöyle bir şey var 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  
}

Birçok yapılandırmada, çekirdek /salt okunur modda monte edilir ve seçeneklerin geri kalanı varsayılan değerlere ayarlanır. İçinde /etc/fstabbunu bir kez uygulayacak olan dosya sistemi parametrelerini belirtebilirsiniz.


2
Kök bölümü başlangıçta çekirdek tarafından salt okunur olarak monte edilir. Bir initişlem daha sonra şeyleri /etc/fstaboradaki parametrelere göre monte eder , bu da genellikle kök bölüm okuma-yazmayı yeniden monte etmek anlamına gelir.
goldilocks

1
Ayrıca çekirdek, aktif bölüm üzerinde henüz monte edilmemiş bazı özel dosyaları arayan sabit kodlanmış yordamlarla derlenebilir. FreeBSD yükleyici bu şekilde çalışır.
Kondybas

Linux üzerinde @Kondybas LILO de bazı sabit blok rakamlarına çekirdeği yüklemek için kodlanmış olup
phuclv

3

fstabVarsayılan olmayan bazı takma seçenekleri belirlemek istiyorsanız, bir giriş yapılması gerekir. Bununla birlikte, bugünlerde systemddoğru bir çekirdek aygıtı ve fstype fstabolması zorunlu değildir. Kök girişini şunun gibi bir şeyle değiştirebilirsiniz:

#UUID=8f74237d-b689-4beb-9d1f-f60b426c9969 /            ext4        rw,relatime,data=ordered    0 1
dummy /             auto        rw,relatime,data=ordered,debug  0 1

ve montaj seçenekleri hala systemd tarafından yerine getirilmektedir.

Herhangi bir hatalı cihaz adı kullanabilirsiniz, örneğin /dev/sdz1, kötü UUID hariç. Kötü bir UUID ile mesaj önyükleme sırasında yazdırılır: Failed to start Remount Root and Kernel File Systemsancak sistem yine de önyüklenir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.