Linux (çekirdek) kaç tane önyükleme bölümünüz olduğunu umursamıyor. Çekirdeği diskten yüklemek, önyükleyicinin (örn grub
. grub2
, lilo
) Görevidir ve bu araçlar bir çekirdeğin yerleştirilebileceği konumların sayısını da umursamaz. Sadece belirli bir yeri önemsiyorlar.
Bir örnek olarak, benim önyükleme bölümü ise /dev/md1
, fiziksel bölümleri tarafından desteklenen bir mdadm RAID ayna olan /dev/sde1
ve /dev/sdf1
. İstersem bunları tek tek monte edebilirim ve bu şekilde teknik olarak aynı verileri içermesine rağmen iki önyükleme bölümüne sahip olarak sayılır.
Benim için / boot için iki bölüme sahip olmak bir kullanılabilirlik sorunudur, ancak bunlar aynı şekilde farklı / boot bölümleri olabilir. Bir sonraki adım, önyükleyicinin nasıl bilmesi gerektiğidir? İşte böyle:
menuentry 'Linux 3.10.17 (sde) kernel-3.10.17-g' {
root=hd0,1
linux /boot/kernel-3.10.17-g domdadm dolvm root=/dev/md3
initrd /boot/initrd-3.10.17-g
}
menuentry 'Linux 3.10.17 (sdf) kernel-3.10.17-g' {
root=hd1,1
linux /boot/kernel-3.10.17-g domdadm dolvm root=/dev/md3
initrd /boot/initrd-3.10.17-g
}
Bu, bir grub2
yapılandırmadan bir alıntıdır ve tek farkın root=hd0,1
ve root=hd1,1
hangi önyükleme bölümünün bu başvuruya başvurduğunu belirlediğini göreceksiniz .
Şimdi burada ne olduğunu anlayabilmeniz için önyükleme yaparak yürüyelim.
- BIOS, MBR'yi önyükleme biriminden okur ve önyükleyiciye atlar
- Önyükleyici (örn.
grub2
) Hangi aygıtın ve bölümün çekirdeğinizi içerdiğini bilmek üzere yapılandırılmıştır. Grub2 bu bölüme doğrudan erişir ve çekirdeğinizi belleğe yükler.
- Önyükleyiciniz daha sonra çekirdeğe atlar ve çekirdek makinenizi önyükler.
Bootloader, kaç tane önyükleme bölümünüz olduğunu umursamıyor, sadece nerede olduklarını umursuyor ve bu bilgileri söylemelisiniz.
Çekirdek, kaç önyükleme bölümünüz olduğunu umursamıyor, çünkü onları asla görmesi gerekmiyor (örneğin yalnızca yeni çekirdekler eklemek için kullanılabilir olması gerekir).
/boot
kök bölüme monte edilmiş bir dizine atıfta bulunmuyor mu?