ws2003.txt (cp866) Переход с Windows XP на одомашненный Windows Server 2003 Enterprise SP2 (февраль 2013) 64-битная Windows 7 - система чрезвычайно громоздкая (Windows 8 не рассматриваем вовсе - как неадекватную по интерфейсу, и даже просто пошлую, если посмотреть на картинки, глядящие с плиток). Начиная с Vista, Windows не ставится на FAT32 раздел, и её уже невозможно по-простому запаковать обычным архиватором, и восстанавливать оттуда, извлекать или сравнивать отдельные файлы и т.д. Восстановление же того, что упаковано специальными программами резервного копирования не, может быть быстрым в силу того, что распаковывать приходится слишком большие объёмы. Слишком накладно оказывается и создание при необходимости нескольких копий или разных версий системы на диске C: с переключением между ними простым переименованием основной директории (чтобы не путались разные C:\Program Files\ и C:\Documents and Settings\ их можно поместить внутрь того, что обычно называется C:\Windows\ - nLite позволяет задать такие установки). Людей, склонных к разумному минимализму (сочетающемуся с потенциальной мощью возможностей), не может не отталкивать сама идеология развития Windows, начиная с версии 6.0 (Vista) - бесконтрольное раздувание на десятки гигабайт, хранение всех версий каждого библиотечного модуля .DLL С другой стороны, Windows XP страдает от ограничения используемой физической памяти 3 практическими гигабайтами, введённым, конечно же, с прицелом на будущее принуждение к переходу на более новые системы (ссылка на драйверы, не учитывающие 36-битовую PAE адресацию - лишь повод). Но подобных ограничений нет в 32-битной операционной системе, очень близкой к Windows XP - Windows Server 2003 Enterpise (при том, что Server 2003 Standard ограничен точно так же, как и WinXP, и понятно, что не из-за неправильно сделанных драйверов). В действительности, ограничение по памяти в Windows XP можно преодолевать созданием Ramdisk'а в верхней "невидимой" памяти и размещением там файла подкачки с начальным размеров в ~200 МБ и далее растущим по мере необходимости. Всё работает очень даже неплохо при загрузке некоторого количества программ, потребляющих много памяти... но только при условии, что они все вместе не заняты операциями с большими объёмами памяти. Если, например, кодировать видео в несколько параллельных процессов (каждый из которых может использовать до 3 ГБ памяти при запуске WinXP с ключом /3GB в boot.ini), то работа очень сильно замедляется при использовании файла подкачки на Ramdisk'е. И совсем уж плохой становится ситуация с файловым кэшем - для него в пределах 3 ГБ просто не остаётся места. Если не включить в реестре параметр DisablePagingExecutive, то пойдут постоянные обращения к диску из-за "сброса" (не в файл подкачки - что было бы не так страшно - а просто сброса с целью освобождения физической памяти) страниц исполняемого кода работающих программ и DLL, с последующим считыванием этих страниц заново с обычного диска. Все эти неприятности преодолеваются переходом на 32-битную версию Windows Server 2003 Enterprise SP2. * * * Надо сказать, что WS2003 нет смысла ставить, например, на Pentium 4 Presott на P4P800X, т.к. в такой системе не поддерживается PAE и системная плата не позволяет ставить больше 4 ГБ памяти (а практически даже больше 3 ГБ ставить бесполезно). Для конкретности рассмотрим Core-i5 на P7P55D c 12 ГБ памяти, где WS2003 даёт множество преимуществ перед WinXP. Главное - возможность использовать все 12 ГБ памяти для программ и файлового кэша. Предел возможного - 16 ГБ при использовании /3GB в boot.ini, и 64 ГБ - без этого ключа, т.е. при ограничении виртуального адресного пространства каждой программы не 3-мя, а 2-мя ГБ. Однако, больше 16 ГБ на P7P55D всё равно нельзя поставить (4 слота памяти при поддержке максимум 4 ГБ модулей). WS2003 присуща гораздо более быстрая, нежели в WinXP, работа при суммарном использовании несколькими программами > 3 ГБ памяти, т.к. 1) не происходит постоянных пересылок страниц памяти в файл подкачки на Ramdisk'е и обратно, 2) не страдает файловый кэш системы, который обязан в WinXP умещаться в пределах первых 3 ГБ физической памяти, и потому сжимается до минимума, когда память нужна программам (настройка минимума через реестр невозможна). Файловый кэш в WS2003 оказывается раз в 5 вместительнее, чем под WinXP (проверено на многигабайтных файлах). Динамический Primo RamDisk на ~9 ГБ обеспечивает все те же самые возможности, которые даёт в случае WinXP статический Ramdisk, занимающий всю "невидимую" память > 3 ГБ. Очень важно, что при этом динамический Ramdisk не урезает без необходимости системный файловый кэш. Не нужен файл подкачки, необходимый в WinXP при суммарном использовании несколькими программами > 3 ГБ памяти. Отказ от файла подкачки на Ramdisk'е даёт возможность без перезагрузки системы использовать возможность переинициализации, которой обладает Primo Ramdisk, освобождая до 9-10 ГБ памяти для программ, которым она может вдруг потребоваться. В отличие от WinXP, программы, использующие AWE API, могут использовать больше 3 ГБ физической памяти. Правда, чтобы это работало, нужно разрешить для учётной записи право SeLockMemoryPrivilege (Lock Pages in Memory в Local Security Policy|User Rights Assignment), после чего сделать Logoff + Logon. Поддержка GPT разделов для дисков > 2.2 ГБ. Говоря по-простому, можно покупать внешние HDD 4+ ГБ. Правда, загрузка с GPT без UEFI считается невозможной. Как вариант, небольшой SSD для системы и большой внутренний HDD 4+ ГБ. Надо сказать, что для WinXP существует, хотя пока и не в свободном доступе, аналогичный драйвер от Paragon Software. Возможность установки WinXP и WS2003 на FAT-32 раздел позволяет архивировать ряд их последовательных стадий в инкрементальные .j архивы (jar32.exe 1997 года, автор Robert Jung, более известный ещё прежде того, как создатель архиватора ARJ), и восстанавливать оттуда. Более простого и надёжного способа нет. Правда, паковать надо не из-под работающего экземпляра архивируемой системы, поскольку многие файлы при работе заблокированы. Удобный доступ к .j архивам легко организуется в FAR+плагин Multiarc. Драйверы и программы под WS2003 как правило работают, если они работают под WinXP. Если что-то отказывается ставится (нередко по сугубо "лицензионным" соображениям), то для драйверов можно попробовать ручную установку через .inf файлы, а для программ, в крайнем случае, можно попытаться временно сменить тип установки системы с Server на Workstation Professional при помощи сочетания ANTIWPA.DLL и tweaknt.exe v1.21 (проверено - работает) В WS2003 работают многие драйверы старых вещиц, каких-нибудь ТВ-тюнеров или сканеров, которых просто нет для Windows Vista/7/8. В WS2003 несравненно быстрее, чем на WinXP, работает отрисовка консоли и GUI при не установленных ещё драйверах (т.е. при работе через VESA BIOS Extensions (VBE) - например в режиме 1024x768x32). 64-битовые процессоры с поддержкой VT - "технологии виртуализации", позволяют запускать виртуальные 64-битовые OS даже из-под 32-битовых систем. И здесь WS2003 обладает тем преимуществом перед Windows 7 x64, что куда меньше памяти и прочих ресурсов потребляет сам, больше оставляя для виртуализируемых OS. Поставив 32-битовую WS2003 можно не думать об установке двойных 32+64 версий программ, библиотек, кодеков и т.п., не думать о двойном 32+64 реестре, забыть об обновлениях системы (убрав саму службу обновлений nLite'ом). Антивирусы тоже не нужны, хотя приложив определённые усилия можно поставить даже те из них, что отказываются ставиться на серверную OS по "лицензионным" соображениям. На самом же деле против вирусов нужен лишь нормальный настроенный Firewall с "белым списком", по умолчанию запрещающий программам доступ в сети, в сочетании с внимательным отношением к запускаемым новым программам, недостаток которого впрочем можно компенсировать практикой относительно частого восстановления системы из архива. Специфика WS2003 в сравнении с WinXP - WS2003 не беспокоит сообщениями об автоматически найденном оборудовании с предложением установить драйверы. - System Restore отсутствует на установочных дисках WS2003. Не нужно. - Welcome Screen (как в WinXP) отсутствует. Само по себе не нужно, но... - CtrlAltDel напрямую не выходит в Task Manager, и не удаётся найти способа изменить это поведение. CtrlAltDel вызывает Task Manager, если включён Welcome Screen Login; эти вещи связаны. Возможно, в такой ситуации неплохо бы найти способ вообще запретить CtrlAltDel, чтобы пользоваться этим сочетанием в эмуляторах... Но также, возможно, что такой удобнее выполнять Logoff и Restart через CtrlAltDel, и, соответственно освободить от пункта Logoff стартовое меню... - Fast User Switching отсутствует. Не нужно. Программы под другой учётной записью можно запускать через runas.exe - Отличить WinXP и WS2003 по стандартным Environment-переменным - невозможно, только по ver|find ... - Объём базы данных для проверки системных файлов (sfcfiles.dll) заметно больше, чем на WinXP - Можно изменить тип установки системы с ServerNT на WinNT (workstation), если сперва зарегистрировать ANTIWPA.DLL и затем использовать tweaknt.exe v1.21. В этом режиме показывается заставка Windows XP, можно использовать Welcome Screen, CtrlAltDel вызывает Task Manager, а не экран безопасности. Однако, начинают действовать и ограничения на объём памяти точно такие же, как в Windows XP ~ 3 ГБ. Поэтому, если и есть от такого режима польза, то только для установки такого ПО, которое непременно нужно проводить через установку, и которое отказывается устанавливаться на серверной системе. - Ключ /NOPAE в boot.ini не работает (как и в WinXP), не помогает и сочетание /noexecute=AlwaysOff /nopae, но добиться отключения PAE можно заменой ядра ключом /KERNEL=ntoskrnl.exe - Ключ /HAL=... для замены HAL не работает с HALAACPI.DLL и HALACPI.DLL (останов после вывода надписи 1 System Processor ... MultiProcessor Kernel), и, тем более, с HALAPIC.DLL (останов ещё раньше, после загрузки чего-то связанного с ACPI, как видно из списка /sos. - При использовании ключа /3GB может потребоваться некоторое уменьшение части адресного пространства приложений в пользу системы параметром /USERVA=2900 (величина в МБ, может варьироваться). Без этого параметра на машинах с большим количеством памяти могут выдаваться ошибки нехватки адресного пространства под системные нужды (например, uTorrent.exe не соединяется с торрент-трекером и пишет `An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full`). - Для корректной работы на машинах с большим кол-вом ГБ памяти и с /3GB адресным пространством приложений может также потребоваться задание параметра PoolUsageMaximum, см. http://support.microsoft.com/kb/304101 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] "PagedPoolSize"=dword:ffffffff "PoolUsageMaximum"=dword:0000003c ; 60% Если эта величина, определяющая процентный барьер, после которого будет производится внутренняя очистка слишком велика (и это может быть значение, используемое по умолчанию), то системе может не хватить ресурсов при затратных операциях. Например, при копировании подряд нескольких больших файлов с одного NTFS раздела на другой функцией Win32 API CopyFile() может выдаваться ошибка 1450 "Insufficient system resources ...", или, в самом худшем случае, возможна весьма длительная задержка на операции ввода-вывода с блокировкой пользовательских действий, связанных с обращением к диску. Установка с жёсткого диска с использованием результата работы nLite Установка WS2003 не с CD или USB Flash, а прямо с жёсткого диска C:\ без использования winnt.exe 1) Копировать файлы в С:\$OEM$\ и C:\I386\ 2) Вынести наверх два файла - C:\setupldr.bin и C:\txtsetup.sif 3) В txtsetup.sif в начало раздела [SetupData] добавить строку SetupSourceDevice = "\device\harddisk0\partition1" иначе программа установки будет требовать CD. 4) Patch для setupldr.bin repls -w -b [0x74][0x03][0xe9][0x08][0x00][0x39][0x56][0xdc] [0xeb][0x1a] SETUPLDR.BIN repls -w -b $WIN_NT$.~BT[0][0][0] i386[0][0] SETUPLDR.BIN repls -w -b $WIN_NT$.~BT[0] i386\[0] SETUPLDR.BIN repls -w -b \minint\txtsetup.sif[0] \i386\txtsetup.sif[0] SETUPLDR.BIN repls -w -b \minint\system32\[0] \i386\system32\[0] SETUPLDR.BIN repls -w -b \$WIN_NT$.~BT\[0] \i386\[0] SETUPLDR.BIN 5) Загрузиться в DOS с himem.sys и запустить grub.exe --config-file="chainloader (hd0,0)/SETUPLDR.BIN" (если уже установлена загрузка через NTLDR, то можно, по-видимому, переименовать SETUPLDR.BIN в NTLDR и просто перегрузиться). Некоторые полезные модификации системных файлов Patch для удаления C:\wmpub\wmiislog\ - как и другие директории, содержащие защищаемые SFC файлы, её "держит" winlogon.exe - можно закрыть Handle в Process Explorer и удалить; главное же, чтобы не создавалась заново надо изменить имя на недопустимое в файловой системе: repls -wk "W[0]M[0]P[0]u[0]b[0]" "W[0]M[0]P[0]u[0]?[0]" sfcfiles.dll Patch блокирующий создание директории \RECYCLER (на NTFS) или \Recycled (на FAT32). Нужен при отключении использования Корзины. repls -wk -b R[0]e[0]c[0]y[0]c[0]l[0]e[0]d[0][0][0] * SHELL32.DLL repls -wk -b R[0]E[0]C[0]Y[0]C[0]L[0]E[0]R[0][0][0] * SHELL32.DLL Patch kbdru.dll для исправления раскладки русской клавиатуры Если смотреть kbdru.dll как Unicode, то содержимое там вполне очевидное... repls -w "3[0]3[0][0x2116]" "3[0]3[0]#[0]" KBDRU.DLL repls -w "4[0]4[0];[0]" "4[0]4[0]$[0]" KBDRU.DLL repls -w "7[0]7[0]?[0]" "7[0]7[0]&[0]" KBDRU.DLL repls -w "2[0]2[0][34][0]" "2[0]2[0]@[0]" KBDRU.DLL repls -w "6[0]6[0]:[0]" "6[0]6[0]^[0]" KBDRU.DLL repls -w "[0xBF][0].[0],[0]" "[0xBF][0]/[0]?[0]" KBDRU.DLL repls -w "[0xDC][0]\[0]/[0]" "[0xDC][0]\[0]|[0]" KBDRU.DLL