Писание программы для того чтобы сделать подпорку MBR:
/* Программа для того чтобы сделать подпорку MBR */
#include <bios.h>
#include <stdio.h>
int main(void)
{
struct diskinfo_t dinfo; /* Структура для того чтобы держать информацию параметров диска */
int result;
int count=0;
char filename[80]; /* Хранит имя архива, котор дал Потребитель */
static char dbuf[512]; /* Буфер данных 512 байт */
FILE *fp;
dinfo.drive = 0x80; /* номер привода для первого трудного диска */
dinfo.head = 0; /* главный номер диска */
dinfo.track = 0; /* номер следа*/
dinfo.sector = 1; /* номер участка */
dinfo.nsectors = 1; /* отсчет участка*/
dinfo.buffer = dbuf; /* буфер данных */
printf("\n Войдите filename и курс для того чтобы хранить подпорка MBR \n ");
gets(filename);
// Раскройте архив для того чтобы хранить подпорка MBR \\
if((fp=fopen(filename,"wb"))==NULL)
{
printf("Не был в состоянии создать архив, не отожмите никакой ключа для того чтобы выйти...");
getch();
exit(0);
}
printf("Пытать прочитать от дисковода жесткого диска:\n");
//// Прочитайте определенный участок диска\\\\
result = _bios_disk(_DISK_READ, &dinfo);
if ((result & 0xff00) == 0)
{
printf("Диск прочитал от дисковода жесткого диска: успешно.\n");
/// Напишите 512 байта MBR к архиву \\\\
while(count<512)
{
fprintf(fp,"%c",dbuf[count] & 0xff );
count++;
}
fclose(fp);
}
else
printf("Не смогите прочитать дисковода жесткого диска, состояние = 0x%02x\n", result);
return 0;
}
|