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

Утилиты для работы с диском
Глава 12 347
Чтобы создать новый файл фиксированного размера, гарантированно
расположенный в одном непрерывном блоке, используйте следующую ко-
манду:
contig -n имя_файла длина
На рис. 12-10 показан пример создания непрерывного файла размером 1 ГБ.
Рис. 12-10. Создание непрерывного файла при помощи Contig
PageDefrag
Одно из ограничений интерфейса дефрагментации Windows — невозмож-
ность дефрагментировать файл, открытый для эксклюзивного доступа.
Таким образом, ульи реестра, файлы подкачки и файлы спящего режима
нельзя дефрагментировать, пока Windows работает. Написанная мной ути-
лита PageDefrag (PageDfrg.exe) обходит это ограничение. Она показывает
текущий уровень фрагментации таких файлов и позволяет запланировать
их дефрагментацию на начало цикла загрузки Windows.
Примечание PageDefrag работает только в версиях x86 Windows XP и Server 2003
и требует административных прав.
Рис. 12-11. Настройка
PageDefrag
SIN_ch_12.indd 347
27.12.2011 14:36:43

348 Часть
II
Работа с утилитами
При запуске PageDefrag перечисляет системные файлы, которые не мо-
гут быть дефрагментированы, пока Windows работает, и показывает, сколь-
ко кластеров они занимают и на сколько фрагментов разделены (рис. 12-11).
Установив соответствующий переключатель и щелкнув OK, можно указать,
что эти файлы должны дефрагментироваться при следующей загрузке си-
стемы или при каждой загрузке. Можно также указать период ожидания
перед запуском дефрагментации, в течение которого можно нажать любую
клавишу, чтобы пропустить дефрагментацию.
Если выбрать дефрагментацию, PageDefrag зарегистрирует собственный
исполняемый файл для запуска процессом диспетчера сеансов Windows в
качестве программы BootExecute сразу после проверки Autochk. Данные о
состоянии дефрагментации, выводимые в окне загрузки Windows, показаны
на рис. 12-12.
Рис. 12-12. Работа
PageDefrag
PageDefrag можно выполнять из сценариев, используя следующий син-
таксис:
pagedfrg { -e | -o | -n }
Параметр -e запускает дефрагментацию при каждой загрузке, -o — один
раз при следующей загрузке, -n (never, никогда) отменяет запланированную
дефрагментацию.
DiskExt
DiskExt — консольная утилита, показывающая информацию о том, на каких
дисках и в каких физических местах разделов диска находятся разделы то-
мов. (Тома могут распределяться по нескольким дискам.) При запуске без
параметров DiskExt выводит список всех томов и информацию о них. Если
указать в командной строке один или несколько томов, DiskExt сообщит
только о них:
diskext c e
SIN_ch_12.indd 348
27.12.2011 14:36:43

Утилиты для работы с диском
Глава 12 349
На рис. 12-13 показан пример запуска DiskExt без параметров.
Рис. 12-13. DiskExt
Согласно определению из MSDN, «экстент диска — это непрерывный ди-
апазон логических блоков, предоставленных диском. Экстент может пред-
ставлять том целиком, одну часть составного тома, один компонент тома с
чередованием или одну копию зеркалируемого тома». Каждый экстент на-
чинается по смещению от начала диска, измеряемому в байтах, и имеет дли-
ну, также измеряемую в байтах.
DiskExt работает во всех поддерживаемых версиях Windows и не требует
администраторских прав.
LDMDump
LDMDump — консольная утилита, отображающая подробную информацию
о содержимом базы данных диспетчера логических дисков (Logical Disk
Manager, LDM). В Windows реализована концепция базовых и динамических
дисков. Динамические диски применяют более гибкую схему разделов по
сравнению с базовыми. Динамическая схема поддерживает создание томов
с несколькими разделами, предоставляющими функции обеспечения произ-
водительности, масштабируемости и надежности, не поддерживаемые про-
стыми томами. К томам с несколькими разделами относятся зеркалируемые
тома, массивы с чередованием (RAID-0) и массивы RAID-5. Разделы дина-
мических дисков создаются при помощи LDM. LDM ведет единую унифи-
цированную базу данных, в которой хранится информация о разделах всех
динамических дисков системы. Эта БД располагается в зарезервированном
пространстве размером 1 МБ в конце каждого динамического диска.
Примечание Подробнее об управлении томами и базе данных LDM см. в пятой ре-
дакции книги «Windows Internals», посвященной Windows Server 2008 и Windows Vista
(Microsoft Press, 2009).
SIN_ch_12.indd 349
27.12.2011 14:36:43

