Hallo Liste!
Wozu benötigt Debian Wheezy Partitions-Flags?
GParted zeigt mir an, daß /dev/sda1 die Markierung = dasFlag »boot« hat.
GParted zeigt mir an, daß /dev/sda2 die Markierung = dasFlag »lba« hat.
Wie verwendet Debian die Daten, die in der GParted-Spalte »Markierungen« stehen?
Jemand sagte mir, daß Grub2 die Markierung »boot« gar nicht auswertet.
Jemand anderes sagte mir, daß der Boolader extlinux die Markierung »boot« auswertet. Wie wertet er sie aus?
Linear block addressing (lba) ist das Standardverfahren, das schon seit > 10 Jahren verwendet wird. Wer wertet diese Markierung aus?
http://www.gnu.org/software/parted/manu ... html#SEC28 hat mich nicht erleuchtet.
Gruß
bullgard
Wozu benötigt Debian Partitions-Flags?
Re: Wozu benötigt Debian Partitions-Flags?
hi,
schau dir die Platte mal mit fdisk -l an. Wikipedia[1], fdisk und ich kennen nur ein einziges Flag, nämlich "active", auch "bootable" genannt. Das sollte bei genau einer Partition gesetzt sein, schließlich kann man nur von genau einer Partition booten. Dass extlinux und syslinux dieses Flag beachten und grub nicht, unterschreibe ich mal. Insofern brauchen die meisten Debian-Installationen das Flag nicht.
Mit extlinux kann man auf jede Partition einen eigenen Bootloader schreiben. Die Auswahl passiert dann anhand des Flags so: das BIOS lädt den MBR und startet daraus die erste Stufe des Loaders. Der sucht in der Partitionstabelle die aktive Partition (die mit dem boot-Flag) und startet die zweite Stufe aus dem ersten Sektor dieser Partition. Damit wird dann ldlinux.sys von der gleichen Partition geladen. Das ist der eigentliche, sichtbare Teil des Bootloaders, der z.B. das Bootmenü anzeigt.
Grub macht alles ganz anders, aber nicht unbedingt besser und sicher nicht einfacher![Wink ;)](./images/smilies/icon_wink.gif)
Die anderen Markierungen werden vom Bootloader und vom Kernel nicht ausgewertet. Keine Ahnung, ob "Debian" (also irgendein Programm) damit mehr anfängt, als sie nur anzuzeigen. Windows und DOS verwenden für die verschiedenen FAT-Versionen je vier Partitionstypen[2], nämlich CHS, LBA, CHS-vesteckt, LBA-versteckt (z.B. für FAT32: 0b, 0c, 1b, 1c). {G}parted zeigt das als Dateisystem = FAT + "Markierungen" an. Diese Flags sind also etwas anderes als das einzige "echte" Flag.
Bei ext2|3|4 ist es einfacher; es gibt nur LBA und den einen Typ 83 und der wird vom Kernel auch noch ignoriert. Technisch gibt es nämlich keinen Zusammenhang zwischen dem Partitionstyp und dem Dateisystem auf der Partition. Ich kann ohne weiteres eine Typ-1b-Partition mit ext2 formatieren. Deshalb ist die parted-Darstellung zweideutig bis unbrauchbar: was ist mit der Spalte "Dateisystem" gemeint? Übrigens: das verlinkte parted-Manual ist auch mehr als 10 Jahre alt.
[1] http://en.wikipedia.org/wiki/Master_Boo ... le_entries
[2] http://en.wikipedia.org/wiki/Partition_type
schau dir die Platte mal mit fdisk -l an. Wikipedia[1], fdisk und ich kennen nur ein einziges Flag, nämlich "active", auch "bootable" genannt. Das sollte bei genau einer Partition gesetzt sein, schließlich kann man nur von genau einer Partition booten. Dass extlinux und syslinux dieses Flag beachten und grub nicht, unterschreibe ich mal. Insofern brauchen die meisten Debian-Installationen das Flag nicht.
Mit extlinux kann man auf jede Partition einen eigenen Bootloader schreiben. Die Auswahl passiert dann anhand des Flags so: das BIOS lädt den MBR und startet daraus die erste Stufe des Loaders. Der sucht in der Partitionstabelle die aktive Partition (die mit dem boot-Flag) und startet die zweite Stufe aus dem ersten Sektor dieser Partition. Damit wird dann ldlinux.sys von der gleichen Partition geladen. Das ist der eigentliche, sichtbare Teil des Bootloaders, der z.B. das Bootmenü anzeigt.
Grub macht alles ganz anders, aber nicht unbedingt besser und sicher nicht einfacher
![Wink ;)](./images/smilies/icon_wink.gif)
Die anderen Markierungen werden vom Bootloader und vom Kernel nicht ausgewertet. Keine Ahnung, ob "Debian" (also irgendein Programm) damit mehr anfängt, als sie nur anzuzeigen. Windows und DOS verwenden für die verschiedenen FAT-Versionen je vier Partitionstypen[2], nämlich CHS, LBA, CHS-vesteckt, LBA-versteckt (z.B. für FAT32: 0b, 0c, 1b, 1c). {G}parted zeigt das als Dateisystem = FAT + "Markierungen" an. Diese Flags sind also etwas anderes als das einzige "echte" Flag.
Bei ext2|3|4 ist es einfacher; es gibt nur LBA und den einen Typ 83 und der wird vom Kernel auch noch ignoriert. Technisch gibt es nämlich keinen Zusammenhang zwischen dem Partitionstyp und dem Dateisystem auf der Partition. Ich kann ohne weiteres eine Typ-1b-Partition mit ext2 formatieren. Deshalb ist die parted-Darstellung zweideutig bis unbrauchbar: was ist mit der Spalte "Dateisystem" gemeint? Übrigens: das verlinkte parted-Manual ist auch mehr als 10 Jahre alt.
[1] http://en.wikipedia.org/wiki/Master_Boo ... le_entries
[2] http://en.wikipedia.org/wiki/Partition_type
Beware of programmers who carry screwdrivers.
Re: Wozu benötigt Debian Partitions-Flags?
Das "Manage Flags" bei gparted ändert eigentlich nur 1 wirkliches Flag "boot",
bei den anderen Häckchen wird der Partitionstyp geändert.
Verifiziere das nach jeder Änderung per 'fdisk -l /dev/sdX'.
(Einiges geht nicht, Setzen des lba-"Flag" für eine formatierte 500MB-ntfs-Partition wird verweigert.)
"active" ist das Gegenteil von 'hidden' und stammt auch aus DOS-Zeiten?
grub kopiert die Information über sein /boot/ in den Bootcode, baraucht daher kein flag.
Das mit dem bootflag steht auch im README des Paketes extlinux.
-------------------------------------------------------------------------------------------------------------------
Fehlende Rotation der mbr-${DEVICE}.old bei extlinux,
ein einfacher walkaround: vielleicht in einem Wrapper-Skript fuer extlinux-install.
bei den anderen Häckchen wird der Partitionstyp geändert.
Verifiziere das nach jeder Änderung per 'fdisk -l /dev/sdX'.
(Einiges geht nicht, Setzen des lba-"Flag" für eine formatierte 500MB-ntfs-Partition wird verweigert.)
"active" ist das Gegenteil von 'hidden' und stammt auch aus DOS-Zeiten?
grub kopiert die Information über sein /boot/ in den Bootcode, baraucht daher kein flag.
Das mit dem bootflag steht auch im README des Paketes extlinux.
-------------------------------------------------------------------------------------------------------------------
Fehlende Rotation der mbr-${DEVICE}.old bei extlinux,
ein einfacher walkaround:
Code: Alles auswählen
#!/bin/sh
for FILE in $(ls -1 /boot/mbr-*.old); do
cp -u $FILE ${FILE}.$(date -r $FILE +%F%T | sed 's@[-:]@@g')
done
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")