Функция для изменения параметров DBR

Files Recovery Software
Дом Контактная информация Служба поддержки Скачать демо - Продукция  

 
 

/*Функция для изменения параметров DBR */

Recover_with_values()
{
int val =0;

/* Jump Code of 3 Bytes For Floppy */
b.code[0] = 0xEB;
b.code[1]= 0x3E;
b.code[2]= 0x90 ;

/* System Id of 8 Bytes */
strcpy(b.system_id, "+05PSIHC");

/* Bytes Per Sector = 512 */
b.bytes_per_sec = 512;

/* Sector per Cluster for 1.44M 3.5" Floppy = 1 */
b.sec_per_clus = 1;

/* Number of Reserved Sectors = 1 */
b.res_sec =1;

/* Number of FAT Copies = 2 */
b.fat_copies =2;
/* Number of Root Directory Entry = 224 */
b.root_dir_entry =224;

/* Number of Sectors on Disk = 2880 */
b.no_sects =2880;

/* Media Descriptor Byte For Floppy = F0 (H) */
b.format_id =0xF0;

/* Sectors Per FAT = 9 */
b.sec_per_fat =9;

/* Sectors Per Track = 18 */
b.sec_per_trk =18;

/* Number of Sides = 2 */
b.no_sides =2;

/* Number of Special Reserved Sectors (or Hidden
Sectors) = 0 */
b.no_sp_res_sect =0;

/* Use For Floppy Disk*/
val = abswrite ( 0, 1, 0, &b ) ;

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

return 0;
}

display_info()
{
printf ( "\n Jump Code (Hex) = %X%X%X (H)\n",
b.code[0],b.code[1],b.code[2]);
printf ( " System ID = %s\n", b.system_id ) ;
printf ( " Bytes per sector = %d\n", b.bytes_per_sec ) ;

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

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

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

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

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

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

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

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

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

printf ( " No. of reserved sectors = %d\n", b.no_sp_res_sect ) ;
return 0;
}

Замечания по кодированию :

Структура загрузки используется для доступа DBR для чтения и записи параметров диска. Display_info функция (), выводит различные параметры дисков, чтение DBR. Recover_with_values функция () используется для изменения и восстановления параметров по DBR Надежность.

Значений используется функция Recover_with_values (), предназначены для параметров 1,44, 3 ½ дюйма дискете в DBR. Описание этих ценностей были приведены в таблице с учетом следующего :

ValueСтоимости

DescriptionОписание

b.code[0] = 0xEB ;b.code [0] = 0xEB;
b.code[1] = 0x3E ;b.code [1] = 0x3E;
b.code[2] = 0x90 ;b.code [2] = 0x90;

Jump Code of 3 Bytes For specified Floppy, has been given EB 3E 90 (H)Перейти кодексом 3 Bytes Для указанных Надежность, прозвучала 90 EB 3E (H)

strcpy(b.system_id," +05PSIHC ");strcpy (b.system_id ", PSIHC +05");

System Id of 8 Bytes.Системные Id 8 байтов. It is calculated with current date and time of the system, however almost anything works.Она рассчитывается с текущей датой и времени, пусть даже почти все работает.

b.bytes_per_sec = 512 ;b.bytes_per_sec = 512;

Bytes Per Sector = 512Байтов на сектор = 512

b.sec_per_clus = 1b.sec_per_clus = 1;

Number of Sectors per Cluster for 1.44M 3.5" Floppy is 1Число Секторов на Кластер для 1.44M 3,5 "Дисковод гибких дисков - 1

b.res_sec = 1 ;b.res_sec = 1;

Number of Reserved Sectors = 1Количество Зарезервировано секторов = 1

b.fat_copies  =  2 ;b.fat_copies = 2;

Number of FAT Copies = 2Количество Копии FAT = 2

b.root_dir_entry = 224 ;b.root_dir_entry = 224;

Number of Root Directory Entries for the specified floppy disk = 224Количество корневых записей в каталоге для указанной дискеты = 224

b.no_sects  = 2880 ;b.no_sects = 2880;

Number of Sectors on Disk = 2880Количество секторов на диске = 2880

b.format_id = 0xF0 ;b.format_id = 0xF0;

Media Descriptor Byte For the specified Floppy = F0 (H)СМИ Эо Байт Для указанного дисковода гибких = F0 (H)

b.sec_per_fat = 9 ;b.sec_per_fat = 9;

Number of Sectors Per FAT = 9Количество секторов на FAT = 9

b.sec_per_trk = 18 ;b.sec_per_trk = 18;

Number of Sectors Per Track = 18Количество секторов на пути = 18

b.no_sides =  2 ;b.no_sides = 2;

Number of Sides = 2Количество сторон 2 =

b.no_sp_res_sect = 0 ;b.no_sp_res_sect = 0;

Number of Special Reserved Sectors (or Hidden Sectors) = 0Количество специальных защищены Sectors (секторы или скрытых) = 0

 


Previous page

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

 


 

Chapter 14

 
 

page 1 | 2 | 3 | 4 | 5 | 6

Next page

 

 
 
Для восстановления данных книги
 
Глава 1 Обзор восстановления данных
Глава 2 Введение жестких дисков
Глава 3 Логический подход к дисков и ОС
Глава 4 Количество систем
Глава 5 Введение в программирование
Глава 6 Введение в информатику
Глава 7 Необходимые команды DOS
Глава 8 Диск - функции BIOS и прерывания контакта с C
Глава 9 Обработка больших жестких дисков
Глава 10 Восстановление данных с поврежденных дискет
Глава 11 Создание резервных копий
Глава 12 Чтение и изменение MBR с Programming
Глава 13 Чтение и Изменение DBR со Программирование
Глава 14 Программирование на "Сырье Файл" подъема
Глава 15 Программирование на данные Стеклоочистители
Глава 16 Разработка более Утилиты для дисков
Добавление Глоссарий терминов по восстановлению данных
 
 
Pro Data Doctor

Дом

Продукция

Контактная информация

Служба поддержки

Скачать демо -

Положения и условия

 
Pro Data Doctor