Советы и секреты: Windows Me

Бесполезно пытаться объять необъятное. Количество различных трюков и хитростей в Windows просто огромно, но еще больше число вполне конкретных проблем, с которыми ежедневно и ежечасно сталкиваются миллионы пользователей. Благо, Windows Me не так уж далеко ушла от своих предшественниц, поэтому в ней можно смело применять практически весь годами накопленный багаж знаний. Имеется, впрочем, и кое-какая специфика. Ей-то мы и решили уделить внимание в первую очередь, а еще — вопросам, наиболее часто задаваемым нашими читателями в форумах и письмах.

Непотопляемая DOS

Пожалуй, одно из наиболее неоднозначных нововведений Windows Me — ограничение функциональности DOS. Стандартные конфигурационные файлы больше не используются, некоторые утилиты отсутствуют, у других исчезли привычные ключи. Безусловно, для большинства пользователей эти нюансы так и останутся незамеченными, хотя кое-кому придется несколько пересмотреть свой стиль работы с ПК.

Как, например, быстро создать загрузочную дискету, если FORMAT не понимает ключ /s? Microsoft рекомендует использовать системный аварийный диск, которого в нужную минуту может попросту не оказаться под рукой (чего, вообще-то, лучше не допускать), да и создается он достаточно долго. Самый простой вариант — скопировать на чистую дискету файлы IO.SYS и COMMAND.COM (именно в такой последовательности).

Проблема "Out of environment space", прекрасно знакомая пользователям DOS со стажем, приобрела в Windows Me новое звучание — ведь CONFIG.SYS игнорируется. Сама ОС управляет оперативным окружением примерно следующим образом: глобальные переменные из AUTOEXEC.BAT копируются в реестр (при необходимости их список расширяется с помощью утилиты Msconfig), а объем памяти для хранения подбирается автоматически (по умолчанию — 256 байт). Однако для локальных переменных, инициализируемых в командных (BAT) файлах, места может действительно не хватить.

Лучший способ управления System Restore

Существует два решения. Во-первых, превратить все локальные переменные в глобальные — к примеру, просто перенеся их в AUTOEXEC.BAT, откуда они импортируются в реестр при перезагрузке ПК. Во-вторых, в свойствах ярлыка для запуска сеанса DOS (или самого BAT-файла — в зависимости от того, как именно он выполняется) открыть вкладку Memory и в поле Initial Environment выбрать необходимое значение. Интересно, что этот параметр существовал и в предыдущих версиях Windows, хотя там гораздо проще было единожды настроить CONFIG.SYS.

Еще одна проблема связана с внезапно устаревшим параметром FILES, который, как и многие другие (полный список находится здесь: support.microsoft.com/support/kb/articles/Q274/6/46.ASP), игнорируется в Windows Me. Из-за этого отказываются работать многие DOS-программы: базы данных, бухгалтерские и пр. Впрочем, в данном случае ларчик открывается просто. По умолчанию в Windows Me каждая виртуальная машина DOS поддерживает до 30 открытых файлов, а специальный параметр PerVMFiles в разделе [386Enh] файла System.ini позволяет нарастить это значение. Соответственно, максимальное число, которое ему можно присвоить, — 225.

Очередная закавыка — поддержка кириллицы в сеансах DOS. Суть ее состоит в банальном отсутствии драйвера клавиатуры (KEYB.COM в предыдущих версиях). Можно, конечно, воспользоваться аналогичной программой сторонних разработчиков, а для пущей важности даже вписать ее в файл CMDINIT.BAT (хранится в папке WINDOWSCOMMAND) — для автоматического запуска в каждом сеансе. Существует, однако, и стандартное решение, хоть и реализованное с некоторыми огрехами.

Все интернациональные настройки в Windows Me указываются на вкладке International в программе Msconfig. В корректно установленной системе часть полей уже будет заполнена — для кодовой страницы, кода страны и т. д. Проще всего, безусловно, выбрать необходимый язык из списка Language. Главная хитрость — удалить после этого во всех заполненных полях пути (что-то вроде C:WINDOWSCOMMAND). Теперь в сеансе DOS можно переключать язык с помощью сочетания клавиш <Ctrl> и левая/правая <Shift>, как и было в KEYB. Этим же способом решаются и некоторые другие проблемы с локализацией.

Злосчастная
System Restore

Ну не пришлась почему-то эта подсистема по душе "продвинутым" пользователям. Вероятно, повод для этого дала сама Microsoft. Первая реализация System Restore действительно оказалась далеко не идеальной. К примеру, ее нельзя полностью запретить, некая таинственная деятельность продолжается даже после отключения штатными средствами, а папка _Restore демонстрирует изрядную живучесть.

Имеются и другие, довольно серьезные претензии. Слава Богу, что хотя бы удалось заранее обнаружить ошибку, в результате которой System Restore чудеснейшим образом перестанет корректно работать после 8 сентября 2001 г., и выпустить соответствующую заплатку (support.microsoft.com/support/kb/articles/Q290/7/00.ASP). Остается только посочувствовать пользователям, так и не приобщившимся к прелестям Internet и Windows Update.

