Другие возможности
Теперь кратко рассмотрим несколько возможностей настройки интерфейса оболочки Windows XP или ее конфигурации без использования реестра, команд rundll32 и всего того, что мы с вами уже рассмотрели.
Вкладка Общие диалога Свойства системы
Существует возможность редактирования содержимого вкладки Общие диалога Свойства системы даже без доступа к реестру Windows XP. Плюсом этого метода является больше возможностей, которые с его помощью можно выполнить.
Итак, для редактирования содержимого вкладки Общие необходимо создать в каталоге %systemroot%\system32 два файла — oemINFo.ini и Oemlogo.bmp. Второй файл просто является картинкой, которая будет добавлена на вкладку Общие, а пример содержимого файла oemINFo.ini рассмотрим в листинге 17.1.
Листинг 17.1. Пример файла oemINFo.ini[Support Information]
Line1 = "На правах рекламы:"
Line2="Здесь могла бы быть ваша реклама…"
Line3 = "…а здесь ваша :-)"
[General]
Manufacturer = "Parad0x-DeS1gn"
Model = "смесь Pentium и Celeron"
Назначение ключевых слов данного INI-файла легко понять на примере того, что он делает. Посмотрим на рис. 17.1.
Рис. 17.1. Результат применения файлов oemINFo.ini и Oemlogo.bmp
Рисунок, отображаемый слева внизу, является файлом oemlogo.bmp, тогда как кнопка Сведения о поддержке создается при помощи блока [Support Information] файла oemINFo.ini, а текст перед названием процессора — при помощи блока [General] файла oemINFo.ini.
Файл desktop.ini
Еще один интересный специальный файл, с помощью которого можно выполнить настройку оболочки Windows XP. Например, с его помощью можно изменить значок для папки, в которой он будет находиться, создать для нее описание и сделать многое другое. Для примера попробуем изменить изображение для отдельной папки и создать для нее описание. Для этого необходимо сделать следующее.
1. Создать в папке файл с названием desktop.ini (желательно также скрыть его).
2. Присвоить папке атрибут системной. Это выполняется с помощью команды attrib +S «путь к папке».
Если вы уже сделали папку системной, а также создали в ней файл desktop с расширением ini, то приведем в листинге 17.2 небольшой пример содержимого файла desktop.ini.
Листинг 17.2. Пример содержимого файла desktop.ini[.ShellClassInfo]
IconFile = c:\windows\system32\shell32.dll
IconIndex = 34
InfoTip = "Здесь находится много файлов, дорогих моему сердцу, поэтому просьба папку не открывать."
Назначение ключевых слов данного файла можно понять при взгляде на рис. 17.2.
Ключевое слово IconFile указывает путь к библиотеке, содержащей необходимый вам рисунок папки, а ключевое слово IconIndex определяет индекс необхо-димого вам изображения в данной библиотеке. Ключевое слово InfoTip определяет подсказку, отображаемую для данного файла.
Рис. 17.2. Использование файла desktop.ini для изменения изображения папки
С помощью файла desktop.ini можно также запретить создание в папке других папок и файлов (при этом есть возможность во вложенных папках создать папки и файлы). Для этого необходимо в блоке [.ShellClassInfo] создать следующие строки:
UICLSID={7BD29E00-76C1-11CF-9DD0-00A0C9034933}
CLSID={FF393560-C2A7-11CF-BFF4-444553540000}
После этого рисунок папки изменится, а при попытке записи в папку будет выдаваться сообщение (рис. 17.3). Если же необходимо, чтобы рисунок папки не менялся, то строку CLSID={FF393560-C2A7-11CF-BFF4-444553540000} нужно удалить.
Рис. 17.3. Ошибка при создании папки или файла
Блок [.ShellClassInfo] может иметь ключевое слово LocalizedResourceName, которое переопределяет название папки. Например, если в файле desktop.ini для нашей папки создать строку LocalizedResourceName=@shell32.dll,-21765, то название папки Doc_Natali изменится на название Application Data. При этом, к сожалению, ключевое слово LocalizedResourceName не поддерживает прямой текст. Другими словами, нужно обязательно указывать текст, хранящийся в какой-либо библиотеке.
Но, кроме названия самой папки, с помощью файла desktop.ini можно изменить названия файлов, содержащихся в этой папке. Для этого служит блок INI-файла [LocalizedFileNames]. Он может включать в себя строки формата «истинное название файла»=«библиотека, и индекс нового названия в ней». К сожалению, новые названия прямым текстом указывать нельзя.
Например, если в папке содержится файл PICT0412.JPG, то для изменения названия этого файла на Рабочий стол (создать ярлык), нужно воспользоваться строкой PICT0412.JPG=@sendmail.dll, –21.
SCF-файлы
Файлы с таким расширением являются командными файлами оболочки Windows и используются для различных целей. Например, можно создать файл, который будет сворачивать все окна. Его содержимое приведено в листинге 17.3. Если ввести подобный текст в текстовый файл, а потом присвоить ему расширение SCF, то будет создан соответствующий файл (расширение файла будет скрыто), выполнение которого свернет все окна.
ПРИМЕЧАНИЕ
При этом значок, используемый файлом, можно изменять.
Листинг 17.3. Файл для сворачивания всех окон[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
Можно также создать файл для просмотра каналов Интернета. Для этого используется представленный в листинге 17.4 текст.
Листинг 17.4. Файл для смены каналов[Shell]
Command=3
IconFile=shdocvw.dll,-118
[IE]
Command=Channels
Можно создать файл для открытия Проводника Windows XP, как показано в листинге 17.5.
Листинг 17.5. Открытие Проводника[Shell]
Command=2
IconFile=explorer.exe,1
[Taskbar]
Command=Explorer
Вообще, это довольно интересные файлы, так как они могут хранить любой другой посторонний текст, который не будет влиять на функциональность данных файлов. При этом никому и в голову не придет посмотреть содержимое этих файлов на предмет посторонних записей, поэтому в них можно запросто хранить конфиденциальную информацию.
Файл BOOT.INI
Данный файл используется при установке нескольких операционных систем семейства Windows на одном компьютере для реализации возможности выбора между ними при загрузке системы. Рассмотрим содержимое этого файла. Файл расположен в каталоге %systemdrive%, хотя наиболее удобным способом его редактирования является стандартная программа msconfig. Она имеет вкладку BOOT.INI, с помощью которой довольно легко работать с этим файлом, если знать его синтаксис. По этой причине сначала рассмотрим синтаксис данного файла.
Файл BOOT.INI состоит из двух блоков. Первый из них называется [boot loader] и содержит информацию о времени ожидания выбора пользователем операционной системы, а также об операционной системе, загрузка которой будет выполнена в случае, если пользователь так и не выбрал за предоставленное время конкретную операционную систему. Второй блок называется [operating systems]. В нем находится информация обо всех операционных системах, которые можно будет выбрать для загрузки с помощью списка операционных систем. Посмотрим на листинг 17.6, в котором представлен пример файла BOOT.INI.
Листинг 17.6. Пример файла BOOT.INI[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows XP Professional Test" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP Tablet PC Edition" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional Recent" /fastdetect /NoExecute=OptIn
C:\CMDCONS\BOOTSECT.DAT="Windows XP Recovery Console" /cmdcons
Boot loader
Блок [boot loader] содержит всего два ключевых слова.
■ Timeout — определяет количество секунд, которые система будет ожидать выбора пользователем загружаемой операционной системы перед тем, как загрузить операционную систему, указанную в ключевом слове default.
■ Default — указывает путь к загружаемой по умолчанию операционной системе (к системному каталогу данной операционной системы). Иными словами, данный путь должен соответствовать одному из путей, указанному в блоке [operating systems] перед символом =.
Operating systems
Блок [operating systems] содержит столько строк, сколько операционных систем установлено на компьютере. При этом каждая строка имеет такой формат:
«путь к системному каталогу загружаемой операционной системы»=«строка, идентифицирующая данную операционную систему в загрузочном меню» «ключи запуска операционной системы»
Как можно заметить из листинга, путь к операционной системе строится весьма необычным образом — не с помощью буквы логического диска, на котором установлена операционная система, а с помощью номера партиции, в которой установлена операционная система, а также номера диска. Если вы не понимаете ничего в таком способе построения пути, то просто можете посмотреть, с помощью какого пути загружалась данная операционная система. Для этого предназначен параметр строкового типа SystemBootDevice, расположенный в ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control.
ARC-имена состоят из четырех частей, совместно описывающих букву диска, на котором нужно искать операционную систему. Вкратце рассмотрим эти части.
■ Первая определяет контроллер для данного жесткого диска и может быть равна либо multi (««номер контроллера диска»), либо scsi («номер scsi адаптера в системе»). При этом следует учитывать, что нумерация контроллеров диска начинается с нуля, то есть для первого контроллера диска данная часть будет равно multi (0).
■ Вторая определяет номер диска, подключенного к указанному в первой части контроллеру. Для SCSI-дисков вторая часть равна disk(«номер диска, начиная с нуля»). Если же первая часть равна multi («номер контроллера диска»), то вторая часть всегда должна быть равна disk(0) — она не используется и будет игнорироваться.
■ Третья определяет номер диска, подключенного к указанному в первой части контроллеру. Для SCSI-дисков третья часть всегда равна rdisk(0), так как она не используется, ведь номер диска был задан ранее. Если же первая часть равна multi («номер контроллера диска»), то третья часть должна быть равна disk («номер диска, начиная с нуля»).
■ Четвертая указывает конкретный раздел на жестком диске, в котором содержатся файлы операционной системы, и равна partition («номер раздела, начиная с единицы»).
Можно также посмотреть ключи, которые использовались при запуске операционной системы. Для этого предназначен параметр строкового типа SystemStartOptions, расположенный в ветви системного реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control. Теперь поговорим о ключах. Что же они делают?
■ /BASEVIDEO — говорит системе, что данная операционная система должна быть загружена с использованием стандартного графического драйвера vga.sys. Это может понадобиться в случае, когда недавно установленный в операционной системе графический драйвер ведет себя некорректно.
■ /BAUDRATE — определяет скорость передачи в бодах, которая будет использоваться при отладке запуска операционной системы по определенному СОМ-порту. Данный ключ должен использоваться только вместе с ключом /DEBUG. По умолчанию используется скорость 9600 бод для модемного соединения и 19200 бод для нуль-модемного кабеля.
■ /BOOTLOG — установка данного ключа приводит к созданию файла журнала (файл NTBTLOG.ТХТ, расположенный в каталоге %systemroot%) при каждой загрузке операционной системы. В данный файл журнала будет помещаться информация обо всех загруженных при запуске Windows XP драйверах, а также о тех драйверах, загрузить которые не удалось.
■ /CRASHDEBUG — говорит системе, что при запуске данной операционной системы необходимо также запускать отладчик ядра в состоянии ожидания. Это может понадобиться при возникновении аварийной остановки при загрузке операционной системы (чтобы понять причину возникновения экрана BSOD).
■ /DEBUG — при запуске операционной системы также должен быть запущен отладчик, доступ к которому можно получить по СОМ-порту удаленного компьютера. Данный режим может быть полезен при возникновении аварийной остановки при запуске операционной системы.
■ /DEBUGPORT=«COM-порт» — определить СОМ-порт, по которому будет вестись работа с отладчиком при возникновении аварийной остановки. По умолчанию используется порт COM1.
■ /FASTDETECT — говорит о том, что программа ntdetect.com не должна определять установленные на компьютере устройства. Вместо нее это будет делать система Plug and Play.
■ /MAXMEM=«количество мегабайт оперативной памяти» — определяет количество оперативной памяти, которое будет использовать данная операционная система во время своей работы.
■ /NODEBUG — не выводить отладочную информацию на экран компьютера.
■ /NOGUIBOOT — не отображать графическую заставку Windows.
■ /NOSERIALMICE=«COM-порт» — запретить определение мыши на указанных СОМ-портах (СОМ-порты можно писать через запятую), если она там подключена.
■ /SAFEBOOT:«режим» — говорит системе, что данная операционная система должна загружаться в одном из безопасных режимов. При этом доступны следующие режимы:
• MINIMAL — обычный безопасный режим;
• MINIMAL(ALTERNATESHELL) — безопасный режим с поддержкой командной строки;
• NETWORK — безопасный режим с загрузкой сетевых драйверов;
• DSREPAIR — безопасный режим для восстановления каталога Active Directory.
■ /SOS — отображать при загрузке операционной системы имена всех запускаемых драйверов.
MSconfig.exe
С помощью вкладки BOOT.INI все приведенные ключи загрузки можно автоматически добавить к выделенной в данный момент строке операционной системы, не беспокоясь об их корректности. Для этого необходимо сначала выделить строку запуска операционной системы, а потом установить необходимые флажки напротив часто используемых ключей, отображенных на вкладке BOOT.INI программы msconfig. Если какого-то необходимого ключа в данном списке вы не найдете, то можно нажать кнопку Дополнительно, после чего перед вами отобразится список дополнительных ключей.
И наконец, можно нажать кнопку Проверить все пути загрузки, чтобы определить, соответствуют ли новые пути загрузки операционных систем (если вы их изменяли) реальному их расположению на жестком диске компьютера.
Bootcfg.exe
Это еще одна программа (программа командной строки) для работы с файлом BOOT.INI. Причем данная программа имеет один большой плюс — с ее помощью можно редактировать файл BOOT.INI удаленной операционной системы. Мы не будем вдаваться в подробности работы этой программы, так как работа с ней описана в Центре справки и поддержки.
Глава 18