mbr in diskettenimage kopieren?

28/05/2011 - 04:35 von lano | Report spam
Moin,

Ich habe mir einen kleinen Bootloader geschrieben, diesen versuche ich,
langsam verzweifelt, in ein disketten image zu schreiben.

mit:
dd if=/dev/zero of=filesys.img bs24 count(80
erzeuge ich erstmal eine Datei.

Dann kommt ein Dateisystem drauf:
mkdosfs -F 12 filesys.img

Dann mounte ich das ganze:
mount -o loop filesys.img /mnt/

Kopiere den kernel:
cp ../kernel/kernel /mnt/

unmounte das ganze wieder:
umount /mnt

Und dann gehts mit etlichen versuchen weiter, einer davon wàre:
losetup /dev/loop0 filesys.img
Bootloader kopieren: (ich habs auch schon ohne bs versucht)
dd if=../bootloader/boot.bin of=/dev/loop0 bsD6
Bindung lösen:
losetup -d /dev/loop0

wenn ich dann allerdings versuche das image zu mounten, gelingt das
nicht mehr.
Ich hab da irgendwo nen denkfehler drin, nur wo?

so dankend -Sven-
 

Lesen sie die antworten

#1 Thomas Rachel
28/05/2011 - 08:10 | Warnen spam
Am 28.05.2011 04:35 schrieb lano:
Moin,

Ich habe mir einen kleinen Bootloader geschrieben, diesen versuche ich,
langsam verzweifelt, in ein disketten image zu schreiben.



Huch?



wenn ich dann allerdings versuche das image zu mounten, gelingt das
nicht mehr.
Ich hab da irgendwo nen denkfehler drin, nur wo?



Du verwechselst Bootsektor und MBR. Ein MBR besteht aus ca. 446 Bytes
Code (vermutlich nicht viel weniger, aber sicher nicht mehr, da
hintendran die Partitionstabelle hàngt).

Ein Bootsektor enthàlt zwar auch Code, aber woanders: die ersten drei
Bytes sind ein relativer Sprungbefehl, dann kommen
Dateisysteminformationen, dann (ggf.) Code.

Kopierst Du dort einen MBR hin, sind die Dateisysteminformationen weg.


HTH,

Thomas

Ähnliche fragen