Потому-то Internet буквально завален рекомендациями по наиболее полному и чистому искоренению System Restore. Откровенно говоря, и мы в свое время не удержались от этого соблазна ("Компьютерное Обозрение", # 35, 2000, itc.ua/article.phtml?ID=3655), хотя и с многочисленными оговорками. Проблема подобных методик состоит в том, что они фактически деинсталлируют всю подсистему PCHealth, в состав которой входит также (безусловно полезный) компонент System File Protection, и нарушают работу справки. Последнее горе, впрочем, отчасти поправимо, достаточно лишь восстановить определенные ключи реестра (www.activewin.com/winme/tips/FixWinMeHelp.reg).

Еще лучше воспользоваться System Restore Remover Pro (defsoft.iwarp.com). Эта небольшая утилита выполнена в виде апплета для Control Panel и позволяет деактивизировать PCHealth покомпонентно, в частности только System Restore и сопутствующие драйверы, причем очень корректно, вплоть до удаления папок _Restore. При этом, судя по всему, реально ничто не деинсталлируется, только правится реестр, и потому все операции абсолютно обратимы — функционирование той же System Restore можно восстановить даже обычным способом, через диалоговое окно System Properties.

Тем не менее, несмотря на все описанные (и оставшиеся неведомыми) огрехи, идея System Restore, безусловно, неплоха и имеет право на жизнь. Microsoft, кстати, собирается развивать ее и дальше — по крайней мере в клиентских версиях Whistler. Во всяком случае, в версии Beta 2 отключается она довольно корректно, с удалением папки _Restore.

System.ini
и файл подкачки

Как правило, файл подкачки Windows не требует ручной настройки, хотя кое-какими параметрами его функционирования действительно можно управлять. Чаще всего рекомендуют лишь подобрать и установить достаточно большой начальный размер — в окне System Properties. Однако в некоторых специфических случаях может потребоваться более тонкая настройка, поэтому пользователям из категории "продвинутых" наверняка пригодятся углубленные знания. Последующая информация справедлива для всей плеяды Windows 9х.

Как ни странно, параметры файла подкачки регулируются по старинке — в разделе [386Enh] файла System.ini. Первые два управляют его размещением:

PagingDrive=drive:
PagingFile=drive:folderfilename.ext

drive может быть любой доступной буквой логического диска, folder — папкой, filename.ext — произвольным именем файла. Наиболее ценное применение указанных настроек — использование единого файла подкачки для нескольких операционных систем, например Windows Me и Windows 2000, тем более что Microsoft все чаще прибегает к широкомасштабным программам распространения пробных версий своих новых ОС.

Впрочем, и здесь имеется один подвох. Если диск drive: вдруг окажется недоступным (после изменения конфигурации ПК, например переразметки диска), Windows не сможет загрузиться в нормальном режиме, выдав сообщение о фатальной ошибке. В этом случае придется воспользоваться загрузочной дискетой или режимом защиты от сбоев и внести соответствующие коррективы в System.ini.

Следующие два параметра регулируют размер (в KB) файла подкачки:

MinPagingFileSize=xxx
MinPagingFileSize=yyy


Естественно, максимальный должен быть не меньше минимального, хотя большого смысла его указывать нет — если Windows не хватит виртуальной памяти, она все равно потребует ее нарастить.

Еще один параметр — ConservativeSwapFileUsage — принимает значения 1 (включен) и 0 (выключен) и влияет на характер использования виртуальной памяти. В моменты простоя файловой системы Windows (начиная с версии 98) автоматически выгружает часть информации из физической памяти в файл подкачки, который при этом может изрядно разрастись без всяких на то оснований. Активизация этого параметра заставляет Windows прибегнуть к более "консервативному" алгоритму — максимально задействовать физическую память, а виртуальную использовать только по необходимости. Экспериментировать с этой настройкой имеет смысл при наличии 128 MB и более оперативной памяти.

Последняя настройка — Paging=off — позволяет полностью запретить использование виртуальной памяти. Хотя проще всего ее активизировать через диалоговое окно System Properties, в различных аварийных ситуациях может потребоваться непосредственное вмешательство в System.ini.

На заметку

  • Описанный выше параметр PerVMFiles не влияет на выполнение 16-разрядных Windows-программ, которые запускаются в специальной виртуальной машине. Для них справедливо ограничение в 120 одновременно открытых файлов. Чтобы решить эту проблему, потребуется замена одного из системных драйверов, который распространяется только непосредственно через службу поддержки Microsoft (support.microsoft.com/support/kb/articles/Q274/5/94.ASP) ;
  • При использовании современных IDE-дисков с большим кэшем (2 MB и более) Scandisk может автоматически запускаться даже после корректного завершения работы Windows 98 SE и Me. Соответствующая заплатка доступна через систему Windows Updates, но иногда требуется дополнительная настройка параметров в реестре (support. microsoft.com/support/kb/articles/Q273/0/17.asp);
  • Все версии Windows 9x некорректно работают с объемом оперативной памяти, большим 512 MB (support. microsoft.com/support/kb/articles/Q253/9/12.ASP). Во избежание ошибок необходимо ограничить размер дискового кэша с помощью параметра MaxFileCache в разделе [Vcache] файла System.ini. Лучше и надежнее воспользоваться утилитой вроде Cacheman (www.outertech.com).