Re: Bootsector nach Partitionierung herstellen

David Haller <[email protected]> Tue, 5 Apr 2011 07:38:13 +0200
Newsgroups gmane.linux.suse.programming
Organization What?
Message-ID <[email protected]>
Hallo,

Am Mon, 04 Apr 2011, Thomas Moritz schrieb:
[..]
>Erstmal sollte aber diese eine CF-Card hier booten...
>
>Was beginnt eigentlich ab offset 0x00000190?=20
>Hier: 1C 80 B6 dann 00 bis 0x000001b7
>Ab offset 0x000001b8: C7 66 3F 55 CF C9 80 20 21 00 83 FA 54 E6 00 08

Ab 0x01be beginnt die Partitionstabelle, hier ab dem 80 20 21 00 83
wobei das 83 der FS-Typ der ersten Partition ist, die bei Sektor 3F
(=3D63) beginnt. Das davor ist der Bootcode, evtl. auch Reste von
vorherigen (Grubs). Sicher wei=DFt du das nur, wenn du die 446 Bytes mal
ausnullst und dann den generischen MBR-Bootcode wieder reinschreibst
(nicht den aus der Sicherung sondern neu).

>Ach Quatsch, ich klemme die ersten 1024B von neu und alt hinten ran.=20
>Sorry!

Erstens: im MBR ist der Bootcode in den ersten 446 Bytes, bei einer
FAT- oder NTFS Partition belegt der Bootsektor die kompletten 512
Bytes! Bei ext2/3 und wohl auch 4 ist der Bootsektor der Partition der
Sektor 3 (IIRC, der mit dem 0x53 0xEF)

Nur bei der erweiterten Partition und den logischen Partitionen hast
du jeweils wieder eine Partitionstabelle mit jew. genau zwei Eintr=E4gen
1. der log. Partition, diese beginnt dann jew. wieder mit dem ganzen
Sektor (ab Sektor 63 in der Erw. Partition) und 2. einer weiteren
"erweiterten Partition". Siehe:
http://en.wikipedia.org/wiki/Extended_boot_record
http://en.wikipedia.org/wiki/Disk_partitioning
http://en.wikipedia.org/wiki/Master_boot_record

(wie gut die dt. Artikel dazu sind wei=DF ich nicht).

Das was du angeh=E4ngt hast ist jew. ein generischer BR (der die aktive
Partition startet, jedenfalls kein Grub), der 2te Sektor ist der
zweite Teil eines Grubs.

HTH,
-dnh

--=20
Drive defensively -- buy a tank.