Как определить сектора, которые занимают дорожку?

Я заинтересован в том, чтобы найти "последние 512 байтов первой дорожки логического диска", чтобы определить, зашифрован ли диск с помощью truecrypt в соответствии с предоставленной им спецификацией. Я буду выполнять эту проверку только тогда, когда диск будет расшифрован, так как я буду выполнять его как аудит удаленно для наших систем.

Любая помощь приветствуется.

Спасибо,

Matt

2 ответа2

2

Современные жесткие диски имеют дорожки различной длины (дорожки ближе к центру имеют меньше секторов), и, что более важно, физическая геометрия несъемного диска (количество головок, дорожки и т.д.) Не подвергается воздействию внешнего мира, каким он был в 1980-х гг.

Руководство TrueCrypt относится к "дорожке логического диска" или "логической геометрии". Это совершенно другая вещь. Как я уже говорил, все современные жесткие диски и твердотельные накопители открывают для внешнего мира только сектора (без дорожек или чего-либо еще). Секторы адресуются линейно: # 0, # 1, # 2, ... Это называется LBA (логическая блочная адресация).

Но было время, когда стандарт LBA был новым и молодым (середина 1990-х годов), и люди привыкли получать доступ к своим жестким дискам через старый интерфейс (CHS), изобретенный IBM для первых компьютеров IBM в 1980 году. CHS позволяет читать / записывать сектора на диске, указав Cylider, Head и Sector. Из-за ограничений IBM PC BIOS, цилиндр должен быть в диапазоне 0..1023, напор должен быть в диапазоне 0..255, а сектор должен быть в диапазоне 1..63 (даже сегодня). Секторы сгруппированы в дорожки (каждая дорожка обозначена буквами C и H). Все это не имеет ничего общего с физической геометрией диска, это просто альтернативный способ доступа к диску LBA, поэтому он называется "логическая геометрия".

Не так много данных можно адресовать через CHS: 512 байт на сектор * 63 сектора * 256 головок * 1024 цилиндров <8 Гбайт. Таким образом, CHS был просто взломом совместимости и быстро вышел из употребления, когда на рынке появились большие жесткие диски. Windows 98 используется для доступа к жесткому диску через LBA, это точно. DOS 6.22 и Windows 3.11 использовали CHS. Я не уверен насчет Windows 95.

Таким образом, в наши дни ВСЕ жесткие диски имеют максимальное количество логических головок (256) и секторов на дорожку (63). Таким образом, первая "логическая дорожка" - это просто группа секторов жесткого диска # 0. # 62. Все операционные системы от DOS до Windows XP использовали для создания первого раздела сразу после этой "первой логической дорожки" в секторе # 63, что вызывает смещение и медленную работу на жестких дисках 4Kb-сектора. Это дерьмо было полностью удалено в Vista/Win7/Win8: все разделы, созданные современным FDISK, выровнены по 1Mb.

Таким образом, руководство TrueCrypt относится только к сектору LBA # 62 (или 512-байтовому блоку, начиная со смещения 31744). Но в некоторых модных BIOS со значением сектора сектора на дорожку CHS меньше 63 (крайне маловероятно), это может быть любой сектор от # 1 до # 62 (сектор # 0 - MBR). Я видел некоторые BIOS середины 2000-х годов, которые использовали для назначения 32 сектора на дорожку USB-накопителям (не фиксированным HDD).

1

Ответ Михаила очень хорош в описании секторов, но он никогда не говорит о том, как на самом деле их читать. Многие современные шестнадцатеричные редакторы позволят вам видеть RAW-вид жестких дисков, и вы можете смотреть прямо на сектора.

Например, Hex Workshop - это редактор, который я использую, и у него есть возможность открыть жесткий диск напрямую. Я не думаю, что он может открыть системные диски напрямую, но если вы вставите диск в другой компьютер, вы можете прочитать его нормально.

Таким образом, согласно инструкциям Михайла, вам нужно будет просто нажимать « Next Sector пока не найдете сектор, в котором хранятся данные (вероятнее всего, сектор 62, но, как он сказал в своем ответе, перед ним может находиться сектор).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .