Daten in Diskettenbootsektor kopieren?
-
Wie geht das. Ich hab eine binärdatei und die will ich in den bootsektor einer Diskette kopieren. Früher unter DOS (ich weiß das is entloß her) gabs da eine lib, die hieß bios.h und da gabs eine Funktion biosdisk. Die scheints unter Win 32 nich mehr zu geben. Kann mir irgendwer nen tipp geben?
-
ich glaub im standard c++ forum bist du da nicht ganz richtig.
wart mal ab, bis du verschoben wirst (nach winAPI nehm ich an, wenn du nichts dagegen hast)
-
Hat sich schon erledigt. Es geht doch mit sandart C++ hier der Code für Linux und Windows!:
#include <sys/types.h> //#include <unistd.h> /* Diese hier enthält read/write für Linux*/ #include <fcntl.h> //Diese beiden für Windows #include <io.h> //(je nach betriebssystem) int main() { char boot_buf[512]; int floppy_desc, file_desc; file_desc = open("bootsec1.bin", O_RDONLY);//bei linux ./bootsec1 read(file_desc, boot_buf, 510); close(file_desc); boot_buf[510] = 0x55; boot_buf[511] = 0xaa; floppy_desc = open("A:\\", O_RDWR); //bei Linux Laufwerk entsprechend angleichen lseek(floppy_desc, 0, SEEK_CUR); write(floppy_desc, boot_buf, 512); close(floppy_desc); }
könnte evtl. ja mal jemand zu FAQ stellen. OS programmierer könnten sowas ja öfter gebrauchen
-
Hm für windows funzts doch noch nich ganz
naj aber ich arbeite drann. Vielleicht sieht ja irgendwer den Fehler
-
http://c-plusplus.net/forum/viewtopic.php?t=46939
http://c-plusplus.net/forum/viewtopic.php?t=15669Evtl. kannst du auch gleich rawrite nehmen: http://prdownloads.sourceforge.net/zoollinux/rawrite2.exe?download