Wie sollte der MBR aussehen?

Wie sollte der MBR aussehen?

Ich habe über den Bootvorgang eines Computers gelesen und herausgefunden, dass der Computer den Code des Bootloaders vom lädt . Also wollte ich mir das mal so MBRansehen :MBR

sudo dd if=/dev/sda of=mbr bs=512 count=1

Ich habe es mit Vim geöffnet und ausgeführt, :%!xxdum eine Hex-Ansicht der Datei zu erhalten. Diese Datei sieht so aus

Bildbeschreibung hier eingeben

Nach dem, was ich im Internet gefunden habe, sollten die ersten 446 Bytes dieses Datensatzes Code des Laders sein. Aber in meinem Fall sind es nur Nullen. Ich glaube nicht, dass der Bootloader so aussehen sollte, aber mein Computer lädt einwandfrei. Warum ist das so? Warum sind nur Nullen drin MBR(außer in der Partitionstabelle, nehme ich an), aber mein Computer lädt. Ich habe GRUBals Bootloader.

Antwort1

Sie haben wahrscheinlich einen veralteten Text gelesen. Heutige Computer booten nicht über MBR. Genauer gesagt befinden wir uns in einer Übergangsphase, einige von ihnen verwenden MBR, andere nicht.

Eine Ursache ist die Tatsache, dass MBR keine Partitionierung von Laufwerken erlaubt, die größer als 2 TiB sind.

Ja, Sie haben per DD einen Ort erstellt, an dem sich MBR normalerweise befindet, aber dort gibt es keinen Code und die Partitionstabelle enthält nur einen Eintrag, der sich über das gesamte Laufwerk erstreckt. Dies ist ein sogenannter Protective MBR, Ihre Festplatte hat ein GUID-Partitionstabellen-Layout (GPT) (d. h. verwendet ein anderes Partitionierungssystem) und Ihr Computer bootet wahrscheinlich über UEFI. Sie haben wahrscheinlich eine kleine Partition mit FAT32-Dateisystem, die als EFI-Systempartition (ESP) bezeichnet wird und die Datei EFI/BOOT/bootx64.efi enthält – diese Datei ist ein Bootloader (Grub oder ein Stubloader, der Grub sofort ausführt), der von der Firmware ausgeführt wird. Oder Sie haben die Firmware so eingerichtet, dass eine beliebige ausführbare EFI-Datei gebootet wird, aber sie sollte trotzdem auf ESP vorhanden sein.

Sie können bestätigen, dass Sie UEFI in Linux gebootet haben, wenn Ihr geladenes System das Verzeichnis /sys/firmare/efi nicht leer hat.

verwandte Informationen