Is de “opstartbare vlag” nodig in de huidige distributies? Zo niet, waarom staat deze dan nog steeds in de installatieprogrammas? Wat is het precies?
Reacties
- en.wikipedia.org/wiki/Boot_flag
Antwoord
De opstartvlag komt uit de oudheid, waar je een MBR partitie record als opstartbaar, dus je zou kunnen aangeven waar de bootloader zich bevond.
Op moderne besturingssystemen “es dit wordt grotendeels niet gebruikt, aangezien de MBR bestaat uit een minimale stage-lader die bootstraps ofwel naar zijn eigen partitie of naar een ander gebied op de schijf springt waar de bootloadercode wordt bewaard. (Een MBR kan onder andere uitvoerbare code of de opstartpartitietabel bevatten. Zie ook deze link naar een artikel over de MBR ).
Als voorbeeld: GRUB wordt in de MBR geschreven en start elke gewenste partitie op.
Zie ook dit (vrij kleine) Wikipedia-pagina over de opstartvlag: en.wikipedia.org/wiki/Boot_flag
Reacties
- GRUB hoeft echter niet in de MBR te worden geschreven, en kan worden geladen door de legacy MBR.
- @ IgnacioVazquez-Abrams Correct, alles wat het nodig heeft is een opstartsector loader van welke partitie dan ook. Ik wilde ' niet teveel in GRUB-functionaliteit onderdompelen, aangezien deze vraag ging over opstartvlaggen en MBR, en niet per se over GRUB.
Answer
Eerst dacht ik dat het “een bug in grub2 was. Sommige BIOS lijken te testen of ten minste één partitie is gemarkeerd als opstartbaar. lang onderzoek heb ik gemerkt dat, omdat er helemaal geen manier was om op te starten vanaf de hdd of usb-stick. Dat betekent dat zelfs als de magische bytes aan het einde van mbr correct zijn en de bootcode in mbr geldig is, BIOS dat apparaat zal negeren en sla het in de opstartvolgorde over totdat de opstartvlag voor ten minste één partitie is ingesteld. Getest op Fujitsu P772 en HP Probook 6570b.
Answer
Elk besturingssysteem dat een soort pc-afgeleide hardware gebruikt, moet worden opgestart.
Dit begint met een oude, OS-onafhankelijke bootstrap-zoekopdracht die wordt gestart door het BIOS (basic input output system ) van de pc of server.
Dat BIOS-stuk code tri es om de MBR te laden vanaf het eerste geschikte opstartapparaat. De zoekvolgorde voor het opstartapparaat is configureerbaar in de BIOS-setup: welk (schijf) apparaat eerst, welk daarna enzovoort.
De “legacy” MBR probeert de eerste primaire partitie te vinden die gemarkeerd als opstartbaar en controleert of er een korte magische hex-code op die partitie staat.
Als de hex-code wordt gevonden, wordt de rest (de bootstrap-lader) uitgevoerd door de bios. Hier begint het opstarten van het besturingssysteem – moge het DOS, Windows, Linux, … zijn.
Commentaar
- -1. Het is niet het BIOS dat controleert of een partitie opstartbaar is.
- Het BIOS probeert de MBR te laden (toont
No Operating System
als het juiste magische getal n ' t gevonden), en vervolgens neemt de MBR het van daar over. De oude MBR zoekt naar de actieve primaire partitie, maar andere MBRs (grub, lilo, etc.) kunnen ervoor kiezen om anders te handelen.