Оценить:
 Рейтинг: 4.5

Восстановление данных на 100%

Год написания книги
2010
<< 1 2 3 4 5 6 7 8 >>
На страницу:
6 из 8
Настройки чтения
Размер шрифта
Высота строк
Поля

• Основной микропроцессор винчестера, который обеспечивает всю обработку и передачу данных между внешним интерфейсом и блоком головок. Внутри него обычно выделяют:

– цифpовой сигнальный пpоцессоp (digital signal processor – DSP), отвечающий за считывание и запись информации внутри винчестера;

– схемы интерфейса, поддерживающие обмен данными через внешний интерфейс, – SATA или IDE.

• Микросхема кэш-памяти.

• Микросхема flash-памяти (Flash-ROM, ПЗУ), хранящая микропрограмму (прошивку) винчестера.

Кроме перечисленных компонентов, на плате присутствуют аналоговые радиодетали: конденсаторы, резисторы, полупроводниковые предохранители. Несмотря на то что часто речь идет о ремонте плат электроники, на практике платы обычно заменяются целиком. Конечно, перепаять резистор или предохранитель легко, но из строя они выходят довольно редко. А необходимые микросхемы, которые выходят из строя гораздо чаще, найти нелегко. Поскольку эти чипы выпускаются под определенные модели или серии приводов, найти их удается в основном только на такой же плате. Кроме того, каждой серии винчестеров обычно присущи свои конкретные дефекты, и сгорают на платах одни и те же детали. Плата от неисправного винчестера вряд ли пригодится. В результате для замены нужна полностью исправная плата.

Плата соединена с гермоблоком одним или двумя разъемами. Нарушение контакта в этих плоских разъемах внешне проявляется как неисправность жесткого диска.

Геометрия и адресация

Внутри диска обычно находится целый пакет пластин, расположенных одна над другой, поэтому дорожки можно представить как цилиндр (Cylinder – C). Поверхность каждой стороны каждой пластины обслуживает отдельная головка (Head – H). Любой диск можно условно разделить на сектора (Sector – S). Таким образом, если представлять, что в одном секторе записан один блок данных, этот блок всегда можно указать сочетанием трех «адресов»: номера цилиндра, номера головки и номера сектора – сокращенно CHS (рис. 2.3). Чтобы прочитать или записать определенный блок данных, достаточно сообщить контроллеру жесткого диска эти три значения – головки перейдут на нужный цилиндр, а когда под ними окажется необходимый сектор, определенная головка прочитает или запишет информацию. Чтобы сообщить BIOS размер жесткого диска и то, как к нему следует обращаться, достаточно привести всего три значения: число цилиндров, головок и секторов на этом диске. Размер каждого сектора всегда неизменен – 512 байтов. Такая адресация называется адресацией CHS. Она является наиболее старой, стандартной и универсальной. Ее называют геометрией жесткого диска.

Рис. 2.3. Цилиндры, головки и сектора

В начале использования жестких дисков их емкость ограничивалась десятками мегабайтов, поэтому речь шла действительно о настоящих физических дорожках (цилиндрах), головках и секторах. Со временем плотность записи на каждой пластине возросла во много раз, и контроллеры жестких дисков научилась пересчитывать эти параметры и представлять BIOS совершенно условную конфигурацию диска, где, например, головок в четыре раза больше, а цилиндров в четыре раза меньше, чем имеется в действительности. Произведение всех трех величин всегда остается таким, каким оно является в действительности. Причиной, которая заставила отойти от реальной, физической геометрии, стала сама история развития компьютерной техники. То производители винчестеров опережали в своих разработках создателей контроллеров IDE и BIOS материнских плат, то наоборот. Поиски совместимости и компромиссов привели к тому, что сегодня отображаемое число цилиндров, головок и секторов винчестера никак не соответствует настоящему устройству гермоблока. У современных дисков даже число секторов может быть переменной величиной. Дорожки, расположенные ближе к центру диска, разбиты на меньшее, а находящиеся на периферии – на большее количество секторов.

Адресация ECHS (Extended CHS), или Large, – дальнейшее развитие адресации CHS. Иначе ее называют «фиктивной адресацией» – число цилиндров, головок и секторов назначается изготовителем винчестера совершенно произвольно и записывается в CMOS контроллера.

Наряду с трехмерной адресацией CHS была придумана адресация логических блоков LBA – Logical Block Adress. С одной стороны, при этом типе адресации данные считываются логическими блоками, состоящими из нескольких секторов. Соответственно, число цилиндров делается меньше, а головок – больше, чем в действительности. С другой стороны, эта адресация линейная: каждому логическому блоку присваивается порядковый номер LBA. За нулевой принимается блок, который начинается с первого сектора нулевой головки нулевого цилиндра. Далее номера блоков определяются по формуле:

LBA = (CYL ? HDS + HD) ? SPT + SEC – 1,

где CYL, HD, SEC – номера цилиндра, головки и сектора в пространстве CHS; HDS – количество головок; SPT – количество секторов на дорожке.

Примечание

Блоки, цилиндры и дорожки нумеруются, начиная с нуля, а сектора – с первого номера. Такая нумерация сложилась исторически.

