Schreiben des Programms, um Unterstützung von MBR zu bilden:
/* Programm, zum der Unterstützung von MBR zu bilden*/
#include <bios.h>
#include <stdio.h>
int main(void)
{
struct diskinfo_t dinfo; /* Struktur, zum der Informationen der Scheibe Parameter zu halten */
int result;
int count=0;
char filename[80]; /* Speichert den Dateinamen, der von User gegeben wird */
static char dbuf[512]; /* Daten-Puffer von 512 Bytes */
FILE *fp;
dinfo.drive = 0x80; /* Laufwerknummer für erste Festplatte */
dinfo.head = 0; /* Scheibe Spurnummer*/
dinfo.track = 0; /*Schiene Zahl */
dinfo.sector = 1; /*Sektorzahl*/
dinfo.nsectors = 1; /* Sektoranzahl */
dinfo.buffer = dbuf; /* Datenpuffer */
printf("\n Den Dateinamen und den Weg betreten, um die Unterstützung von MBR zu speichern \n ");
gets(filename);
// Die Akte öffnen, um die MBR Unterstützung zu speichern \\
if((fp=fopen(filename,"wb"))==NULL)
{
printf("Konnte Akte herstellen, betätigt keinen Schlüssel, um herauszunehmen..");
getch();
exit(0);
}
printf("Versuchen, vom Festplattenlaufwerk zu lesen:\n");
//// Den spezifizierten Scheibe Sektor lesen \\\\
result = _bios_disk(_DISK_READ, &dinfo);
if ((result & 0xff00) == 0)
{
printf("Scheibe las vom Festplattenlaufwerk: erfolgreich.\n");
/// 512 Bytes MBR zur Akte schreiben \\\\
while(count<512)
{
fprintf(fp,"%c",dbuf[count] & 0xff );
count++;
}
fclose(fp);
}
else
printf("Kann nicht Festplattenlaufwerk lesen, status = 0x%02x\n", result);
return 0;
}
|