Wijzig MBR door Te programmeren
Het steekproefprogramma te tonen, hoe wij de waarden van De ingang van de mbr- verdelingslijst kunnen wijzigen is hieronder gegeven. Het programma wijzigt de ingang van de waarden tweede verdeling van Mbr- verdelingslijst.
De codage van het programma is gegeven hieronder:
/*Programma om de waarden van de ingang van de verdelingslijst van MBR te wijzigen*/
# include <bios.h>
/*structuur om de verdelingsingang van verdelingslijst te lezen */
struct partition
{
unsigned char bootable ; /* De actieve Byte van de Verdeling */
unsigned char start_side ; /*Beginnend Hoofd */
unsigned int start_sec_cyl ; /*combinatie van Beginnend sector en cilinderaantal */
unsigned char parttype ; /* De Byte van de Indicator van het systeem van het dossier */
unsigned char end_side ; /* Het einde van Hoofd */
unsigned int end_sec_cyl ; /* combinatie van Beginnend sector en cilinderaantal */
unsigned long part_beg ; /* Het relatieve Aantal van de Sector */
unsigned long plen ; /* De lengte van de verdeling in sectoren */
} ;
/* Structuur om MBR te lezen */
struct part
{
unsigned char master_boot[446] ; /* Ipl (de Aanvankelijke Lader van het Programma)*/
struct partition pt[4] ; /*De lijst van de verdeling*/
int lasttwo ; /* Magisch Aantal */
} ;
struct part p ;
void main()
{
unsigned int t1,t2;
clrscr();
biosdisk ( 2, 0x80, 0, 0, 1, 1, &p ) ;
display(); /* toon de informatie van de verdelingslijst */
getch();
/* Veronderstel dat wij de verdelingsinformatie van tweede verdelingsingang van verdelingslijst van MBR, met deze waarden willen wijzigen */
p.pt[1].bootable = 0x80; /*De actieve Verdeling van de Laars*/
p.pt[1].parttype = 0x7; /*Verdeling NTFS*/
p.pt[1].start_side = 0; /* Beginnend Hoofd = 0*/
p.pt[1].end_side = 31; /* Het einde van Hoofd== 31 */
p.pt[1].part_beg = 808416;/* Relative Sector = 808416
*/
p.pt[1].plen = 405216; /* Totale Sectoren in Verdeling = 405216 */
|