Современные винчестеры, как правило, поддерживают все три типа адресации, а выбор используемого типа остается за BIOS материнской платы. Если в настройках BIOS выбран один из типов адресации, то винчестер за счет внутренней обработки и преобразования данных представляется контроллеру именно таким образом. Если взять три возможные конфигурации одного и того же диска, можно убедиться, что произведение CxHxS остается во всех трех случаях практически неизменным, а умноженное на размер сектора (512 байтов), оно составляет как раз емкость винчестера.

Нужно помнить, что ни число головок, ни количество физических секторов на «блинах» внутри гермоблока от выбора той или иной адресации не меняется. Электроника винчестера (его микропрограмма) «создает» несуществующие головки и соответствующим образом «подставляет» под них сектора и цилиндры. Этот процесс называют трансляцией адресов, а таблица трансляции обычно хранится во flash-памяти на плате электроники, но может быть записана и на скрытых служебных дорожках.

Если предложить контроллеру автоматически выбрать тип адресации, то он выберет CHS – универсальную адресацию. Если, как было сказано ранее, позволить BIOS выбирать настройки автоматически (auto), то адресация жестких дисков, как правило, происходит именно в CHS.

Организация дорожек и секторов

В действительности данные на пластинах винчестера организованы довольно сложно. Об истинном расположении данных на пластинах винчестера «знают» только его контроллер и микропрограмма. Пока все работает, через интерфейс винчестер видится как стандартная матрица блоков или секторов. Если же выходят из строя головки, разрушаются некоторые области пластин и т. д. Поэтому прочитать данные можно лишь штатными средствами такого жесткого диска. Сами специалисты фирм-изготовителей признают, что все рассуждения на тему сканирования извлеченных из корпуса пластин, считывания остаточной намагниченности оказываются бесполезными. Даже теория хранения данных на винчестере оставляет место для неопределенности.

Достаточно жестко прописана на поверхности пластин лишь сервоинформация. Это магнитные метки и коды, которые указывают положение дорожек и секторов. Благодаря им головки позиционируются относительно пластин и находят нужные дорожки и сектора. Сервометки записываются на почти готовый винчестер в процессе изготовления на специальном оборудовании, после этого их невозможно ни стереть, ни изменить.

Полный объем каждого сектора составляет 571 байт. Из них 512 байтов предназначены для записи данных (data), а 95 байтов содержат служебные сведения о внутреннем номере сектора, контрольные суммы и т. д. Эта информация записывается при низкоуровневом форматировании диска еще на заводе, и доступ к ней через интерфейс предельно ограничен.

При изготовлении пластин на них заранее допускается наличие небольшого количества дефектных участков, иначе рентабельность производства резко снизится. Разумеется, характер и распространенность допустимых дефектов строго регламентированы. Кроме того, пластины с размеченными на них дорожками и секторами обладают большей емкостью, чем указано в паспорте диска. Этот запасной объем частично используется для хранения служебной информации, а частично для замещения дефектных и поврежденных секторов. После сборки поверхность дисков еще раз проверяется, и в ПЗУ на плате электроники записывается карта расположения сбойных секторов, или таблица переназначения.

Процесс переназначения (remapping) сводится к тому, что, когда операционная система выдает запрос на информацию, находящуюся по адресу сбойного сектора, контроллер диска незаметно переадресовывает запрос к одному из запасных секторов. Контроллер постоянно обновляет карту дефектов, занося в нее каждый новый обнаруженный сбойный сектор. В современных винчестерах таблица переназначения может частично храниться во flash-памяти, а частично записываться на служебные дорожки самого диска. Фактически при обращении к диску контроллер пользуется таблицей, состоящей из двух частей. Первая – трансляция адресов, вторая – оперативные уточнения к ней, переназначение. Все это происходит на аппаратном уровне и никак не связано с форматированием, разделами или файловой системой. Дефектные сектора совершенно не заметны через интерфейс.

Практический вывод из всего сказанного касается случаев ремонта и замены электроники жесткого диска. По общему правилу заменять плату можно лишь на плату от винчестера той же модели и серии (Model, ID и Part No). Все сведения о формате хранятся в гермоблоке, и после замены платы они должны успешно читаться. После замены платы с установленным на ней ПЗУ может быть перестроена или дополнена таблица переназначения секторов.

Форматирование жестких дисков

Про низкоуровневое форматирование говорилось ранее. Для современного винчестера это этап его производства, и сектора на нем размечены окончательно. То, что называют сейчас форматированием низкого уровня, сводится к простой записи нулей во все сектора, то есть к полному стиранию информации в области данных. Поэтому все, что делается с жестким диском после выхода его с завода, относится к форматированию высокого уровня. Оно включает в себя создание таблицы разделов и файловых систем.

Главная загрузочная запись и таблица разделов

В первом секторе на любом жестком диске находятся код простой программы (загрузчика) и последовательность информационных полей (таблица разделов). Вместе программа и поля называются главной загрузочной записью (Master Boot Record – MBR).

