Тарун Тьяги написал эту книгу о профессиональном программировании восстановления данных под названием «Восстановление данных с помощью и без программирования» . Все образовательное программное обеспечение и исходные коды, представленные на этом сайте, были разработаны автором Таруном Тьяги .
            Тарун Тьяги — специалист по восстановлению данных и разработчик программного обеспечения для восстановления данных.
            Обучение восстановлению данных Автор: Тарун Тьяги
           
          
            Оглавление
            ПРЕДИСЛОВИЕ
            
            
              - Введение в восстановление данных
- Понимание потери данных
                
                  - Сбой системы
                    
                      - Человеческая ошибка
- Повреждение программного обеспечения
- Неисправность программного обеспечения
- Ошибка оборудования
- Вирусный сбой
- Саботаж
- Стихийное бедствие
 
- Другие типы потери данных
                    
                      - Потеря одного или нескольких разделов
- Ошибка чтения дискеты
- Удаление важных данных
- Потеря пароля
 
 
- Типы и области восстановления данных
                
                  - Анализ компьютера перед восстановлением данных
- Приемлемый период восстановления
- Понимание различных затрат
                    
                      - Расходы на простой
- Расходы на восстановление данных
 
- Описание пользователя
- Определение требований
- Постановка целей
 
- Некоторые советы перед началом процедуры устранения неполадок на диске или восстановления данных
                
                  - Несколько советов по защите ваших данных
- Делайте резервные копии
                    
                      - Выполняйте сканирование поверхности ежемесячно.
- Дефрагментация данных еженедельно
- Используйте хорошую антивирусную программу
- Возьмите за привычку защищать дискету от записи.
- Не используйте пиратские игры и программное обеспечение
 
 
Глава 2. Введение в жесткие диски
            
            
              - Введение
- Компоненты жесткого диска
                
                  - Дисковые пластины и носители
                    
                      - Головки чтения/записи
                        
                          - Удар головой
- Парковка головы
 
- Головные слайдеры, рычаги и привод
                        
                          - Головные слайдеры
- Голова Руки
- Привод головки
 
- Шпиндельный двигатель
- Разъемы и перемычки
- Логическая плата
- Кэш и схема кэша
 
 
- Низкоуровневая геометрия жесткого диска
- Форматирование
                
                  - Низкоуровневое форматирование
                    
                      - Разделение
- Форматирование высокого уровня
 
 
- Форматированная и неформатированная емкость хранилища
Глава 3 Логический подход к дискам и ОС
            
            
              - БИОС
                
                  - Интерфейс INT 13H и расширения INT 13H
                    
                      - Расширения Int13H
- Лимит в 2,1 ГБ
- Лимит в 33,8 ГБ
- Спецификация ATA для дисков IDE — ограничение в 137 ГБ
 
- Поддержка двух- и четырехдисковой BIOS IDE
 
- Ограничения в файловых системах
                
              
- Кластер
- Размер кластера
- Логическая структура жесткого диска
- Основная загрузочная запись (MBR) или основная таблица разделов (MPT)
- Формат основной загрузочной записи
                
                  - Формат записи таблицы разделов
                    
                      - Байт индикатора типа загрузки
- Начальный номер сектора головки блока цилиндров раздела
- Байт индикатора файловой системы
- Конечный номер сектора головки цилиндра раздела
- Относительный номер сектора начала раздела
- Количество секторов раздела
 
- Загрузочная запись DOS (DBR) / Загрузочный сектор DOS
                    
                      - Количество корневых каталогов
- Общее количество секторов
- Медиа-дескриптор
- Количество секторов FAT
- Секторов на дорожку (или секторов на головку)
- Скрытые Сектора
 
- Таблица размещения файлов (FAT)
                    
                      - Как Windows обнаруживает неправильное выключение
 
- Корневой каталог
- Длинное имя файла (LFN)
- Область данных (или область файлов)
- Фрагментированные и дефрагментированные данные
- Выявление причины повреждения данных
                    
                      - Загрузите систему с загрузочной дискеты
                        
                          - Проверьте информацию MBR
- Если MBR в порядке, проверьте DBR
 
 
 
Глава 4 Системы счисления
            
            
              - Введение
- Десятичная система счисления
- Двоичная система счисления
                
                  - Преобразование двоичных чисел в десятичные
- Преобразование десятичных чисел в двоичные
- Форматы двоичных чисел
                    
                      - Бит
- Клев
- Байт
- Слово
- Двойное слово
 
 
- Восьмеричная система счисления
                
                  - Преобразование двоичного числа в восьмеричное
- Преобразование восьмеричного числа в двоичное
- Преобразование восьмеричной системы счисления в десятичную
- Преобразование десятичных чисел в восьмеричные
 
- Шестнадцатеричная система счисления
                
                  - Преобразование двоичного кода в шестнадцатеричный
- Преобразование шестнадцатеричного числа в двоичное
- Преобразование шестнадцатеричного числа в десятичное
- Преобразование десятичных чисел в шестнадцатеричные
 
