Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

MFT и ChkDsk.   Найти похожие ветки 

 
Riply ©   (2007-07-09 06:36) [0]

Здравствуйте !
Научилась гулять по MFT-дереву, читать все что можно и нельзя :)
Но радость была не долгой: эта редиска ( MFT ) преподнесла новую головоломку.
Если взять директорию и в ее корне создать много файлов (тестилось на 10000),
(я их создавала в цикле, а не копировала) то начинаются проблеммы:
ATTRIBUTE_LIST у нее не появляется.
А при попытке пройтись по RunArray в AttributeIndexAllocation наталкиваемся
на уже знакомое поведение: один из параметров (где-то на 4000 ой итерации),
вдруг, принимает просто неприличное значение :)  (все остальные в норме).
Если игнорировать это безобразие и пойти дальше, то в конце
все (кроме смещений) "котрольные суммы" в полном порядке.
Проверяла суммарное число вхождений и сумму размеров всех элементов.
Теперь запускаем ChkDsk и наша ошибка испаряется. Как будто ее и не было :)
И все работает просто "на ура".
Опыт борьбы с подобными явлениями подсказывает, что существует некий параметр,
говорящий, как надо поступать в данной ситуации (не "прочекен" диск).
Никто не знает где его(этот параметр) искать или каким образом сканировать такой диск?


 
umbra ©   (2007-07-09 10:59) [1]

на http://club.shelek.com есть книжка о написании драйверов для ntfs. Скорее всего там и о самой ntfs немало сказано.


 
Игорь Шевченко ©   (2007-07-09 11:52) [2]

Riply ©   (09.07.07 06:36)  


> Но радость была не долгой: эта редиска ( MFT ) преподнесла
> новую головоломку.
> Если взять директорию и в ее корне создать много файлов
> (тестилось на 10000),
> (я их создавала в цикле, а не копировала) то начинаются
> проблеммы:
> ATTRIBUTE_LIST у нее не появляется.


Мы же вас предупреждали...


 
Riply ©   (2007-07-09 15:07) [3]

>[1] umbra © (09.07.07 10:59)
>на http://club.shelek.com есть книжка о написании драйверов для ntfs.
>Скорее всего там и о самой ntfs немало сказано.
Спасибо. Правда единственное, что я там сумела найти, это:
Название: Программирование драйверов для Windows
Валерия Комиссарова
Скачивать не стала.
Во-первых: имя автора "не на слуху"
Во-вторых: довериться женщине-программистке ?  Брр-р-р-р.
Эти два понятия несовместимы. Знаю не понаслышке :)

>[2] Игорь Шевченко © (09.07.07 11:52)
>Мы же вас предупреждали...
Да. Предупреждали. Но больно уж сладок запретный плод :)
Вот только одна из граней этого плода - я уже близка к тому,
чтобы по Вашему примеру, создать ветку со следующим названием:
"Любителям "скырть файл" под NTFS посвящается..." :))


 
umbra ©   (2007-07-09 15:18) [4]


> Спасибо.

не за что. http://club.shelek.com/download.php?id=183


 
Игорь Шевченко ©   (2007-07-09 15:32) [5]


> чтобы по Вашему примеру, создать ветку со следующим названием:
>  
> "Любителям "скырть файл" под NTFS посвящается..." :))


А собственно, Руссинович написал уже. Называется RootkitRevealer


 
Riply ©   (2007-07-09 17:26) [6]

>[4] umbra ©   (09.07.07 15:18)
>http://club.shelek.com/download.php?id=183
Скачала.
Просмотела, пока, очень бегло: информации много, разбита на кучу pdf - ов.
При таком "просмотре" подробного описания самой структуры NTFS не нашла, но видела
много интересного, например, детальные описания некоторых Nt-функций.
Спасибо.

>[5] Игорь Шевченко ©   (09.07.07 15:32)
>А собственно, Руссинович написал уже. Называется RootkitRevealer
Зато будет еще один велосипед.
P.S. Не знаю какой смайлик поставить:  :) или :( ?


 
alien1769 ©   (2007-07-09 21:22) [7]

Riply,

http://www.ixbt.com/storage/ntfs.html


 
Riply ©   (2007-07-09 21:53) [8]

>[7] alien1769 ©   (09.07.07 21:22)
>http://www.ixbt.com/storage/ntfs.html
К сожалению, это только поверхностный(популярный) обзор NTFS
(как и подавляющее большинсто статей на эту тему), но, все равно, спасибо.
P.S. Максимум информации я получила там, куда меня "послали" - у Неббета. :)
Остальное по крохам из разных источников.
Более или менее полноценного описания, пока еще, не видела :(


 
Riply ©   (2007-07-11 04:07) [9]

Если кому интересно :)

