Pasting the boot image to the first sector of
unreadable floppy
For pasting the boot image from the file to the first sector of the unreadable floppy we have to perform the following three main tasks in our program:
- Read exact 512 bytes information of boot record of fresh floppy from previously saved file.
- Write this information to the first sector of the floppy which is currently unreadable.
- Check for the successful completion of write operation (Most Important).
As the sector of floppy is 512 bytes and it is necessary to paste the exact boot image to the sector. It is most important and necessary step in case of any type of operations applied on floppy to check whether the operation was successful or not.
There may be any initialization problem with the floppy disk during the operation therefore you must initialize the disk by resetting the disk system(using function 00H of INT 13H).
If Even after initialization the recently inserted floppy disk or changed floppy disk causes any reading error you are advised to run the program again, most probably it may work this time.
The following program is to perform these specified tasks. Let us see how it proceeds:
/* Load Boot Image to the unreadable Floppy */
#include <bios.h>
#include <stdio.h>
int main(void)
{
struct diskinfo_t dinfo;
union REGS regs;
int result;
int count=0, i;
char fname[80];
char dbuf[512];
FILE *fp;
clrscr();
gotoxy(5,3);cprintf("Enter The File Name And Path, In Which Boot image of Floppy Is Stored");
gotoxy(5,5);
gets(fname);
fp=fopen(fname,"rb");
if((fp=fopen(fname,"rb"))==NULL)
{
highvideo();
gotoxy(10,10);cprintf("File Could Not Be Opened");
getch();
exit(0);
}
gotoxy(10,9);
cprintf("Attempting to Recover Floppy disk drive :\n");
|