- ASCII-код
- Некоторые важные термины числовой системы, часто используемые для представления данных и их хранения
                
                  - Байт
- Килобайт
- Мегабайт
- Гигабайт
- Терабайт
- Петабайт
- Эксабайт
- Зеттабайт
- Yottabyte
 
- Общие условия хранения данных
Глава 5 Введение в программирование на языке C
            
            
              - Введение
- Зачем использовать C в программировании восстановления данных
- Позвольте мне предположить, что вы ничего не знаете в C.
- Давайте начнем
- Ключевые слова
- Компиляция программы
- Печать цифр
- Использование переменных
- Типы числовых переменных
                
                  - Инициализация числовых переменных
 
- Операторы
                
                  - Оператор присваивания
- Математические операторы
- Реляционные операторы
- Логические операторы
- Оператор запятая
 
- Еще кое-что о printf() и Scanf()
- Контрольные заявления
                
                  - Оператор if else
- Заявление о переключении
- Заявление о перерыве
- Продолжение заявления
 
- Петли
                
                  - Цикл while
- Цикл do while
- Цикл for
- Заявление goto
 
- Указатели
- Множество
                
                  - Массивы символов
- Доступ к элементам
- Инициализация элементов массива
- Цикл по массиву
- Многомерные массивы
 
- Струны
                
                  - Некоторые общие строковые функции
- Функция strlen
- Функция strcpy
- Функция strcmp
- Функция strcat
- Функция strtok
 
- Функции
                
                  - Функции передачи по значению
- Вызов по ссылке
- Разыменование
 
- Распределение памяти в C
                
                  - Перераспределение памяти
- Освобождение памяти
 
- Структуры
                
                  - Структуры с указателями-членами в C
- Инициализаторы структур в C
- Передача структур в функции в C
 
- Союз
                
                  - Ключевое слово союза
- Практическое использование объединения при восстановлении данных
 
- Обработка файлов на языке C
                
                  - Режимы работы с файлами функции fopen
- Закрытие файлов
- Чтение файлов
- Запись в файлы
 
- Аргументы командной строки с C
- Побитовые манипуляторы
                
                  - Побитовое И
- Побитовое ИЛИ
- Побитовое исключающее ИЛИ
- Побитовый комплимент
- Побитовый сдвиг влево
- Побитовый сдвиг вправо
 
- Функции преобразования двоично-десятичных чисел и преобразования
- Функция преобразования десятичных чисел в двоичные
- Функция для преобразования двоичного числа в десятичное
- Отладка и тестирование
                
                  - Синтаксические ошибки
- Логические ошибки
 
- Тестирование
                
                  - Некоторые принципы тестирования
- Тестирование методом белого ящика
- Тестирование черного ящика
- Классы эквивалентности
- Анализ граничных значений
- Разработка плана испытаний
 
Глава 6 Введение в основы работы с компьютером
            
            
              - Введение
- Основные понятия
                
                  - Центральный процессор
                    
                      - Центральная память
- Регистры ЦП
- Структура ассемблера
- Преимущества ассемблера
- Позволь мне сдержать свое обещание.
- Сохранение и загрузка программ
- Сегменты
- Перемещение данных
 
- Перерывы
                    
                      - Внутренние аппаратные сбои
- Внешние аппаратные прерывания
- Сбои в работе программного обеспечения
 
 
- Int 20H, завершить процесс
- Int 21H, системные функции MS-DOS
Глава 7. Необходимые команды DOS
            
            
              - Введение
- Краткая история
                
                  - Операционная система Microsoft Disk
- (MS-DOS) Версия 1.0
- MS-DOS версии 2.0
- MS-DOS версии 3.0–5.0
- MS-DOS версии 6.0
- MS-DOS версии 7.0 (Windows 95)
 
- Необходимые команды
                
                  - АТРИБ
- CD (или CHDIR)
- ЧКДСК
- ЦЛС
- КОМАНДА
- КОПИЯ
- ОТЛАЖИВАТЬ
- COM-расширение
- EXE-расширение
- DEL (или СТИРАТЬ)
- ДЕЛЬТРИ
- ДОСКЕЙ
- ДИР
- ДИСККОПИРОВАТЬ
- РЕДАКТИРОВАТЬ
- ВЫХОД
- ФК
- ФДИСК
- НАХОДИТЬ
- ФОРМАТ
- ЭТИКЕТКА
- MD (или MKDIR)
- БОЛЕЕ
- ДВИГАТЬСЯ
- РД (или РМДИР)
- СКАНДИСК
- ТИП
- XКОПИРОВАТЬ
 
- Спецификации сочетаний клавиш, подстановочные знаки и перенаправление
                
                  - Ярлыки
- Универсальные символы
- Перенаправление
                    
                  
 
Глава 8 Функции Disk-BIOS и обработка прерываний с помощью C
            
            
              - Введение
