Comments on Program coding:
In the program coding given earlier, basically we are proceeding to perform the following tasks step by step:
- dinfo points to the diskinfo_t structure that contains the information of parameters required by the operation performed by the _bios_disk function.
- Since we want to read first sector of the disk therefore the location of the sector will be as follows:
Parameter |
What it means |
dinfo.drive = 0x80 |
It indicates the Physical drive 80H that is the first Hard disk drive. |
dinfo.head = 0 |
It points to head number 0 |
dinfo.track = 0 |
It points to track 0 |
dinfo.sector = 1 |
First sector of the floppy that is sector 1 |
dinfo.sector = 1 |
Number of sectors to consider for read operation = 1 |
dinfo.buffer = dbuf |
Data buffer for the operation |
- Open a file stream of user given file name and path to store the backup of MBR of exact 512 bytes. The file name and path is stored in the character array filename.
- _bios_disk(_DISK_READ, &dinfo) reads the first sector of the hard disk (80H), specified by dinfo.
- The status returned, is stored in result that is used to display the message for successful operation or to display an error message on the screen if any error occurs.
Program to Restore the MBR from Backup:
If the MBR is corrupted any how, the program given next helps to restore the MBR Back.
It should always be kept in mind that the illegal use or use in lack of knowledge may of this program, may destroy your data information in the hard disk and may make the entire data inaccessible. You should be sure of what you are going to do. Otherwise you may more complicate the problem.
|