Το πρόγραμμα για να επιδειχθούν οι παράμετροι μποτών του μεγάλου όγκου δίσκων, διάβασε το DBR των μεγάλων όγκων, οι οποίοι είναι μεγαλύτεροι από 32MB στο μέγεθος

Files Recovery Software
Σπίτι Στοιχεία Επικοινωνίας Εξυπηρέτηση Πελατών Κατεβάστε το Demo Προϊόντα  

 
 

Το ακόλουθο πρόγραμμα πρόκειται να διαβάσει το DBR των μεγάλων όγκων, οι οποίοι είναι μεγαλύτεροι από 32MB στο μέγεθος:


/* Πρόγραμμα για να επιδειχθούν οι παράμετροι μποτών του μεγάλου όγκου δίσκων */

# 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 ) ;
/* Για τον πρώτο σκληρό δίσκο */

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 Book
 
Κεφάλαιο 1 Μια επισκόπηση της αποκατάστασης στοιχείων
Κεφάλαιο 2 Εισαγωγή των σκληρών δίσκων
Κεφάλαιο 3 Λογική προσέγγιση στους δίσκους και το OS
Κεφάλαιο 4 Συστήματα αριθμού
Κεφάλαιο 5 Εισαγωγή του προγραμματισμού γ
Κεφάλαιο 6 Εισαγωγή στα βασικά υπολογιστών
Κεφάλαιο 7 Απαραίτητες εντολές DOS
Κεφάλαιο 8 Δίσκος-ζωντανό ον λειτουργεί και διακόπτει το χειρισμό με το γ
Κεφάλαιο 9 Διαχειριζόμενοι μεγάλοι σκληροί δίσκοι
Κεφάλαιο 10 Αποκατάσταση στοιχείων από την αλλοιωμένη δισκέτα
Κεφάλαιο 11 Παραγωγή των στηριγμάτων
Κεφάλαιο 12 Ανάγνωση και τροποποίηση MBR με τον προγραμματισμό
Κεφάλαιο 13 Ανάγνωση και τροποποίηση DBR με τον προγραμματισμό
Κεφάλαιο 14 Προγραμματισμός για την αποκατάσταση "ακατέργαστων αρχείων"
Κεφάλαιο 15 Προγραμματισμός για τις ψήκτρες στοιχείων
Κεφάλαιο 16 Ανάπτυξη περισσότερων χρησιμοτήτων για τους δίσκους
Προσάρτημα Γλωσσάριο όρων αποκατάστασης στοιχείων
 
 
Pro Data Doctor

Σπίτι

Προϊόντα

Στοιχεία Επικοινωνίας

Εξυπηρέτηση Πελατών

Κατεβάστε το Demo

Όροι και Προϋποθέσεις

 
Pro Data Doctor