Wenn ich ein MBR-Partitionierungsschema verwende und eine primäre oder erweiterte Partition mit fdisk
(Version 2.20.1) erstelle, beginnt sie auf Sektor 2048. Wenn ich mich richtig erinnere, haben ältere Versionen von fdisk
die erste Partition auf Sektor 63 gestartet. Wenn MBR nur benötigt 512 Bytes, warum startet dann nicht die erste Partition auf Sektor 2? Was wird in diesen 2047 Sektoren aufbewahrt? Eine Phase des Bootloaders?
10
fdisk
in derutil-linux-ng-2.17.1/fdisk/fdisk.c
Funktion eingeführtupdate_sector_offset(void)
, die am 22.02.2010 veröffentlicht wurde. Windows Vista wurde 2006-11 veröffentlicht.Antworten:
Die alte 32-KB-Lücke zwischen MBR und dem ersten Sektor des Dateisystems wird als DOS-Kompatibilitätsbereich oder MBR-Lücke bezeichnet, da unter DOS die Partitionen an Zylindergrenzen gestartet werden mussten (und jeder Zylinder 64 Sektoren hatte, dh 64 Sektoren * 512 Bytes / Sektor = 32 KB Speicherplatz). .
Legacy GRUB (GRUB1) hätte damit den 1,5-stufigen Bootloader von GRUB1 dort installieren können: http://www.gnu.org/software/grub/manual/grub.html#BIOS-installation .
Zusätzliche Links:
quelle
grub-install -v
ich habe GRUB2 installiert und wenn ich ausführe,dd if=/dev/sda obs=1 ibs=1 skip=512 count=2047 2>/dev/null | strings -n4
dann gibt es "Laden", "Geom", "Lesen", "Fehler" in diesem Bereich und sie sollten zu GRUB2 gehören.Dies ist eine Leistungsoptimierung und bezieht sich überhaupt nicht auf Linux, sondern nur auf die Hardware. Moderne Festplatten (sogenannte "4K" -Disketten) verwenden physische Sektoren mit 4096 Byte anstelle von 512. Sie können weiterhin einzelne 512-Byte-Sektoren adressieren. Dies kann jedoch die Leistung erheblich beeinträchtigen, wenn die Partitionen (oder besser gesagt: Dateisysteme) nicht auf 4K ausgerichtet sind .
Startsektor 64 würde für diese Anforderung ausreichen. Die Erhöhung auf 2048 scheint vorbeugend zu sein (z. B. das Platzieren einer UEFI-Boot-Partition, wenn die Festplatte später in GPT konvertiert werden soll).
quelle