Создадим свой дистрибутив Windows XP
1. Windows XP Professional Corporate...
Какой дистрибутив выбрать за основу? На этот счёт есть довольно богатый выбор: Home Edition, Professional Edition и Corporate Edition. Первые два варианта требуют активации. Всевозможные "крякалки" устраняют необходимость активации, но за счёт изменения некоторых файлов. Не знаю, как вам, но мне сам факт произвольного изменения файлов в ещё "чистой" системе очень не нравится. Поэтому я выбираю третий вариант — Corporate Edition. Возникающая в связи с этим проблема — Corporate Edition не существует в русском переводе. Однако это тоже легко решается.
2. Service Pack I.
Здесь вопросов не возникает. Если Microsoft говорит "надо" — значит, и в самом деле, пора... Итак, берём англоязычный дистрибутив Windows, копируем его на диск, скачиваем для него Service Pack и внедряем его в дистрибутив, распаковав предварительно куда-нибудь, а затем запустив программу update.exe из распакованной папки update с ключом /s:<путь_к_папке_i386_скопированного_оригинального_дистрибутива>.
3. Multilanguage User Interface RU
Есть, по крайней мере, три способа получить "русскую" Windows XP. Первый появился сразу же, как только вышла система. Это т.н. "русифицирующие патчи", созданные, как правило, в популярной программе Restorator и русифицирующие отдельные части пользовательского интерфейса. Минус такой русификации — файлы теряют свои цифровые подписи, что потенциально снижает надёжность системы.
Второй способ — непосредственно "чистая" русская Windows XP от Microsoft. Минусов тут несколько. Во-первых, для любого (в т.ч. и легального) пользователя — заплатки и пакеты обновлений для русской версии выходят обычно лишь спустя несколько недель после выхода английских вариантов. (хотя для кого-то это может и не кажется минусом). Второе — касается нелегальных пользователей. Для русской версии не существует т.н. "корпоративного" варианта, не требующего активации. Поэтому система активации должна быть, так или иначе, взломана. Один из вариантов — замена некоторых файлов их взломанными версиями. Здесь минус, опять же, в потере цифровых подписей у этих файлов. Другой вариант — запуск специальной системной службы, следящей за поползновениями системы провести активацию и "давящей гадину" в корне... Не знаю, как вам, но меня никогда не радовали всякие системные службы подобного рода. Мне кажется, что система должна работать самостоятельно, а не через многочисленные пилюли и таблетки. Тем более, что эти "пилюли" отнимают драгоценные ресурсы памяти и процессора. К тому же не факт, что в следующем обновлении Microsoft не вставит антибиотик, который будет автоматически находить и убивать такую службу. В общем, система гораздо лучше работает, когда её части работают слаженно, чем когда они спорят между собой, кому, что и зачем делать.
Наконец, третий способ, которым я и воспользуюсь — применение Multilanguage User Interface. Это пакет от самого Microsoft (а значит, всё в нём подписано нужными цифровыми подписями). Этот пакет ставится и работает ПОВЕРХ системы, а сами системные файлы можно безболезненно менять — их интерфейс всё равно останется при этом русским. А ещё это значит, что поставив данный пакет поверх английской версии Windows она всё равно останется английской — т.е. сможет обновляться всеми пакетами обновлений, выпускаемыми для английской версии (а они выпускаются в первую очередь), и при этом оставаться русской. Минусами этого варианта является не такая полная русификация, как в обычной русской версии, а также дополнительные 100мб, занимаемые пакетом на диске. Однако эти минусы, мне кажется, намного безобиднее, чем минусы двух других вариантов, поэтому я выбираю MUI RU.
Итак, необходимо установить MUI, причём так, чтобы он встал, что называется, "сам". Для этого, во-первых: в дистрибутиве со внедрённым пакетом обновления находим файл muisetup.ex_ и, распаковав его, заменяем им оригинальный файл, находящийся в пакете MUI (распаковать его можно, переименовав расширение в .cab). Затем создаём в дистрибутиве папку $OEM$, а в ней — папку muiinst и копируем туда содержимое пакета русификации (с заменённым muisetup.exe). В пакет входит указанный файл, ещё несколько других файлов и папка Ru.mui. После этого непосредственно в папке $OEM$ (не в muiinst) создаём файл cmdlines.txt, в котором пишем:
[commands]
"muiinst\muisetup.exe /i 0419 /d 0419 /l /f /r /s"
(Данная команда выполнит "тихую" установку русского языка, затем переключит язык экрана приветствия и пользователей на русский).
В результате всех этих действий мы получим дистрибутив Windows XP SP1 Corporate + MUI RU slipstreamed. Звучит уже солидно, не правда ли? :)
Осталось добавить несколько сервисных утилит, сделать образ загрузочного диска и записать его на "болванку"
4. Дополнительные «полезности»
Создадим в корне проекта будущего диска папку "Images". В ней поместятся загрузочные образы дискет, содержащие утилиты, которые могут понадобиться для оффлайн-обслуживания диска или доступа к данным.
Первая утилита - Partition Magic. Её "дискетный" вариант можно создать из полной версии, или же скачать в интернете. В оригинале предлагается обычно "двухдисковый" вариант, однако его легко "утоптать" в одну 2.88мб дискету-образ. Для этого при помощи WinImage создайте образ из "первой" дискеты, затем измените формат с 1.44мб на 2.88мб и добавьте к образу несовпадающие файлы со второй дискеты.
После этого — добавьте в набор файлы himem.sys, country.sys, smartdrv.exe, xmsdsk.exe, UNIIDECD.sys, mscdex.exe, keyrus.com и отредактируйте config.sys примерно следующим содержимым:
DOS=HIGH,UMB,NOAUTO
AccDate = a- b- c- d- e- f- g- h-
Lastdrive=Z
Switches = /F
NumLock = Off
STACKS=0,0
Break = On
Country=007,866,A:\country.sys
device=himem.sys /t:off
Удобнее всего будет, если Partition Manager будет запускаться не с носителя непосредственно, а из виртуального Ram-диска. Для этого нужно добавить соответствующие драйвера. Также можно добавить старый-добрый Volcov Commander и отредактировать его на автоматичекий показ при запуске меню с различными элементами Partition Magic. Autoexec.bat для этого может быть примерно следующим:
@echo off
cls
ECHO LOADING Partition Magic 8.0 Professional...
echo Initialization...
smartdrv.exe
xmsdsk.exe 4096 Z: /y /t > NUL
z:
copy a:\*.* > NUL
md vc
copy a:\vc\*.* vc > NUL
set comspec=Z:\command.com
set shell=Z:\command.com
set temp=Z:\
set tmp=Z:\
CD Z:\
echo mounting CD-Rom device(s)...
drvload UNIIDECD.sys /D:CD1 > nul
mscdex /D:CD1 /L:v > nul
path=%path%;z:\
cls
z:\vc\vc.COM keyrus.com /full > nul
В целом образ дискеты Partition Magic будет содержать следующие файлы:
VC\
AUTOEXEC.BAT
CHKDSK.EXE
COMMAND.COM
CONFIG.SYS
COUNTRY.SYS
DIRINFO
DRVLOAD.COM
FDISK.EXE
FORMAT.COM
HIMEM.SYS
IO.SYS
KEYRUS.COM
MOUSE.COM
MSCDEX.EXE
MSDOS.SYS
partinfo.exe
PMHELP.DAT
PQBOOT.EXE
PQMAGIC.EXE
PQMAGIC.OVL
PQMAGIC.PQG
PQPB.RTC
PTEDIT.EXE
RESCUE.TXT
SMARTDRV.EXE
SYS.COM
XMSDSK.EXE
zABOUT.PQG
Папка VC содержит Volcov commander.
Образ сохраняем из WinImage в НЕСЖАТЫЙ файл (например, pq.ima)
Вторая утилита — Easy Recovery Pro. Точно также, создаём в полном варианте программы диск аварийного восстановления и снимаем с него несжатый образ при помощи WinImage. Образ сохраняем в файл EasyRec.ima.
Третья утилита — просто DOS. Настоятельно рекомендую для этого "Универсальный загрузочный диск", образ которого настоятельно рекомендую также расширить до 2.88мб и добавить к нему файлы для поддержки NTFS. Этот образ сохраним как Ucd36Wme.ima.
Итак, в результате получаем в корне диска папку Images с тремя сохранёнными там образами дискет.
Наконец, соизмерив желаемое с возможным, создаём в корне папку Appendix и добавляем в самый необходимый (при установке) софт. Если место остаётся — можно добавить туда же и не самый необходимый :). У меня в этой папке находится, к примеру, дистрибутив Касперского с последними на момент записи образа обновлениями баз и ключиками (либо генератором таковых), дистрибутив The Bat! со всеми необходимыми приладами и лекарствами, дистрибутив Total Commander, дистрибутив WinRar c ключиком, Bootvis, XP-AntiSpy и ещё некоторые второстепенные утилиты. Там же находятся скрипты-cmd для запуска автономной установки Service Pack и MUI на уже работающие системы. В общем, тут всё на ваш вкус, но лучше всё же обдумать, что именно вы обычно бросаетесь ставить на свежеустановленную винду в первую очередь. При хорошей оптимизации дистрибутива и большой (800мб) болванке можно упихнуть вместе с виндой дистрибутив офиса.
...добавляем загрузочное меню
Как я уже упомянул, загрузчик у Windows XP весьма прост и, в принципе, может быть легко заменён любой собственной программой без ущерба для установки. Идём на http://bootcd.narod.ru и скачиваем универсальный загрузчик. В зависимости от версии в корень проекта нужно будет поместить, собственно, файлы загрузчика. У меня это:
bcdwiz13.cpf
bcdwiz13.fnt
bcdwiz13.sys
BOOTCAT.INI
Первые три относятся а загрузчику, а последний описывает, собственно, меню загрузки. Для упомянутых включённых в проект утилит и соответствующих имён файлов-образов этот файл может быть следующим:
;
;
C:\ ; Загрузка с жёсткого диска ; %Help000%
\I386\SetupLdr.Bin ; Установка Windows XP Professional SP 1 ; %Helpi386%
\IMAGES\PQ.IMA ; Запуск PowerQuest Partition Magic 7.0 Pro ; %HelpPQM%
\IMAGES\EASYREC.IMA ; EasyRecovery Pro на CalderaDOS ; %HelpEREC%
\IMAGES\UCD36WME.IMA ; Универсальный загрузочный диск (UBD) ; %HelpUBD%
[Options]
Timer = 10
Default = 0
BGColors = 10, 10, 30, 30
AboutBox = 01, 02, 78, 05, 01, 02, 78, 15, 1, 0, 0, 0, 1b, 30, 1b, 1b, 0f, 1b
MenuBox = 01, 08, 78, 09, 01, 08, 78, 09, 1, 0, 1, 1, 1b, 30, 1b, 1b, 0f, 1e
HelpBox = 01, 18, 78, 05, 01, 08, 78, 15, 1, 0, 0, 0, 1b, 30, 1b, 1b, 0f, 1b
ScrollBox = 28, 00, 51, 01, 28, 00, 51, 03, 1, 1, 0, 0, 30, 30, 30, 30, 30, 30
[Strings]
%AboutTitle% = О диске
%AboutText% = ~
Мультизагрузочный диск для установки Windows XP Professional, разметки разделов
жёсткого диска, а также восстановления файлов в случае разрушения Windows.
~
%ScrollTitle% = Подсказка:
%ScrollText% = ~
Используйте Tab или Shift+Tab для перехода к справочным окнам и обратно.
Нажмите Enter для продолжения загрузки с компакт-диска или Esc для перезагрузки компьютера.
~
%MenuTitle% = Варианты загрузки
%MenuTime% = Осталось времени до автоматической загрузки:
%HelpTitle% = О выбранном варианте загрузки
%Help000% = ~
Продолжить обычную загрузку с жёсткого диска компьютера (C:)
~
%Helpi386% = ~
Запустить установку Windows XP Professional, Service Pack 1.
Для установки Service Pack 1 на уже установленную Windows XP
Professional (EN), запустите SP1Setup.cmd из папки Appendix на
этом CD.
~
%HelpEREC% = ~
О программе EasyRecovery™
Набор утилит восстановления для восстановления потерянных данных и повреждённых файлов.
EasyRecovery поможет вам восстановить файлы, которые было
невозможно использовать по следующим причинам:
· Повреждение вирусом
· Повреждённые сектора на жёстком диске или съёмном носителе
· Непредвиденное завершение работы программы, операционной
системы или компьютера
· Случайное повреждение данных в критических областях
· Другие события, которые могут вызвать повреждение данных в файле
(c) 2002 Ontrack Data International, Inc.
http://www.ontrack.com/
~
%HelpPQM% = ~
PowerQuest Partition Magic 8.0 Professional позволяет разбивать жёсткий диск
на разделы, "сшивать" несколько разделов в один, перемещать и изменять размеры существующих разделов, преобразовывать разделы из FAT32 в NTFS и обратно.
Программа полностью заменяет FDISK, и обладает намного большими возможностями.
~
%HelpUBD% = ~
Универсальный загрузочный диск автоматически монтирует тома NTFS в режиме
DOS с возможностью выбора конфигурации памяти и кодовой страницы.
Создан на основе MS-DOS 8.0
(http://purl.org/NET/UBD/)
~
Собственно, образ...
Теперь, когда проект готов, осталось создать из него образ. Делается он при помощи упомянутой утилиты CDImage. Чтобы не набирать вручную каждый раз всё множество её настроек, нужно создать cmd-файл с вызовом CDImage со всеми нужными аргументами. Например, такой:
Cdimage -lWXPSP1_EN -t08/23/2002,19:00:00 -h -nt -bc:\bootimg\bcdwboot.bin -oi -y5 -m c:\cdconstruct f:\xpsp1.iso pause
(здесь подразумевается, что загрузочный сектор "универсального загрузчика" лежит на c:\bootimg\bcdwboot.bin, проект находится в папке с:\cdconstruct, а полученный образ с именем xpsp1.iso разместится на диске f. Подробнее о ключах CDImage можно прочесть в предыдущей статье).
Образ затем записываем на "болванку" при помощи любой программы записи дисков. Желательно — в режиме Disk At Once/96 — в этом случае загрузка будет чуть-чуть быстрее.
Вот, собственно, и всё! Мифы о дистрибутивных дисках Windows XP/2K
Здесь мне хотелось бы упомянуть несколько утверждений относительно загрузочных дистрибутивных дисков Windows, которые я встречал в некоторых источниках как обязательные, но которые, на самом деле, не являются таковыми.
Во-первых: имя (метка) диска с дистрибутивом может быть совершенно любым (допустимым), а вовсе не в точности такое же, как на оригинальном дистрибутиве.
Во-вторых: содержимое маркерных файлов не играет совершенно никакой роли. Лучше, естественно, если они краткие.
В-третьих: относительно датировки файлов. Обычно говорится, что в дистрибутиве все файлы должны иметь одну и ту же дату, а если в дистрибутив внедрён Service Pack, то может быть не больше двух различных дат. Я не проверял этого утверждения, так что лучше ему следовать. В команде CDImage можно указать дату и время для помещаемых в образ файлов.
В-четвёртых: регистр названий файлов не имеет значения, поскольку при использовании файловой системы ISO9660 все файлы автоматически воспримут верхний регистр.
На сём, наконец-то, завершаю сей опус о загрузочных дисках.