- Функции biosdisk и _bios_disk
- Структура diskinfo_t
- Функции absread и abswrite
- Обработка прерываний с помощью C
                
                  - Структура SREGS
                    
                      - РЕГС Союз
- Структуры BYTEREGS и WORDREGS
- Функции int86 и int86x
- Функция segread
- Функции intdos и intdosx
 
 
- Как узнать номер физического жесткого диска
- Прерывание 13H (INT 13H), функции драйвера диска ROM BIOS
Глава 9. Работа с большими жесткими дисками
            
            
              - Прежде всего, позвольте мне рассказать вам историю.
- Расширения INT 13H
- Как использовать расширения INT 13H в программировании на языке C
                
                  - Комментарии по кодированию программы
 
Глава 10 Восстановление данных с поврежденной дискеты
            
            
              - Почему дискета не читается
                
                  - Как восстановиться
- Метод – 1
- Сохраните загрузочный образ любой новой дискеты.
                    
                      - Создание образа DOS Boot Record хорошей дискеты
                        
                          - Комментарии к программному кодированию
 
- Вставка загрузочного образа в первый сектор нечитаемой дискеты
                        
                          - Комментарии к программному кодированию
 
- Давайте сделаем это с помощью одной программы
 
- Комментарии к программному кодированию
- Сохранение загрузочного образа в шестнадцатеричных символах для использования в нашей предыдущей программе
- Комментарии по кодированию программы
- Метод – 2
                    
                      - Что делать, если метод 1 не работает
- Копировать все данные с поверхности носителя в один файл
                        
                          - Комментарии к программному кодированию
 
- Размышления над решением проблемы ошибки чтения сектора(ов)
                        
                          - Комментарии к программному кодированию
 
- Вставьте данные из файла на физическую поверхность новой дискеты.
                        
                          - Комментарии к программному кодированию
 
- Думаем о логическом восстановлении удаленных или утерянных данных
                        
                          - Комментарии по кодированию
- Комментарии по кодированию
- Комментарии по кодированию
 
 
 
Глава 11. Создание резервных копий
            
            
              - Зачем нужны резервные копии
- Когда и что следует резервировать
- Резервное копирование MBR (главной загрузочной записи) и ее использование
                
                  - Зачем делать резервную копию MBR
- Что можно восстановить с помощью резервной копии MBR
- Написание программы для создания резервной копии MBR
                    
                      - Комментарии к программному кодированию
 
- Программа для восстановления MBR из резервной копии
                    
                      - Комментарии к программному кодированию
 
 
- Резервное копирование DBR (загрузочной записи DOS) и ее использование
                
                  - Зачем делать резервную копию DBR
- Что можно восстановить с помощью резервной копии DBR?
- Программы для создания и восстановления резервных копий DBR
 
- Полный образ диска
                
                  - Написание программы для полного создания образа диска
                    
                      - Комментарии по кодированию
- Комментарии по кодированию
 
 
Глава 12 Чтение и изменение MBR с помощью программирования
            
            
              - Основная загрузочная запись (MBR) или основная таблица разделов (MPT)
- Формат основной загрузочной записи
- Формат записи таблицы разделов
- Написание программы для чтения таблицы разделов MBR
                
                  - Комментарии по кодированию
 
- Программа для поиска всех логических разделов и их информации
                
                  - Комментарии по кодированию
- Комментарии по кодированию
 
- Изменение MBR с помощью программирования
                
                  - Комментарии по кодированию
 
Глава 13 Чтение и изменение DBR с помощью программирования
            
            
              - Загрузочная запись DOS (DBR) / Загрузочный сектор DOS
- Чтение DBR дискет и малых томов
- Чтение DBR больших объемов
- Как восстановить DBR с помощью программирования
                
                  - Комментарии по кодированию
 
Глава 14 Программирование для восстановления «сырых файлов»
            
            
              - Восстановление необработанных файлов
- Верхние и нижние колонтитулы некоторых важных типов файлов
- Написание программы для восстановления необработанных файлов
                
                  - Комментарии по кодированию
 
- INT 10H, функция 01H - Установить тип курсора
Глава 15. Программирование для очистки данных
            
            
              - Введение
- Когда данные становятся полностью невосстановимыми
- Почему удаление данных так важно
- Написание программы для неразрушающего стирания данных
                
                  - Комментарии по логике и кодированию программы
 
- Написание программы для Destructive Data Wiper
                
                  - Комментарии по кодированию
 
- Очистка области данных определенного файла
                
                  - Комментарии по логике и кодированию программы
 
Глава 16 Разработка дополнительных утилит для дисков
            
            
              - Введение
- Скрытие разделов
- Как раздел становится скрытым
                
                  - Написание программы для скрытия раздела
- Комментарии по кодированию
- Написание программы для отображения раздела
- Комментарии к программе
- Написание программы для удаления раздела
- Комментарии к программе
 
- Форматирование дискеты «Плохая дорожка 0»
                
                  - Написание инструмента редактирования диска
 
ПРИЛОЖЕНИЕ