
Инструмент для извлечения $UsnJrnl из NTFS тома
Журнал изменений в NTFS — это файл, расположенный по пути $Extend$UsnJrnl. Он является системным метафайлом, который невозможно найти при обычном выводе каталога или даже обычными средствами. Соответствующие данные находятся в альтернативном потоке данных с именем $J. Существует также другой альтернативный поток данных, называемый $Max, который практически не важен. $J может быть разреженным, что означает, что часть данных состоит из нулей. Это может составлять значительную часть общего объёма данных, и большинство инструментов извлекают этот поток данных в полном размере (что раздражает и является огромной тратой дискового пространства). Здесь на помощь приходит этот инструмент, так как он извлекает только фактические данные журнала изменений. Таким образом, извлечение, очевидно, происходит быстрее. Зачем извлекать 20 ГБ, если может понадобиться всего 200 МБ?
Описание параметров /ImageFile: Полный путь и имя файла образа для извлечения. Если используется этот параметр, необходимо задать /ImageVolume:. Необязательно. /ImageVolume: Номер тома для извлечения. Если том не NTFS, ничего не будет извлечено. Используется только с /ImageFile:. /DevicePath: Полный путь к устройству для извлечения. Необязательно. /OutputPath: Путь для сохранения извлечённого файла. Необязательно. Если опущен, путь по умолчанию — каталог программы. /OutputName: Имя выходного файла. Необязательно. Если опущено, имя файла будет $UsnJrnl_$J.bin.
Таким образом, ввод может быть /ImageFile: или /DevicePath:. Файлы образов должны быть сырыми dd-образами и быть образами дисков или разделов. При указании путей устройств в /DevicePath можно получить доступ к подключённым устройствам, на которых не смонтированы тома. Примеры: HarddiskVolume1, Harddisk0Partition2, HarddiskVolumeShadowCopy1, PhysicalDrive1. Для PhysicalDriveN необходимо указать параметр /ImageVolume. По умолчанию UsnJrnl извлекается в файл $UsnJrnl_$J.bin в каталоге программы. Если выходной файл уже существует, существующий будет переименован с добавлением "renamed[метка_времени]", где [метка_времени] — текущее время запуска программы.
Примеры использования:
ExtractUsnJrnl /ImageFile:e:\images\disk.dd /ImageVolume:1 /OutputPath:e:\temp /OutputName:UsnJrnl_vol1.bin ExtractUsnJrnl /DevicePath:c: ExtractUsnJrnl /DevicePath:\.\HarddiskVolumeShadowCopy1 /OutputPath:e:\temp /OutputName:UsnJrnl_SC1.bin ExtractUsnJrnl /DevicePath:\.\Harddisk0Partition2 /OutputPath:e:\temp ExtractUsnJrnl /DevicePath:\.\PhysicalDrive0 /ImageVolume:3 /OutputPath:e:\temp