Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf
Добавлен: 29.10.2018
Просмотров: 32996
Скачиваний: 742

342 Часть
II
Работа с утилитами
Рис. 12-4. Очистка дисков C и Е
Разрешения для работы с томами Некоторые из описываемых в этой главе утилит
требуют разрешений на целевом томе. Например, для выполнения команды sync e
требуется разрешение Запись (Write) на диске E. Разрешения томов отличаются от
разрешений корневых каталогов этих томов и могут налагать ограничения даже на
работу с томами с файловыми системами, не поддерживающими контроль доступа,
такими как FAT.
В Windows XP и всех версиях Windows Server разрешения на запись на все тома пре-
доставляются только администраторам. Начиная с Windows Vista, интерактивно во-
шедшие пользователи получают разрешение на запись на тома съемных устройств,
таких как флэш-диски.
Windows не предоставляет средств для просмотра разрешений объектов томов. Для
этого можно использовать утилиту AccessChk, выполняя команду accesschk \\.\x:, где
x — буква диска того тома, который нужно проверить. AccessChk описывается в гл. 8.
Рис. 12-5. Действие разрешений томов
На рис. 12-5 показана попытка очистить кеш дисков C и E при помощи утилиты Sync,
запущенной в Windows 7 от имени обычного пользователя. Эта операция, требующая
разрешения на запись, не выполнена для диска C, но выполнена для диска E. За-
тем запущена утилита AccessChk, показывающая действующие разрешения для этих
двух томов. На диске C обычные пользователи имеют только разрешение на чтение,
предоставленное группе Everyone (Все), а на диске E интерактивные пользователи
(NT AUTHORITY\INTERACTIVE) имеют разрешения Read (Чтение) и Write (Запись).
SIN_ch_12.indd 342
27.12.2011 14:36:42

Утилиты для работы с диском
Глава 12 343
DiskView
DiskView показывает графическую карту кластеров тома NTFS, позволяя
выяснить, в каких кластерах находится файл и фрагментирован ли он, или
определить, каким файлом занят определенный сектор. DiskView требует
администраторских привилегий и работает во всех поддерживаемых верси-
ях Windows.
Запустите DiskView, выберите том из раскрывающегося списка Volume
(Том) в левом нижнем углу окна и щелкните кнопку Refresh (Обно-
вить). DiskView просканирует весь том, заполняя цветные области окна
(рис. 12-6). В нижней области представлен том целиком, слева кластер 0.
Чтобы посмотреть значения цветовых кодов, выберите команду меню Help
| Legend (Справка | Легенда). Синим цветом показаны смежные кластеры
файлов, красным — кластеры фрагментированных файлов, зеленым — кла-
стеры системных файлов, белым — незанятые кластеры.
Рис. 12-6. DiskView
В верхней области представлена часть тома, которую можно выбрать
щелчком в нижней области или вертикальной прокруткой. Часть, пока-
занная в верхней области, выделена черными скобками в нижней области.
Рекомендую развернуть окно, чтобы увидеть максимальную часть тома.
Примечание
После сканирования тома DiskView может показать диалоговое окно
File Errors (Ошибки файлов) со списком объектов, к которым не удалось обратиться.
На рис. 12-7 показан типичный пример, когда не удалось получить доступ к файлу под-
качки, потому что он использовался, и к папке System Volume Information из-за уста-
новленных разрешений.
Каждая ячейка в верхней области представляет кластер тома. (По умол-
чанию размер кластера для NTFS-томов емкостью более 2 ГБ равен 4096
байт.) Кнопка со стрелкой вверх рядом с надписью Zoom (Масштаб) по-
зволяет увеличить размер ячеек, чтобы было проще различать отдельные
кластеры и выделять ячейки. Если прокрутить верхнюю область до конца
вверх, верхняя строка будет представлять первые кластеры диска; нулевой
SIN_ch_12.indd 343
27.12.2011 14:36:42

344 Часть
II
Работа с утилитами
кластер будет представлен левой верхней ячейкой, а кластер 1 будет рас-
полагаться справа от него. Вторая строка представляет следующий набор
кластеров и т. д.
Рис. 12-7. Диалоговое окно File Errors
Цветовые коды, принятые по умолчанию, показывают в верхней области
распределение файлов на диске. Темно-синие ячейки обозначают первый
набор кластеров, связанный с файлом, а остальные светло-синие ячейки
представляют кластеры этого файла, смежные с первым набором. Красные
ячейки указывают на начало второго и последующих фрагментов файла, а
стоящие рядом синие ячейки представляют остальные кластеры этого фраг-
мента.
Если отключить параметр Show Fragment Boundaries (Показывать гра-
ницы фрагментов) в меню Options (Параметры), цвет первых ячеек не бу-
дет отличаться, и фрагменты целиком будут выделены красным. Хотя исто-
рически дефрагментаторы отображали фрагментацию именно так, это дает
слишком пессимистическое представление о ситуации с фрагментацией.
Алгоритм дефрагментации в Windows 7 не пытается объединить фрагменты
размером более 64 МБ, поскольку преимущества в этом случае незначитель-
ны, а затраты на перемещение данных растут.
Рис. 12-8. Окно свойств кластера
Если щелкнуть цветную ячейке в верхней области, DiskView покажет
имя файла, занимающего этот кластер, в текстовом поле вверху окна и выде-
лит желтым цветом все кластеры, принадлежащие тому же файлу. Двойной
щелчок ячейки открывает окно свойств кластера (Cluster Properties). Кроме
SIN_ch_12.indd 344
27.12.2011 14:36:42