Главная загрузочная запись создается на новом диске программой FDISK. Управление дисками Windows при создании раздела производит запись в MBR. Все программы наподобие Partition Magic или Acronis Disk Director тоже создают и редактируют главную загрузочную запись.

Просмотреть содержимое секторов винчестера, в том числе первого, на котором находится главная загрузочная запись, можно многими HEX-редакторами. В редакторе Hexplorer есть отдельная команда меню Disk (Диск). При ее вызове появляется окно, где следует указать номер начального сектора и число секторов, которое программа должна прочитать. Существуют и специальные дисковые редакторы, например DiskEdit из пакета Norton Utilities или DiskExplorer for NTFS (http://www.runtime.org (http://www.runtime.org/)). Основное отличие дисковых редакторов от обычных бинарных редакторов – наличие широкого набора шаблонов просмотра данных (можно сразу интерпретировать их не только как текст, но и как загрузочный сектор либо один из элементов файловой системы) и защиты от непреднамеренной записи на диск.

MBR занимает ровно 512 байтов – один сектор. Структура этой записи представлена в табл. 2.1.

Таблица 2.1. Структура MBR

Четыре 16-байтных блока, каждый из которых описывает один раздел, образуют таблицу разделов – Partition Table. Максимальное количество разделов, которое может быть описано в MBR, – четыре. Каждый блок состоит из 10 полей (табл. 2.2).

Таблица 2.2. Поля таблицы разделов

Флаг активности указывает на то, что раздел активен. Из всех разделов на диске активным может быть лишь один. Код типа раздела – однобайтовый идентификатор. Если его значение 00h, то считается, что этого раздела не существует и его содержимое игнорируется. Любое ненулевое значение означает, что в указанном пространстве находится раздел определенного типа. Так, например, идентификатор 06h указывает на раздел, отформатированный в FAT16, 0Bh или 0Ch – на раздел FAT32, а 07h – на раздел NTFS.

Если на диске нужно создать больше четырех разделов, то следует использовать специальный тип раздела с кодом 05h – расширенный раздел (Extended Partition).

Расширенный раздел отличается от всех остальных типов. Он описывает не сам раздел, а область пространства накопителя, в которой описаны разделы. В том секторе, который прописан в MBR как сектор начала расширенного раздела, фактически содержится еще одна загрузочная запись – Extended Boot Record (EBR) (табл. 2.3). Кода загрузчика в ней нет, есть только таблица разделов и сигнатура.

Таблица 2.3. Структура EBR

Указатель на раздел описывает обычный раздел (Partition), как показано в табл. 2.2. Если обычный раздел занимает не все пространство, то в таблице разделов появляется второй элемент, который вновь описывает оставшееся пространство как Extended Partition, то есть указатель на следующий EBR. В секторе, на который ссылается эта запись, точно так же описывается один раздел, и, если осталось место, делается очередная запись об Extended Partition. Так продолжается до тех пор, пока пространство не будет разделено. Фактически все записи о расширенных разделах являются цепью (Extended Partition Chain), в которой от дискового пространства отрезаются кусочки, пока место не закончится. Ошибка в любом элементе этой цепи приведет к ее обрыву. Все разделы, записи о которых лежат после разрыва цепи, операционная система найти не сможет, а занимаемое этими расширенными разделами пространство она будет считать незанятым.

Файловые системы

Таблица разделов указывает на первые сектора каждого раздела. Для размещения файлов в разделе его следует отформатировать, то есть создать внутри раздела файловую систему. Основная запись файловой системы обычно начинается в первом секторе раздела. Структура записей файловой системы зависит от ее типа. Чаще всего встречаются файловые системы NTFS и FAT.

Файловая система NTFS сейчас используется на дисках 90 % домашних и офисных компьютеров. В основе ее лежит главная файловая таблица (Master File Table – MFT). Это база данных, или таблица, строки которой соответствуют файлам тома, а столбцы — атрибутам файлов. Файловая система NTFS образована девятью системными файлами, которые скрыты от просмотра обычными средствами. Эти файлы содержат таблицы занимаемых файлами кластеров и атрибутов файлов, список шагов транзакций (проведенных операций с файлами), корневой каталог и т. д. В секторе начальной загрузки указано положение сегментов данных MFT и зеркального файла MFT. В середине диска расположен дубликат сектора начальной загрузки.

Главная файловая таблица MFT – специальный и довольно большой файл. Первые 16 строк таблицы содержат служебную информацию о самой таблице.

• В начале файла MFT находится первая (основная) таблица файлов.

• За основной таблицей файлов следует зеркальная запись (Mirror record), идентичная первой записи MFT. Если первая таблица MFT разрушена, то данные о размещении файлов берутся из зеркального файла MFT.

• Третья запись MFT ссылается на файл регистрации (log file).

Начиная с семнадцатой, записи главной файловой таблицы используются собственно файлами и папками, которые также рассматриваются как файлы NTFS. Благодаря дублированию записей MFT, а также наличию файла транзакций, файловая система NTFS считается отказоустойчивой. Восстановление данных облегчается теми же механизмами.
<< 1 2 3 4 5 6 7 8 >>
На страницу:
6 из 8