Некто Дмитрий Михайлов пишет следующее:
"САМОЕ ПОЛНОЕ ОПИСАНИЕ NTFS
Как отмечает Алексей Дворецкий, в своей статье "Спасение раздела NTFS",
"...Самой полной информацией, что неудивительно, оказалась документация
от создателей драйвера NTFS под Linux http://linux-ntfs.sourceforge.net/ntfs/index.html,
где очень удобно и аккуратно выложена вся информация по NTFS, которую этим людям удалось собрать."
Присоединяясь к этому высказыванию, хочу лишь выразить сожаление,
что мне получить этот документ в виде одного файла не удалось.
Так что всех желающих (а часто, просто страждущих) направляю по указанному выше адресу :)."
P.S.
Была там и утонула в море информации :)
P.P.S.
Видимо я все-таки расшибу лоб об эту файловую систему.
Все алгоритмы соглашаются работать только при идеальных условиях
и если на улице нет ветра, иначе недопустимые адреса, нереальные смещения и т.д. и т.п. :)
Вот что значит не прислушиваться к советам людей, умудренных опытом.


 
Loginov Dmitry ©   (2007-07-11 08:03) [10]

Извиняюсь за тупой вопрос. Однако зачем все это нужно? Разбирать сложные файловые системы и т.п.? Цель должна быть определенная, например коммерческая разработка собственной файловой системы и драйверов для нее (или чёсь в этом духе). Иначе это пустое и бесполезное убийство времени. Даже не ИМХО :((


 
Игорь Шевченко ©   (2007-07-11 10:19) [11]


> Видимо я все-таки расшибу лоб об эту файловую систему.


Мы же вас предупреждали...

Очень хочется странного - возьми драйвер NTFS от того же линукса, он доступен в исходниках и работает (это я могу подтвердить личным опытом :))
и копируй по образу и подобию.


 
Riply ©   (2007-07-12 02:11) [12]

>[10] Loginov Dmitry © (11.07.07 08:03)
>Однако зачем все это нужно? Разбирать сложные файловые системы и т.п.?
>Цель должна быть определенная
Тут такое дело... Надо мне свои любовные послания уничтожить так, чтобы уж совсем.
А то мало ли что :)

>[11] Игорь Шевченко © (11.07.07 10:19)
>Мы же вас предупреждали...
Было дело. Признаю.

>Очень хочется странного - возьми драйвер NTFS от того же линукса,
>и копируй по образу и подобию.
Видимо так и сделаю, если пойму, что они там понаписали :)

>он доступен в исходниках и работает (это я могу подтвердить личным опытом :))
Ага ! Значит, не я одна старших не слушалась ! :)


 
Игорь Шевченко ©   (2007-07-12 10:52) [13]


> Ага ! Значит, не я одна старших не слушалась ! :)


Собственно, для того, чтобы убедиться, что он работает, достаточно иметь на одном компьютере разделы в NTFS и установленный Линукс, и увидеть, как из Линукса можно читать (а то и писать) данные этих разделов.
А то, что он доступен в исходных кодах - так в линуксе много чего в них доступно.


 
Riply ©   (2007-07-15 20:42) [14]

С большим трудом удалось выдрать из драйвера NTFS от линукса,
часть их работы с RunArrayy (RunList - по ихнему).
Результат: на тех же записях в MFT, что и у меня,
у них возникают такие же "неправильные" смещения.
И это очень плохо, т.к. если бы была ошибка в чтении и разборе,
то ее (ошибку) можно было бы найти. Но ее нет :(
Отсюда вывод, что я просто не в состоянии правильно понять то, что прочитала.
А это (непонимание) исправить гораздо сложнее, чем какую-то ошибку.
Иногда даже безнадежно...


 
Игорь Шевченко ©   (2007-07-16 10:13) [15]

Riply ©   (15.07.07 20:42) [14]

Я извиняюсь, а как же линукс-то работает ? :)
Может, при выдирании проблемы ? Например, с выравниванием полей в записях...
Неббет, он же, подлец, тоже на С писал, где выравнивание по умолчанию может несколько отличаться от паскаля...


 
Anatoly Podgoretsky ©   (2007-07-16 11:39) [16]

