Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Диагностика NTFS.  (Прочитано 21758 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sss
Специалист

ru
Offline Offline

« : 10-10-2012 06:56 » 

Все привет.

Уже третий день бьюсь, чувствую не могу справиться вроде бы с тривиальной задачей.
В общем принесли мне жесткий диск на 60 ГБ IDE с одним MBR разделом NTFS на весь диск.
После присоединения (XP) он получил букву D: и при загрузке (autochk) спросил проверить
том D: NTFS? Ну конечно да, отвечаю, идёт проверка - ошибок не найдено. Загрузился сеанс
пользователя тип файловой системы (в свойствах диска проводника) RAW. Ага, думаю -
поверхности хана (диску 8 лет). Не тут то было - mhdd показывает нормальные таймауты чтения.
Открываю Diskprobe, читаю MBR. Всё нормально. Загрузочный сектор NTFS в 63 секторе. Открываю
63 сектор - все настройки корректны: MFT и зеркальная MFT на местах (читаю отдельно), резервный
загрузочный сектор NTFS на месте. Причём данные с диска с помощью программ восстановления
я скопировал совсем без проблем (в принципе это означает что mft корректна).

Перечитываю Руссиновича:
- "NTFS распознаёт том, только если поля типа и имени определяют именно NTFS, а файлы
метаданных, описываемых загрузочной записью, находятся в согласованном состоянии".

Так вот наконец вопрос.  Как мне продиагностировать метаданные NTFS? Как узнать что именно
рассогласовано?

Буду рад любой идее. Если надо предоставлю копии секторов.
Записан

while (8==8)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 10-10-2012 07:20 » 

Проверь в MBR тип раздела: возможно он стоит как Hidden NTFS — надо изменить на NTFS.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
sss
Специалист

ru
Offline Offline

« Ответ #2 : 10-10-2012 07:21 » 

Проверь в MBR тип раздела: возможно он стоит как Hidden NTFS — надо изменить на NTFS.

Проверял - 0x07.. (NTFS)

Чего я только не делал. Уже и отладчик ядра подключил - думал вдруг драйвер NTFS чего в
отладочную консоль выведет. Тишина...
Перечитал кучу инфы - думал вдруг где в реестре есть параметр, который заставит его усиленно
протоколировать ошибки - к сожалению не нашёл.
« Последнее редактирование: 10-10-2012 08:01 от sss » Записан

while (8==8)
v2
Помогающий

ua
Offline Offline

« Ответ #3 : 10-10-2012 18:23 » 

> Загрузился сеанс
пользователя тип файловой системы (в свойствах диска проводника) RAW

Было такое (RAW вместо двух ntfs разделов  - 1,5TB на Win7 - проверка autochk не запускалась) "полечилось" подсоединением в другой sata порт.

Что при подключении к другому компьютеру/ос?
Что показывает "Управление дисками"?  (попробовать изменить букву диска)



Записан
sss
Специалист

ru
Offline Offline

« Ответ #4 : 11-10-2012 02:17 » 

> Загрузился сеанс...


Букву менял. Копию диска сделал.
Отформатировал (быстро) - диск доступен ОК.
Вернул назад.

Ночью курил мануалы..
Цитата: Руссинович и Соломон
...
и файл тома (volume file) с именем $Volume, который содержит имя тома, версию NTFS,
под которую отформатирован том и бит, устанавливаемый при каком-либо повреждении диска.
...

Сейчас идея появилась. А не указана ли там версия выше чем поддерживаемая в XP. Как на
зло работы по уши - некогда попробовать...

 

Добавлено через 11 минут и 47 секунд:
Что при подключении к другому компьютеру/ос?

Да вот подумываю подключить в w7... Но диск IDE и вариантов компов с w7 и IDE не так уж и много.
Не получиться - попробую через какой нибудь IDE->USB
« Последнее редактирование: 11-10-2012 02:28 от sss » Записан

while (8==8)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 11-10-2012 04:08 » 

Или использовать виртуальную машину с W7.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
sss
Специалист

ru
Offline Offline

« Ответ #6 : 11-10-2012 06:22 » 

Не получилось. Взял два сектора $Volume с "рабочего" записал в $Volume "мёртвого" - всё тоже самое..

Добавлено через 33 минуты и 33 секунды:
А вот результат проверки тома  С ума сойти...

Код: (DOS)
C:\sys\NTFSInfo 1.0>chkdsk d: /f /x
Тип файловой системы: NTFS.

Проверка файлов (этап 1 из 3)...
Проверка файлов завершена.
Проверка индексов (этап 2 из 3)...
Проверка индексов завершена.
Проверка дескрипторов безопасности (этап 3 из 3)...
Проверка дескрипторов безопасности завершена.
CHKDSK проверяет журнал USN..
Завершена проверка журнала USN
Windows проверила файловую систему. Ошибок не обнаружено.

  58605088 КБ всего на диске.
  43317384 КБ в 61664 файлах.
     25744 КБ в 7088 индексах.
         0 КБ в поврежденных секторах.
    181616 КБ используется системой.
     65536 КБ занято под файл журнала.
  15080344 КБ свободно на диске.

Размер кластера:                   4096 байт.
Всего кластеров на диске:      14651272.
   3770086 кластеров на диске.

C:\sys\NTFSInfo 1.0>ntfsinfo.exe d:

NTFS Information Dump V1.01
Copyright (C) 1997 Mark Russinovich
http://www.sysinternals.com

Error obtaining NTFS information: STATUS_INVALID_PARAMETER


C:\sys\NTFSInfo 1.0>

Чем ещё протестировать?
« Последнее редактирование: 11-10-2012 06:56 от sss » Записан

while (8==8)
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 11-10-2012 07:02 » 

И все же...
А если это диск просто тупо воткнуть в 1-й ide слот?
или поменять местами, системный, и проблемный.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
sss
Специалист

ru
Offline Offline

« Ответ #8 : 11-10-2012 07:06 » 

И все же...
А если это диск просто тупо воткнуть в 1-й ide слот?
или поменять местами, системный, и проблемный.


Попробую сейчас. И похоже пойду в w7 воткну..

Добавлено через 18 минут и 36 секунд:
Смена режима ide (master/slave, ide0/ide1) ни к чему не привела. Это и ожидалось - я там раньше писал,
что после форматирования диск работает ок..

Сейчас буду к w7 прикручивать. Вдруг у неё chkdsk более матёрый..

Добавлено через 42 минуты и 1 секунду:
win7 сказал "Отказано в доступе" !!!! Как я не подумал!!! Там наверное отказывать всем в ACL !

Добавлено через 18 часов, 3 минуты и 59 секунд:
Пишу ntfs viewer...

Добавлено через 25 дней, 7 часов, 56 минут и 10 секунд:
У корневого каталога обнаружил дополнительный атрибут - $LOGGED_UTILITY_STREAM используемый EFS. Получается корневой каталог системного диска зашифрован!  Не зашифрован, но была попытка зашифрования. Сейчас попробую удалить атрибут.

Не помогло. Но увидел что половина корневого каталога тома "перепахана" операцией шифрования (не уверен). В частности нет каталога windows.
Можно надуманно предположить -  драйвер проводил шифрование до тех пор, пока не зашифровал критичные для выполнения файлы.

Нда.. Буду думать что делать дальше.

Добавлено через 2 дня, 2 часа, 21 минуту и 40 секунд:
Обнаружил наличие атрибута $LOGGED_UTILITY_STREAM у корневых каталогов томов, подключённых (ранее подключаемых) к Windows 7. Надо будет проверить в других системах - похоже так можно детектировать был ли том NTFS ранее подключён к системе с Windows 7 (Wista?). Возвращаюсь к теме с дескриптором. Пытаюсь научиться читать файл $Secure.
« Последнее редактирование: 08-11-2012 12:29 от sss » Записан

while (8==8)
sss
Специалист

ru
Offline Offline

« Ответ #9 : 12-12-2012 13:22 » 

В общем не удалось вернуть работоспособность. Хотя наблюдаю несколько нехарактерных свойств служебных файлов.
В частности это отсутствие отдельного атрибута $SECURITY_DESCRIPTOR при наличии укороченной версии атрибута
$STANDARD_INFORMATION таких файлов, как $UsnJrnl, $ObjId (находящихся в каталоге $Extend (mftno = 0x0B)), что
исключает применение для поиска дескриптора безопасности по индексу $SII в потоке $SDS файла $Secure поля
$STANDARD_INFORMATION.ulSecurityId. Фу, выдохнул.. Продолжаю раскапывать, хотя  думал будет легче.

В процессе написал программу для прямого чтения NTFS с базовых MBR дисков.
Программа может использоваться для следующих целей:
1) Просмотр внутренней организации файлов в NTFS.
2) Чтение и анализ атрибутов  файлов.
3) Просмотр дескрипторов безопасности.
4) Файловый браузер.
Так как не используется системный сервис возникает возможность.
4) .. Причём, естественно, без оглядки на дескрипторы безопасности. Теперь понятно, почему
  администраторы обладают неотъемлемым правом овладевания файлами  Отлично(см. примечание).
