O programa para indicar parâmetros do carregador do volume de disco grande, leu o DBR dos volumes grandes, que são mais grandes do que 32MB no tamanho

Files Recovery Software
Início Detalhes de Contato Apoio ao Cliente Download Demo Produtos  

 
 

O programa para indicar parâmetros do carregador do volume de disco grande, leu o DBR dos volumes grandes, que são mais grandes do que 32MB no tamanho


/* Programa para indicar parâmetros do carregador do volume de disco grande */

# include "dos.h"
# include "stdio.h"

void main()
{

struct boot
{
unsigned char code[3] ; /* Jump Code */
unsigned char system_id[8] ; /* OEM name & Version */
int bytes_per_sec ; /* Bytes Per Sector */
char sec_per_clus ; /* Sectors Per Cluster*/
unsigned int res_sec ; /* Number of Reserved
Sectors */
char fat_copies ; /* Number of FATs */
unsigned int root_dir_entry ;/* Number of Root
Directory Entry */

unsigned int no_sects ; /* Number of Sectors in
Logical Volume (if
Volume is <= 32MB) */
unsigned char Media_id ; /* Media Descriptor Byte
*/
unsigned int sec_per_fat ; /* Sector Per FAT */
unsigned int sec_per_trk ; /* Sectors Per Track */
unsigned int no_sides ; /* Number of Heads */
unsigned long no_sp_res_sect ; /* Number of Hidden
Sectors */
unsigned long long_sec_num ; /* Total Sectors in
Logical Volume
( Size >32MB) */
unsigned long num_sec_per_FAT; /* Sectors Per FAT */
unsigned int binary_flags; /* Binary Flags */
unsigned char version_of_FAT1; /* First Byte of FAT
Version */
unsigned char version_of_FAT2; /* Second Byte of FAT
Version */

unsigned long root_dir_start_cluster;
/* Root Directory
Starting Cluster
Number */
unsigned int sec_num_of_file_sys;
/* Sector Number of
File System
Information Sector
*/

unsigned int sec_num_of_backup_boot_sec;
/* Sector Number of
Backup Boot Sector
*/
unsigned char reserved[12]; /* Reserved */
unsigned char logical_drive_number;
/* Physical Drive
Number of Logical
Volume */
unsigned char unused_byte; /* Unused Byte */
unsigned char hex_extd_boot_signature;
/* Extended Boot
Signature(29H) */
unsigned long binary_volume_ID;/* Binary Volume ID */
unsigned char volume_label[11];/* Volume Label */
unsigned char FAT_name[8]; /* FAT Name */

unsigned char rest_code[420] ; /* Rest 420 Bytes of
The DBR */
unsigned char magic_number[2]; /* Magic Number */
} ;

struct boot b ;
char temp[4] ;
int val, drive,i;

val = biosdisk( 2, 0x80, 1,0,1,1, &b ) ;
/* For First Hard Disk */

if ( val == -1 )
{
printf ( "Disk read Error...bad sector\n" ) ;
exit ( 1 ) ;
}

clrscr ( ) ;
printf ( " Jump Instruction Code = ");
for(i=0;i<=2;i++)
{
printf("%X",b.code[i]);
}
printf("(H)\n ");
printf ( "OEM name and version = %s\n ",
b.system_id ) ;

printf ( "Bytes per sector = %u\n ",
b.bytes_per_sec ) ;

printf ( "Sectors per cluster = %u\n ",
b.sec_per_clus ) ;

printf ( "Reserved sectors = %u\n ",
b.res_sec ) ;

printf ( "FAT copies = %d\n ",
b.fat_copies ) ;

printf ( "Root directory entries = %u\n ",
b.root_dir_entry ) ;

 

printf ( "No. of sectors on disk = %u\n ",
b.no_sects ) ;

printf ( "Media Descriptor Byte = %X(H)\n",
b.Media_id ) ;

printf ( "Sectors per FAT = %u\n ",
b.sec_per_fat ) ;

printf ( "Sectors per track = %u\n ",
b.sec_per_trk ) ;

printf ( "No. of sides = %u\n ",
b.no_sides ) ;

printf ( "No. of reserved (Hidden) sectors= %lu\n ",
b.no_sp_res_sect ) ;

printf ( "========== For Large(>32MB) Disks ========\n");

printf ( "No. of sectors,(if Volume is >32MB) = %lu\n ",
b.long_sec_num) ;

printf ( “Number of Sectors Per FAT = %lu\n “,
b.num_sec_per_FAT );

printf ( "Root Directory Starting Cluster = %lu\n ",
b.root_dir_start_cluster);

printf ( "File System Information Sector = %u\n ",
b.sec_num_of_file_sys);

printf ( "Sector Number of Backup Boot Sector = %u\n ",
b.sec_num_of_backup_boot_sec);

printf ( "Physical Drive Number = %X(H)\n",
b.logical_drive_number);

printf ( "Extended Boot Signature = %X(H)\n",
b.hex_extd_boot_signature);

printf ( "32-Bit Binary Volume ID = ");

Decimal_to_Binary(b.binary_volume_ID,32);

printf ( " (B)\n ");

printf ( "Volume Label = ");
for(i=0;i<=10;i++)
{
printf ( "%c",b.volume_label[i]);
}

printf ( "\n FAT name = ");
for(i=0;i<=7;i++)
{

printf ( "%c",b.FAT_name[i]);
}
printf ( "\n ");

printf ( "Magic Number = %X%X(H)",
b.magic_number[0],b.magic_number[1]);
getch();
}


Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Next page
 
 
Data Recovery livro
 
Capítulo-1 Uma vista geral da recuperação dos dados
Capítulo-2 Introdução de discos duros
Capítulo-3 Aproximação lógica aos discos e ao ósmio
Capítulo-4 Sistemas de número
Capítulo-5 Introdução da programação de C
Capítulo-6 Introdução aos princípios do computador
Capítulo-7 Comandos necessários do DOS
Capítulo-8 Funções e interrupções do Disco-BIOS que seguram com C
Capítulo-9 Segurando discos duros grandes
Capítulo-10 Recuperação dos dados do disco flexível Corrupted
Capítulo-11 Fazendo apoios
Capítulo-12 MBR de leitura e modificando com programação
Capítulo-13 DBR de leitura e modificando com programação
Capítulo-14 Programação para “a recuperação da lima crua”
Capítulo-15 Programação para limpadores dos dados
Capítulo-16 Desenvolvendo mais utilidades para discos
Apêndice Glossário de termos da recuperação dos dados
 
 
Pro Data Doctor

Início

Produtos

Detalhes de Contato

Apoio ao Cliente

Download Demo

Termos e Condições

 
Pro Data Doctor