Ön yükleyici ROM olmak ve MBR olmak hakkında söylediklerine arasındaki çatışma nedeniyle belki de bootloader bilgisayar dahil her işe yarar bir şey, yetinmek kodunda yüke minimum nasıl çalışır herhangi bir kod için kullanılan çok aşamalı önyüklemede durumu belirtin.
Bu nedenle başlangıç durumu, programlanabilir bir cihaz olan ancak yüklü olan herhangi bir yazılımı olmadığı için çalışacak yazılımı nasıl yükleyeceğini bilmeyen bir bilgisayara sahip olmaktır. (Ve böylece önyükleme , kendisini önyükleme noktalarından yukarı çeker ).
Tarihsel olarak, bu soruna birkaç farklı çözüm vardı, ancak bugünlerde ROM'da bazı kodlarla başlıyoruz (büyük olasılıkla kesinlikle EEPROM); önyüklenebilir.
(Bu nedenle, bir işletim sistemi yükleyici diskini başka bir sabit sürücüye takıp çıkarmazsanız, BIOS [ROM'daki kod, bahsettiğimiz kod da dahil olmak üzere kod ve diğer bir kısmı düşük şeyleri başlatan seviyeli şeyler] ilk önce CD / DVD sürücüsüne, ardından bir şey bulamazsa sabit sürücüye bakacak şekilde ayarlanmış, tweakers genellikle manuel olarak istenmedikçe CD / DVD sürücüsünü yoksaymaya ayarlanmış sürücüde bırakılan önyüklenebilir olmayan bir diski döndürerek zaman kaybetmez).
ROM'daki bu koda bazen bir bootloader denir .
Hangi sürücüye bakacağını bildiğinde, birincil bölümler hakkında bilgi içeren MBR'ye bakacaktır - daha sonra / veya / boot veya C: / 'ye (Windows sisteminde) nasıl bakabildiniz? Hangi bölümün hangi disk disk olduğunu biliyor musunuz, her bölümün nasıl monte edildiğini aldırmayın. - ve yürütmek için daha fazla talimat içeren bazı kodlar. (Bu arada, bu neden bazı işletim sistemlerinde - Windows gibi - sadece bir birincil bölüme kurulabildiğini, bu bölümlerin ayrıntılarının MBR’de olduğunu ve önyükleyicilerinin okudukları tek bölüm bilgisinin EBR’yi yüklemediğini açıklıyor. mantıksal bölümler hakkında bilgi edinin;
Bu çalıştırılabilir kod, aynı zamanda bir bootloader olarak da adlandırılır . Bunu ve sonra gelenleri ayırt etmeye özen gösterdiğimizde buna birincil önyükleyici denir (çünkü kendi BIOS'umuzu yapmadığımız sürece ROM'umuzu kontrolümüzün dışında bırakıyoruz).
Bu kod, sığması için yalnızca 400 bayt olduğu için çok küçük olacaktır, bu yüzden gerçek olan her şeyi yapmak için, bu kısıtlama ile uğraşmak zorunda olmadığından daha büyük olabilecek daha fazla kod yükleyecektir.
Bu kod, aynı zamanda bir bootloader olarak da bilinir . Bunu ve daha önce gelenleri ayırt etmeye özen gösterdiğimizde, buna ikincil önyükleyici denir .
Bu kod belki de süreçteki son aşama olabilir. Yalnızca bir işletim sisteminiz varsa veya sisteminizdeki tüm işletim sistemlerinde uyumlu önyükleme yükleyicileri kullanılıyorsa (örneğin, her ikisinin de GRUB kullandığı iki Linux kurulumu var, bu yüzden en son güncellenen hangisi hangisine önyükleme olanağı sunabilir) menüleri (istenirse) bir çekirdek içinde yükler sunar ve işletim sistemi üzerindeki kontrolünü geçer.
Bu önyükleyiciyle uyumlu olmayan bir işletim sisteminizin olması durumunda, zincir yükü olabilir. Örneğin, aynı makinede Windows ve Linux kullanıyorsanız, Windows'u yüklemek için GRUB seçeneği aslında yalnızca Windows kurulumlarını bilen başka bir önyükleyici yükler ve ona geçer. Bu süreçte üçüncül bir aşama olsa da, hala ikincil bir önyükleyici yükleyici olarak adlandırılıyor , çünkü ondan önce çalışan başka bir ikincil önyükleyici olduğunu bilmiyor ve umursamıyor. Bu, farklı türde bir ikincil önyükleyici kullanan bir Linux kurulumunda da geçerlidir.
Çoğunlukla Linux açısından bootloader hakkında konuştuğumuzda , genellikle ROM kodunu kastetmiyoruz (Linux'un bir parçası değil veya Linux yükleyerek değiştirilir). Bunu yaptığımızda update-grub
, genellikle belirli bir kurulumun / önyüklemesi olan ikincil önyükleyici değiştiriyoruz. Bunu yaptığımızda install-grub
onu ve MBR'deki birincil önyükleyiciyi değiştiriyoruz, böylece / boot'ın nerede olduğunu (belki de bir RAID yazılımını başlatarak) bilmek için yeterli koda sahip olacak ve onu çalıştığında yükleyecek ve çalıştıracaktır. .
Yani, özet olarak, ROM'un ana belleğin bir parçası olduğunu söylerken hatalıydınız * çünkü ayrıdır. (Gerçekten de, RAM ROM için çok zengin olarak alınır). Hem orada hem de MBR'de bir bootloader olduğunu söylemede haklıydınız, çünkü işlemin iki adımıdır ve her ikisi de bazen bu adla adlandırılır. Ve "Farklı işletim sistemleri önyükleyicilerini farklı yerlerde depolar mı?" "çoğunlukla" çünkü uyumsuz ikincil önyükleyiciler, ya diğer önyükleyicileri gizler (eğer Linux kurduktan sonra Windows'u yüklerseniz) ya da istenirse diğerine zincir yükünü yüklerler (eğer bu durumu düzeltirseniz veya Windows'tan sonra Linux yüklerseniz) uyumlu olduklarında ikincil bir önyükleyiciyi paylaşabilirler (aynı ikincil önyükleyici türünü kullanan başka bir Linux'un ardından Linux yüklerseniz ve diğer Linux'u görebilir (bazen RAID yazılımı işleri karıştırır ve zincirleme işlemini gerekli kılar).
* Programın hem ROM hem de RAM'den faydalanacağı günlerde, bu farklıydı. Örneğin, bir ZX Spektrumunda, ROM 16kiB olacaktır ve bir BASIC yorumlayıcısı içerecektir, böylece size 48kiB veya 128KiB (disk belleği) veya RAM'e bir şey yüklemek için başlangıç noktasını (bu durumda, esas olarak bu BASIC tercümanı ve bunu kasette bulunanlara önyüklemek için kullanarak), BASIC tercümanından RAM'deki programların kullanabileceği birçok fonksiyon vardı (bilgisayar zaten bilinen bir pozisyondayken neden bir trig fonksiyonu yazmalı? ? Özellikle tüm kodları çalıştırmak için sadece 48kiB kullandığınızda). Bu ROM, RAM ile aynı şekilde, sadece farklı adreslerde görüldü. Böyle bir durumda ROM, RAM kadar ana belleğin bir parçasıydı ancak yazılabilir değildi.
A small portion of a computer's main memory where the CPU expects to find its initial program is constructed from special nonvolatile memory cells. Such memory is known as read-only memory(ROM)
kendisine Genel Bakış'dan alınan bir paragraf . Ana hafıza, RAM ve ROM olmak üzere iki parçadan oluşur. Ben sadece sözde bootloader ana belleğin ROM kısmında ... @Sergey yüklü olup olmadığını bilmek istiyorum