Re: Bootsector nach Partitionierung herstellen
Thomas Moritz <[email protected]> Tue, 5 Apr 2011 19:48:47 +0200
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Organization | - |
| Message-ID | <[email protected]> |
Am Dienstag, 5. April 2011 11:31:21 schrieb David Haller: Hallo David, > Am Tue, 05 Apr 2011, Thomas Moritz schrieb: > >Am Dienstag, 5. April 2011 07:38:13 schrieb David Haller: > >> 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. > > > >Ich klemme nun noch einmal 1024 hinten ran. Diese sind von der > >jetzt funktionierenden CF-Card. Hier kann ich ausser der > >Partitionstabelle keinen Unterschied zu dem gestrigen Versuch > >feststellen. Nur eben, dass diese CF jetzt rennt! >=20 > Naja, kommt halt drauf an, was im ersten Sektor der aktiven > Partition steckt ;) Ist jetzt ne Linux-Partition: Ich zitiere mal Deine letzte Mail: 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. OK, also auch eine Linux-Partition. Alles andere haette mich auch=20 verwundert! Ich hatte ja die zweite CF-Card neu Partitioniert und=20 =46ormatiert: 1.Partition 1GB Linux/ext4 2.Partition Rest Windows/mkfs.msdos -F32 > $ od -Ax -tx1z /dev/shm/dh/4gb_sdd.img | less > 0001be 80 20=20 > >........=C7f?U=CF=C9. < 0001c0 21 00 83 0d 0a 83 00 08 00 00 00 18 20 > 00 >!........... ...< ^^ FS-Typ Byte >=20 > und ne FAT32-LBA Partition: >=20 > 0001ce 00 0d=20 > >!........... ...< 0001d0 0b 83 0c fa 54 e6 00 20 20 00 00 40 57 > 00 >...=FAT=E6. ..@W...< ^^ FS-Typ Byte >=20 > Der generische/DOS BR interessiert sich genau gar nicht f=FCr den > Folgesektor mit dem Grub-Rest, der kn=FCppelt einfach den ersten > Sektor der aktiven Partition in den Speicher und startet den darin > befindlichen Code. Hat man z.B. GRUB in die Linux-Root-Partition > installiert, dann startet eben der. Da ich von der "lauffaehigen" Karte (grub in Linux-Root-Partition) die=20 ersten 446B nach /dev/sdd1 (neue CF) kopiert hatte, sollte doch grub=20 gestartet werden koennen. Den MBR (446B) hatte ich auch nach=20 /dev/sdd (neue CF) kopiert! Was war nun eigentlich an meiner beschriebenen Vorgehensweise falsch? *lauffaehige CF-Card (nicht eingebunden) =2DMBR #dd if=3D/dev/sdd of=3D/hier/mbr.img bs=3D446 count=3D1 =2DBootsector / #dd if=3D/dev/sdd1 of=3D/hier/bsl.img bs=3D446 count=3D1 *CF-Card einbinden =2DDaten #rsync -avxXHAS /media/disk/ /hier/hin/ **neue CF-Card (nicht eingebunden) =2Dfdisk (Partitionierung s.oben) =2Dmkfs.ext4 /dev/sdd1 =2Dmkfs.msdos -F32 /dev/sdd2 =2Ddd if=3D/hier/mbr.img of=3D/dev/sdd bs=3D446 count=3D1 =2Ddd if=3D/hier/bsl.img of=3D/dev/sdd1 bs=3D446 count=3D1 **/dev/sdd1 einbinden =2Drsync -avxXHAS /hier/hin/ /media/disk/ Beide Partitionen liessen sich problemlos mounten! Warum wurde grub beim Systemstart im PC104 nicht gefunden? DISK BOOT FAILURE... Ich muss das Szenario noch 2x auf verschieden-grossen CFs durchfuehren=20 und werde dabei den HexDump beobachten! Bin gespannt, wann genau da=20 was schief laeuft. Vielen Dank fuer die umfangreichen Infos! MfG Th. Moritz