350 Часть
II
Работа с утилитами
LDMDump принимает параметр /d# с номером диска, начинающимся с
нуля:
Ldmdump /d0
Заметьте, что между /d и номером диска нет пробела.
Ниже показан фрагмент вывода LDMDump. Сначала показан заголовок
базы данных LDM, затем идут записи из этой БД, описывающие том раз-
мером 12 ГБ с тремя динамическими дисками размером 4 ГБ. Запись базы
данных тома указана как Volume1 (E:). В конце LDMDump перечисляет раз-
делы и определения томов, хранящиеся в базе данных.
PRIVATE HEAD:
Signature : PRIVHEAD
Version : 2.12
Disk Id : b5f4a801-758d-11dd-b7f0-000c297f0108
Host Id : 1b77da20-c717-11d0-a5be-00a0c91db73c
Disk Group Id : b5f4a7fd-758d-11dd-b7f0-000c297f0108
Disk Group Name : WIN-SL5V78KD01W-Dg0
Logical disk start : 3F
Logical disk size : 7FF7C1 (4094 MB)
Configuration start : 7FF800
Configuration size : 800 (1 MB)
Number of TOCs : 2
TOC size : 7FD (1022 KB)
Number of Configs : 1
Config size : 5C9 (740 KB)
Number of Logs : 1
Log size : E0 (112 KB)
TOC 1:
Signature : TOCBLOCK
Sequence : 0x1
Config bitmap start: 0x11
Config bitmap size : 0x5C9
Log bitmap start : 0x5DA
Log bitmap size : 0xE0
...
VBLK DATABASE:
0x000004: [000001] <DiskGroup>
Name : WIN-SL5V78KD01W-Dg0
Object Id : 0x0001
GUID : b5f4a7fd-758d-11dd-b7f0-000c297f010
0x000006: [000003] <Disk>
Name : Disk1
Object Id : 0x0002
Disk Id : b5f4a7fe-758d-11dd-b7f0-000c297f010
SIN_ch_12.indd 350
27.12.2011 14:36:44

Утилиты для работы с диском
Глава 12 351
0x000007 : [000005] <Disk>
Name : Disk2
Object Id : 0x0003
Disk Id : b5f4a801-758d-11dd-b7f0-000c297f010
0x000008: [000007] <Disk>
Name : Disk3
Object Id : 0x0004
Disk Id : b5f4a804-758d-11dd-b7f0-000c297f010
0x000009: [000009] <Component>
Name : Volume1-01
Object Id : 0x0006
Parent Id : 0x0005
0x00000A: [00000A] <Partition>
Name : Disk1-01
Object Id : 0x0007
Parent Id : 0x3157
Disk Id : 0x0000
Start : 0x7C100
Size : 0x0 (0 MB)
Volume Off : 0x3 (0 MB)
0x00000B: [00000B] <Partition>
Name : Disk2-01
Object Id : 0x0008
Parent Id : 0x3157
Disk Id : 0x0000
Start : 0x7C100
Size : 0x0 (0 MB)
Volume Off : 0x7FE80003 (1047808 MB)
0x00000C: [00000C] <Partition>
Name : Disk3-01
Object Id : 0x0009
Parent Id : 0x3157
Disk Id : 0x0000
Start : 0x7C100
Size : 0x0 (0 MB)
Volume Off : 0xFFD00003 (2095616 MB)
0x00000D: [00000F] <Volume>
Name : Volume1
Object Id : 0x0005
Volume state : ACTIVE
Size : 0x017FB800 (12279 MB)
SIN_ch_12.indd 351
27.12.2011 14:36:44