5) Копирование эксклюзивно открытых файлов (кусты реестра, файлы подкачки и т.д.)
6) Анализ системы в условиях подозрения на стелс защиту вирусов (у меня комплекс наверное Скромно так...).

Примечание: Программа открывает прямой поток в режиме только чтение.. Однако даже для режима только для чтения необходим
административный доступ.



md5(ntfsvr.exe) = 12709547457f1e00e662448addf310f2 (winmd5.exe)



* ntfsvr.rar (458.54 Кб - загружено 882 раз.)
* ntfsss.jpg (92.83 Кб - загружено 2016 раз.)
« Последнее редактирование: 12-12-2012 13:25 от sss » Записан

while (8==8)
sss
Специалист

ru
Offline Offline

« Ответ #10 : 20-03-2013 06:13 » 

Привет.

Нашёл ещё одно неожиданное применение программы в XP...

Искал откуда запускается вирус у пользователя без административных прав. Выяснил, что это объект задание xxx.job, который лежит в  %WINDIR%\Tasks.
Естественно захотелось посмотреть безопасность этого каталога - каково же было моё удивление когда я увидел отсутствие вкладки безопасность
для этого каталога! Запустив ntfsvr я получил дескриптор и увидел вот это (XP):


 
Оказывается, прошедшие проверку могут создавать задания...

* 002.JPG (37.58 Кб - загружено 1864 раз.)
Записан

while (8==8)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines