Лабораторная работа Ревизия 3 2 История изменений
Скачать 1.7 Mb.
|
Синтаксис: junction [-s] <имя каталога или файла> -s - Рекурсия подкаталогов. Чтобы создать или удалить точку соединения, запустите программу Junction так. Синтаксис: junction [-d] <каталог с точкой соединения> [<объект соединения>] Чтобы удалить точку соединения, используйте параметр -d и укажите имя этой точки. 24. LDMDump Позволяет выгружать из памяти содержимое БД диспетчера логических дисков, в которой описывается схема разметки динамических дисков Windows 2000. В ОС Windows 2000 реализован новый тип схемы разметки дисков, которая управляется компонентом под именем диспетчера логических дисков (LDM). В базовых дисках применяются стандартные таблицы разделов, унаследованные от DOS, а в динамических дисках – LDM. Разметка дисков LDM обладает рядом преимуществ по сравнению с разметкой DOS, среди которых репликация на нескольких дисках и хранение на дисках дополнительных данных конфигурации томов (для формирования составных, зеркальных и чередующихся томов, а также томов RAID-5). Более подробно эти схемы разметки описаны в моей статье из двух частей о средствах управления носителями в Windows NT/2000 (журнал Windows 2000 Magazine, март-апрель). Помимо оснастки MMC «Управление дисками» и утилиты dmdiag из комплекта Windows 2000 Resource Kit, средств анализа внутренних характеристик дисковой базы данных LDM, описывающей схему разметки в системе, не существует. Программа LDMDump предназначена для анализа содержимого копии системной БД LDM, хранящейся на диске. Программа LDMDump выводит содержимое частного заголовка БД LDM, содержания и базы данных объектов (в которой хранятся определения разделов, компонентов и томов) и суммирует обнаруженные данные в виде таблицы разделов и перечня томов. LDMDump работает в среде Windows 2000. Установка и применение Для запуска программы LDMDump достаточно передать ей идентификатор диска. Синтаксис : ldmdump [- ] [-d#] - Вывод списка поддерживаемых параметров и единиц измерения для вывода данных. -d# - Номер диска, который программа LDMDump должна проанализировать. К примеру, при вызове команды «ldmdump /d0» программа LDMDump выводит данные из базы LDM, хранящейся на диске 0. 25. ListDLLs Программа ListDLLs отображает полные пути к файлам загруженных модулей, а не только непосредственно имена модулей. Помимо этого она помечает загруженные библиотеки DLL, версия которых отличается от версии копии библиотеки на диске (такое обычно возникает в случае обновления файла 23 библиотеки после того, как она была загружена) и указывает, какие библиотеки DLL были перемещены, потому что загружались не по своему базовому адресу. Установка Просто скопируйте программу ListDLLs в любую из папок, в которых система ищет исполняемые файлы, а затем введите «listdlls». Программа ListDLLs работает в операционных системах Windows 9x, NT 3.51, NT 4.0 и Win2K. 26. LiveKd Программа LiveKD позволяет запускать отладчики ядра Microsoft Kd и Windbg, входящие в пакет инструментов отладки для ОС Windows, в действующей системе в локальном режиме. Для углубленного анализа системы нужно запустить все команды отладчика, работающие с файлами аварийных копий памяти. Инструкции по исследованию системы посредством отладчиков ядра имеются в документации по инструментам отладки для Windows, а также в нашей книге. Последние версии отладчиков Windbg и Kd при работе в средах Windows XP и Server 2003 имеют во многом схожие с программой LiveKD наборы функций, однако последняя действует во всех ОС от NT 4 до Server 2003, в том числе в версиях Windows x64, и кроме того, предоставляет более серьезные возможности, связанные, в частности, с просмотром стеков потоков при помощи команды !thread; эти обстоятельства выгодно отличают ее от аналогичных средств динамической отладки ядра, предусмотренных в Windbg и Kd. Установка В первую очередь загрузите и установите пакет инструментов отладки для Windows с веб-узла корпорации Майкрософт. При условии размещения этих инструментов в предложенном по умолчанию каталоге \Program Files\Microsoft\Debugging Tools for Windows программу LiveKD можно будет запускать из любого каталога; в противном случае ее придется скопировать в каталог установки пакета инструментов. Если символы, подходящие для системы, в которой предполагается исполнять программу LiveKD, не установлены, LiveKD выведет предложение автоматически настроить в системе обращение к серверу символов корпорации Майкрософт (сведения о символьных файлах и сервере символов Майкрософт см. в документации по пакету инструментов отладки для Windows). Примечание. Отладчик Microsoft выведет сообщение о невозможности обнаружить символы для файла LIVEKDD.SYS. Я действительно не подготовил символы для LIVEKDD.SYS, поэтому такое поведение отладчика считается нормальным и не влияет на его работу. Синтаксис:__livekd_[-w]_[-d]_[-k_]_[параметры_отладчика]_-w'>Применение Синтаксис: livekd [-w] [-d] [-k ] [параметры отладчика] -w - Исполнение windbg вместо Kd (по умолчанию применяется Kd) -d - Запуск анализа Dumpchk вместо Kd (по умолчанию применяется Kd) -k - Указание полного пути и имени файла образа отладчика, который предполагается запустить 24 Все прочие параметры передаются отладчику Kd/Windbg/Dumpchk. Примечание. Чтобы закрыть и перезапустить отладчик в случае его зависания нажмите сочетание клавиш CTRL+BREAK. 27. LoadOrder Эта программа показывает порядок загрузки драйверов устройств в ОС Windows NT или Windows 2000. Следует иметь в виду, что в ОС Windows 2000 последовательность загрузки драйверов устройств Plug and Play может отличаться от расчетной, поскольку они загружаются по требованию в ходе обнаружения и перечисления устройств. 28. LogonSessions Программа выводит список сеансов входа в систему, активных в данный момент, а также (если задан параметр -p) процессов, исполняемых в рамках каждого из этих сеансов. Программа LogonSessions работает в среде Windows 2000 и в последующих версиях этой ОС. Синтаксис: logonsessions [-p] 29. NTFSInfo NTFSInfo — это небольшая программа, выводящая сведения о томах NTFS. В ее выходных данных имеются сведения о размере кластеров диска, расположении основных файлов NTFS и размере имеющихся в составе тома файлов метаданных NTFS. Как правило, эта информация скорее интересна, чем полезна, но некоторые данные, выводимые NTFSInfo, действительно стоят того, чтобы обратить на них внимание. К примеру, вы, наверное, слышали о том, что в NTFS имеется аналог таблицы размещения файлов, применяемой в файловой системе FAT. Она называется основной таблицей файлов (MFT) и состоит из записей постоянного размера, которые описывают расположение всех файлов и каталогов на диске. Интересно, что MFT ведется в виде файла, который ничем не отличается от многих других. Помимо определения размера кластеров и записей MFT тома, программа NTFSInfo указывает расположение (кластер) таблицы MFT на диске и ее размер. В целях защиты таблицы MFT от фрагментации в файловой системе NTFS резервируется смежная с ней область диска, которая становится доступна для размещения других файлов только в условиях нехватки пространства. Эта область называется зоной MFT, а программа NTFSInfo сообщает о ее местоположении на диске и объеме зарезервированного для ее размещения дискового пространства. Что удивительно, не только таблица MFT, но и все метаданные NTFS хранятся в виде файлов. К примеру, существует файл $Boot, отображенный на загрузочный сектор диска. Таблица кластеров тома сопровождается в другом файле — $Bitmap. Эти файлы находятся непосредственно в корневом каталоге NTFS, но, не зная этого, увидеть их нельзя. Попробуйте ввести в корневом каталоге тома NTFS команду «dir /ah $boot», и вы сможете убедиться в наличии файла $boot. Программа NTFSInfo выполняет действия, аналогичные команде "dir /ah", указывая имена и размеры всех файлов метаданных NTFS (версий 3.51 и 4.0). Предполагалось, что программа NTFSInfo выйдет вместе с моей колонкой «Внутреннее устройство NT» в январском выпуске журнала Windows NT Magazine за 1998 год, посвященной описанию внутренних структур данных NTFS. 25 Установка и применение NTFSInfo работает во всех версиях NTFS, однако файлы метаданных, реализованные в версии NTFS для Windows NT 5.0, в ней еще не запрограммированы. Для работы с программой NTFSInfo необходимы привилегии администратора. Для вызова программы введите команду «NTFSInfo x», где «x» следует заменить буквой тома NTFS, который предполагается проанализировать. Принцип работы Программа NTFSInfo использует недокументированный вызов управления файловой системой (FSCTL), который позволяет программе извлекать из NTFS данные о томах. Информация выводится вместе с содержимым каталога с файлами метаданных NTFS. 30. PageDefrag Один из недостатков интерфейса дефрагментации Windows NT/2000 заключается в том, что он не позволяет проводить дефрагментацию файлов, открытых в режиме монопольного доступа. Из-за этого стандартные программы дефрагментации не могут ни показывать степень фрагментации файлов подкачки и кустов реестра, ни дефрагментировать их. Фрагментация файлов подкачки и реестра — одна из самых существенных причин снижения производительности в случае фрагментации данных в системе. Специальные методики, реализованные в программе PageDefrag, предоставляют возможность, недоступную для коммерческих решений. Речь идет о просмотре степени фрагментации файлов подкачки и кустов реестра, а также их дефрагментации. Кроме того, эта программа проводит дефрагментацию файлов журналов событий и файлов спящего режима в Windows 2000/XP (в них при переходе портативного компьютера в спящий режим сохраняется содержимое системной памяти). Программа PageDefrag работает в ОС Windows NT 4.0, Windows 2000, Windows XP и Server 2003. Установка и применение При запуске программы PageDefrag (pagedfrg.exe) вы увидите список с указанием числа кластеров, в которых размещаются файлы подкачки, журнал событий и кусты реестра (SAM, SYSTEM, SYSTEM.ALT, SECURITY, SOFTWARE, .DEFAULT), а также количества фрагментов, на которые эти файлы разделены. Если, по вашему мнению, стоит предпринять попытку дефрагментировать эти файлы или если вы намерены проводить их дефрагментацию при каждой загрузке системы, установите переключатель в соответствующее положение и нажмите кнопку OK. Если программе PageDefrag поступает команда провести дефрагментацию, она предпринимает попытку ее выполнения при следующей загрузке системы. Сразу после проверки жестких дисков утилитой CHKDSK программа PageDefrag выполняет дефрагментацию при помощи стандартных API-интерфейсов дефрагментации файлов (документацию по этим API см. на моей странице Устройство дефрагментации дисков Windows NT). По мере обработки файлов PageDefrag выводит на экране загрузки их имена и сведения о результате дефрагментации. Если фрагментация успешно сокращена, программа выводит число кластеров, занятых файлом до обработки, и число кластеров после дефрагментации. 26 В некоторых случаях программе PageDefrag не удается сократить фрагментацию одного или нескольких файлов; в таком случае на синем экране загрузки выводится соответствующее оповещение. Возможные причины неудачных попыток дефрагментации — нехватка свободного дискового пространства и высокая степень фрагментации имеющегося свободного пространства. Для достижения оптимальных результатов программу PageDefrag следует применять в сочетании с коммерческой утилитой дефрагментации или с программой Contig Параметры командной строки. Программу PageDefrag можно запускать в неинтерактивном режиме, регулируя настройки с помощью параметров командной строки. Синтаксис: pagedefrag [-e | -o | -n] [-t <секунды>] -e - Дефрагментация при каждой загрузке -o. - Однократная дефрагментация -n - Запрет дефрагментации -t - Обратный отсчет времени в секундах 31. PendMoves Некоторым приложениям (в частности, исправлениям и пакетам обновления) бывает нужно заменить файл, применяемый в данный момент. В расчете на такие случаи в ОС Windows предусмотрен прикладной программный интерфейс MoveFileEx, который позволяет вызывающей стороне запланировать переименование или удаление файла при следующей загрузке системы, до выстраивания системы ссылок с участием этого файла. Для выполнения этой операции диспетчер сеансов считывает зарегистрированные команды переименования и удаления из значения реестра HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations. Это приложение выводит из памяти содержимое обрабатываемого значения операции переименования или удаления, а в случае недоступности исходного файла составляет отчет об ошибке. Вот пример выходных данных; в данном случае планируется удаление при следующей перезагрузке временного файла установки: 32. PipeList Отображает именованные каналы в вашей системе, в том числе максимальное количество экземпляров для каждого канала. 33. Portmon for Windows v3.02 Программа Portmon предназначена для отслеживания и отображения всей активности последовательных и параллельных портов в системе. Благодаря своим богатым возможностям фильтрации и поиска эта программа является мощным инструментом для изучения принципов работы ОС Windows, отслеживания использования портов приложениями и обнаружения проблем в конфигурациях системы и приложений. Программа Portmon работает в операционных системах Windows NT 4.0, Windows 2000, XP и Server 2003, а также в Windows 95 и Windows 98. В версии 3.x программы Portmon был представлен ряд мощных возможностей. Удаленное отслеживание: сбор отладочной информации режима ядра и Win32 с любого компьютера, доступного по протоколу TCP/IP, даже через сеть Интернет. Можно одновременно отслеживать несколько удаленных 27 компьютеров. В случае, если сбор данных будет производиться с компьютеров под управлением ОС Windows NT/2K и передаваться на компьютер с ОС Windows NT/2K в пределах сетевого окружения, программа Portmon самостоятельно установит клиентскую часть на удаленные компьютеры. Списки недавно использованных фильтров: возможности программы Portmon были расширены мощными средствами фильтрации. В программе запоминаются недавно использованные фильтры, и пользовательский интерфейс позволяет легко выбирать их снова. Копирование в буфер обмена: можно выделить несколько строк из окна с результатами и скопировать их содержимое в буфер обмена. Выделение цветом: можно заданными цветами выделить отладочную информацию в соответствии с настройками фильтра выделения. Запись журнала работы в файл: отладочную информацию можно по мере ее сбора записывать в файл. Печать: можно напечатать на принтере всю отладочную информацию или ее часть. Один файл: программа Portmon теперь реализована в виде одного файла. Установка и использование Достаточно запустить программу Portmon (portmon.exe), и она немедленно начнет собирать отладочную информацию. Чтобы использовать программу Portmon в ОС Windows 95 необходимо загрузить с сайта Майкрософт и установить обновление библиотеки WinSock2 . Для запуска программы Portmon в ОС Windows NT/2K необходимы права администратора, а файл portmon.exe не должен быть расположен на сетевом диске. С помощью пунктов меню, горячих клавиш и кнопок панели инструментов можно очищать окно с результатами, сохранить собранные данные в файл, осуществлять поиск в собранных данных, изменить шрифт, а также осуществлять другие действия. В веб-справке описаны все возможности программы Portmon. Программа Portmon поддерживает все команды управления (IOCTL) последовательными и параллельными портами и осуществляет вывод вызовов этих команд, а также дополнительной полезной информации, имеющей отношение к связанным с этими командами параметрам. Для запросов чтения и записи программа Portmon выводит первые несколько байт из буфера, заменяя все непечатаемые символы символом '.'. Пункт меню «Отображать значения Hex» позволяет переключаться между ASCII и шестнадцатеричным режимами отображения данных из буфера. Принцип работы программы: ОС WinNT Графический пользовательский интерфейс программы Portmon отвечает за определение последовательных и параллельных портов. Информация о последовательных портах берется из раздела реестра HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm, а о параллельных портах — из раздела HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports. В этих разделах содержится соответствие имен, доступных с помощью вызовов Win32, именам устройств последовательных и параллельных портов. После выбора порта для отслеживания программа Portmon отправляет запрос драйверу устройства. Этот запрос содержит NT-имя требуемого устройства (например, \device\serial0). Драйвер использует стандартные фильтрующие программные интерфейсы и присоединяет свой собственный фильтрующий объект устройства к требуемому объекту устройства. Сначала с помощью 28 вызова функции ZwCreateFile открывается требуемое устройство. Полученный дескриптор преобразуется в указатель на объект устройства. После создания собственного фильтрующего объекта устройства, который соответствует характеристикам требуемого устройства, драйвер устанавливает этот фильтр с помощью вызова функции IoAttachDeviceByPointer. Начиная с этого момента, драйвер программы Portmon будет видеть все запросы, адресованные этому устройству. В программу Portmon включена поддержка всех стандартных команд управления IOCTL последовательными и параллельными портами. В большинстве случае для настройки и чтения информации о состоянии из портов в приложениях и драйверах используются именно эти команды. Они определены в файлах \ddk\src\comm\inc\ntddser.h и \ddk\src\comm\inc\ntddpar.h из пакета DDK. Некоторые из них документированы в пакете DD Принцип работы программы: ОС Win9x В ОС Windows 95 и 98 графический пользовательский интерфейс программы Portmon осуществляет сбор данных об активности последовательных и параллельных портов с помощью динамически загружаемого VxD-драйвера. В приложениях, в которых осуществляется непрямой доступ к последовательным и параллельным портам, используется драйвер устройства виртуальных подключений Windows VCOMM. VxD-драйвер программы Portmon использует стандартное VxD-подключение к службам для перехвата вызовов всех функций, осуществляющих доступ к драйверу VCOMM. Аналогично NT-драйверу VxD-драйвер программы Portmon перехватывает запросы и отображает их в удобном формате. В отличие от ОС WinNT, в ОС Win9x отсутствует возможность выбора порта. Программа Portmon отслеживает сразу все порты. |