Утилиты для работы с диском
Глава 12 345
номера выделенного кластера и имени файла, занимающего этот кластер, в
этом окне показан список фрагментов файла с номерами смежных кластеров,
назначенных относительно файла (первый кластер файла имеет номер 0).
В примере на рис. 12-8 файл занимает 568 кластеров, а выделенный кластер
имеет номер 114.
Чтобы найти кластеры определенного файла, щелкните кнопку с точка-
ми, расположенной справа от текстовой области, и выберите файл. Первый
фрагмент, принадлежащий этому файлу, будет выделен и станет видимым
в верхней области. Щелкните кнопку Show Next (Показать следующий),
чтобы выделить и перейти к просмотру следующего фрагмента. Заметьте,
что очень маленькие файлы могут храниться непосредственно в главной та-
блице файлов (Master File Table, MFT), а так как DiskView не анализирует
файлы из MFT, если выбрать один из таких файлов, появится сообщение
«The specified file does not occupy any cluster» («Выбранный файл не занима-
ет кластеров»).
Команда Statistics (Статистика) из меню File (Файл) открывает диа-
логовое окно Volume Properties (Свойства тома), в котором показано
общее число файлов на томе, включая файлы в MFT, но в поле Fragments
(Фрагменты) показано число фрагментов файлов, принадлежащих файлом,
хранящимся вне MFT (рис. 12-9).
Рис. 12-9. Диалоговое окно свойств тома
Кнопка Export (Экспорт) записывает данные, полученные при сканиро-
вании, в текстовый файл, который можно импортировать в базу данных для
дальнейшего анализа. Этот файл может получиться очень большим, так как
содержит отдельную строку текста для каждого файла и каждого кластера
на диске. Формат данных следующий:
• одна строка с числом файлов на диске;
• для каждого файла — одна строка с пробелом в качестве разделителя, со-
держащая следующее:
• число кластеров, занятых файлов;
• число фрагментов файла;
• путь к файлу;
• одна строка, содержащая число кластеров на диске;
• для каждого кластера — одна строка с пробелом в качестве разделителя,
содержащая следующее:
• индекс файла (из предыдущего списка), занимающего кластер;
SIN_ch_12.indd 345
27.12.2011 14:36:43

346 Часть
II
Работа с утилитами
• индекс кластера в файле;
• тип кластера: 0 = данные, 1 = каталог, 2 = метаданные, 3 = неиспользуе-
мый.
Contig
Большинство решений для дефрагментации дисков дефрагментирует том це-
ликом. Contig — консольная утилита, позволяющая дефрагментировать от-
дельный файл или несколько файлов и просматривать уровень фрагментации
файла. Возможность дефрагментировать определенный файл может быть по-
лезной, когда этот файл постоянно фрагментируется из-за частой модифика-
ции. С помощью Contig можно также создать новый файл, который гаранти-
рованно будет располагаться в одном наборе смежных кластеров.
Contig работает во всех версиях Windows. Эта утилита использует стан-
дартные API дефрагментации Windows, так что не приводит к повреждению
диска даже при аварийной остановке. Contig требует разрешения Запись
(Write) на целевом томе для выполнения дефрагментации файла; для про-
смотра уровня фрагментации требуется только разрешение Чтение (Read).
Разрешения на запись требуются также для создания нового непрерывного
файла. Подробнее см. выше во врезке «Разрешения для работы с томами».
Примечание Для твердотельных накопителей дефрагментация не требуется и толь-
ко сокращает их время жизни.
Для работы с существующими файлами используйте следующий синтак-
сис:
contig [-v] [-q] [-s] [-a] имя_файла
Параметр имя_файла принимает знаки подстановки. Если параметр -a
не используется, а целевой файл находится не в одном непрерывном блоке,
Contig ищет на диске свободный блок, достаточно большой, чтобы вместить
файл целиком, и, если находит, перемещает в него фрагменты файла. Файлы,
уже находящиеся в непрерывном блоке, пропускаются. В конце дефрагмен-
тации Contig сообщает число обработанных файлов и число фрагментов
файлов до и после операции.
С параметром -a Contig выполняет анализ файла или файлов, сообщает
число фрагментов, но не перемещает их. Если указать параметр -v (verbose,
подробный режим), будет показана дополнительная информация. С пара-
метром -q (quiet, тихий режим) файлы обрабатываются в тихом режиме, в
конце отображается только сводка. Если указать параметр -s и ввести имя
файла со знаками подстановки, будет выполнен рекурсивный поиск в под-
каталогах. Например, следующая команда анализирует фрагментацию всех
файлов .bin в иерархии папок ProgramData:
contig -a -s C:\ProgramData\*.bin
SIN_ch_12.indd 346
27.12.2011 14:36:43