Programm, zum des MBR von der Unterstützung wieder herzustellen:
Die Kodierung des Programms ist, wie folgt:
/* Programm, zum der Unterstützung von MBR von der Sicherungsdatei wieder herzustellen */
#include <bios.h>
#include <stdio.h>
int main(void)
{
struct diskinfo_t dinfo;
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;
/* Den Benutzer veranlassen, für MBR Sicherungsdatei Weg einzugeben*/
printf("\nDen Dateinamen und den Weg der Sicherungsdatei von MBR betreten\n ");
gets(filename);
if((fp=fopen(filename,"rb"))==NULL)
{
printf("Konnte Sicherungsdatei öffnen, betätigt keinen Schlüssel, um herauszunehmen…");
getch();
exit(1);
}
/* MBR Daten sollten von den genauen 512 Bytes sein */
while(count<512)
{
fscanf(fp,"%c",&dbuf[count]);
count++;
}
fclose(fp);
printf("Versuchen, zum Festplattenlaufwerk zu schreiben :\n");
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 */
result = _bios_disk(_DISK_WRITE, &dinfo);
if ((result & 0xff00) == 0)
{
printf("Wiederherstellung der Unterstützung von MBR zum Scheibe Sektor: erfolgreich.\n");
}
else
printf("Kann nicht auf Festplattenlaufwerk schreiben,status =
0x%02x\n", result);
return 0;
}
|