Re: NTFS. Бол. кол-во файлов. Некоторые записи не прочиталис
От: MShura  
Дата: 23.09.08 11:50
Оценка:
BLo>Я пробегаю по всем записям (рассматриваю каждые 1024 байт). Выбираю только нормальные файлы (не используемые, пустые, части другой записи и не являющиеся файловыми записями не рассматриваю). В итоге получаю количество файлов меньшее (примерно на 30%) чем я вижу в свойствах корневой директории.
BLo>Что делать?

Дело в hardlink.
Vista очень активно ими пользуется
Как только Vista вышла я написал программку (наверняка есть аналогичные), которая выводит все линки
http://files.rsdn.ru/24534/VistaLink.txt
Она показала, что:
— файлов с более чем одним именем 7532
— из них образовано 15231 имен
Т.е. у подавляющего большинства файлов с несколькими именами имен всего 2, но есть по 3 и даже по 4 имени (более 10 файлов)

например это один файл (одна запись), но 4 имени
— "/Windows/system/vga.drv"
— "/Windows/winsxs/x86_microsoft-windows-ntvdm-system_31bf3856ad364e35_6.0.5308.17_neutral_07be7a2f97970810/vga.drv"
— "/Windows/winsxs/x86_microsoft-windows-ntvdm-system32_31bf3856ad364e35_6.0.5308.17_neutral_e121faddb09013b3/vga.drv"
— "/Windows/System32/vga.drv"

В MFT записи есть 16 битовое поле по смещению 0x12 — количество имен у файла.
Только следует помнить о парных именах. Для вашей задачи их надо считать за 1 имя.
Узнать есть или нет парные имена можно только перечислением всех имен в файле.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.