> Игорь Шевченко  (16.07.2007 10:13:15)  [15]

В СИ обычно выравнивание не используется, а в Паскаль наоборот, если только не сказать явно packed


 
Игорь Шевченко ©   (2007-07-16 12:41) [17]


> В СИ обычно выравнивание не используется


Используется :)
Сам налетал.


 
Riply ©   (2007-07-16 12:43) [18]

>[15] Игорь Шевченко © (16.07.07 10:13)
>Может, при выдирании проблемы ? Например, с выравниванием полей в записях...
>Неббет, он же, подлец, тоже на С писал, где выравнивание по
>умолчанию может несколько отличаться от паскаля...

У Вас дома магический кристалл или как ?
А может ясновидение от рождения ? Или есть книжка с ответами, куда можно подглядывать :)
Один такой маленький бит. Его даже и не видно. А какие проблемы может создать !
Но стоит и к нему отнестись уважительно, как все сразу становиться на свои места.
И, даже, начинает работать. :)
Нам, теперь, наплевать "прочекен" диск или нет :)
Спасибо !
P.S.
Трам-парам-парам-там-там. (Это я пою :)


 
Игорь Шевченко ©   (2007-07-16 12:48) [19]

Riply ©   (16.07.07 12:43) [18]

У меня телепатор усовершенствованной модели. Я к нему регулярно апгрейды скачиваю c http://www.drivers.org/dev/brain

Я сам с этими выравниваниями в свое время намаялся...


 
Riply ©   (2007-07-16 12:49) [20]

>[16] Anatoly Podgoretsky ©   (16.07.07 11:39)
>В СИ обычно выравнивание не используется, а в Паскаль наоборот,
>если только не сказать явно packed
Я СИ совершенно не знаю, но все исходники драйвера от линукса, просто пестрят
грозными предупреждениями о выравнивании полей, особенно после конструкций типа UCHAR Temp[1] :)


 
Anatoly Podgoretsky ©   (2007-07-16 16:30) [21]

> Riply  (16.07.2007 12:49:20)  [20]

Так еще и размер CHAR/UCHAR не определен.


 
Riply ©   (2007-07-16 22:30) [22]

> [21] Anatoly Podgoretsky ©   (16.07.07 16:30)
> Так еще и размер CHAR/UCHAR не определен.
Если упростить ситуацию, то можно сказать,
что на осознание этого факта, у меня ушла неделя :)
P.S.
У них еще есть Char, который совсем не CHAR :)


 
Riply ©   (2007-07-16 23:14) [23]

Если кому интересно, попробую описать суть граблей:
Назовем диск, обработанный ChkDsk`ом и дефрагментированный - причесанным :)
Так вот на не причесанном диске, в записях MFT,
которые описывают "не стандартные" объекты
(например, директорию с десятками тысяч файлов в корне, файл с огромным количеством
потоков, индексную таблицу, содержащую больше "индексов", чем может вместиться в запись)
могут возникать отрицательные смещения.
В этой ситуации ошибки, связанные с "выравниванием",
и начинают демонстрировать себя во всей красе :)
После причесания диска - они исчезают :)


 
Anatoly Podgoretsky ©   (2007-07-17 00:07) [24]

> Riply  (16.07.2007 22:30:22)  [22]

И еще у них байта нет


 
Riply ©   (2007-07-17 03:28) [25]

>[24] Anatoly Podgoretsky ©   (17.07.07 00:07)
>И еще у них байта нет
Несчастные :)

А "линуксоиды" - веселые ребята.
Читать их комментарии в исходниках - одно удовольствие.
Например:
Для некого параметра устанавливаются некие ограничения, взятые, мягко говоря, с потолка.
Комментарий: "Любой человек, находящийся в здравом рассудке, с этими ограничениями согласится".
Вот и попробуй, после этого заявления, усомниться в этих ограничениях :)



Страницы: 1 вся ветка

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.026 c
2-1184446744
Anar
2007-07-15 00:59
2007.08.12
Не могу преоброзовать строку в дату.


15-1184597966
TStas
2007-07-16 18:59
2007.08.12
Длинные ветки в поболталовке


15-1184329922
>>DEATH<<
2007-07-13 16:32
2007.08.12
работа с модемом


2-1183583554
Infloop
2007-07-05 01:12
2007.08.12
Индексация типов данных


15-1184703140
Витян
2007-07-18 00:12
2007.08.12
Delphi 7 и Windows Vista