Создание загрузочных дисков Windows XP


(голосов: 2)
Данная статья описывает особенности создания и записи загрузочных дисков, предназначенных для установки на компьютер ОС Windows XP, а также могущих включать в себя дополнительные сервисные функции.
=====================================
В настоящее время в продаже можно встретить довольно большое количество различных дисков с Windows XP. Подавляющее большинство из них содержат саму систему, иногда с добавлением папки "Crack", содержащей инструкции и инструменты для взлома пиратской копии через замену некоторых системных файлов. Реже встречаются комбинированные диски, которые помимо Window XP включают в себя также некоторые офисные программы и утилиты. В последнее время также стали появляться диски, содержащие Windows XP с включённым Service Pack 1, а также "продвинутые" варианты, вроде Windows XP en SP1 + MUI ru. Между тем, имея на руках дистрибутив Windows XP и CD-recorder довольно просто самостоятельно создать свой вариант дистрибутива, включающий, помимо прочего, ваши любимые утилиты и сервисные средства. Для этого не нужно иметь никаких особых знаний — всё, что нужно, уже достаточно хорошо задокументировано и не представляет никакого секрета. Однако... лень-матушка! Сама необходимость в чём-то разбираться и искать необходимую информацию уже отпугивает многих... А потому основной целью данной статьи является не выдумывание каких-то новых методов, а сведение воедино основных общеизвестных фактов и методик, позволяющих эффективно и быстро создавать свои дистрибутивы.
====================================
Как устроен загрузочный диск?

Спецификация (описание) загрузочных CD-дисков El-Torito открыта и может быть легко найдена в интернете через любой поисковик (если повезёт — то даже на русском языке). Эта спецификация достаточно подробна и широка. Она, в частности, позволяет создавать множество вариантов загрузки для разных платформ. С другой стороны, поддержка этой спецификации зависит от конкретного компьютера, а точнее — от возможностей BIOS. То, что работает на одном компьютере вовсе не обязательно будет работать на другом. Более-менее определённо можно говорить о поддержке трёх вариантов загрузки El-Torito, поддерживаемых практически всеми современными компьютерами — это эмуляция гибкого диска, эмуляция жёсткого диска и отсутствие эмуляции. Во всех этих вариантах, помимо основной файловой структуры, на CD-ROM создаётся непрерывный блок данных, называемый также загрузочным образом, который считывается в память и выполняется, согласно выбранному варианту эмуляции.

При эмуляции гибкого диска загрузочный образ интерпретируется как гибкий диск "A", при этом фактический дисковод (если таковой имеется) перемещается на следующую букву ("B"). Размер загрузочного образа равен размеру дискеты — 720кб, 1.44мБ, 2.88мБ и пр. Сам образ представляет собой точный (побайтовый) образ обычного (гибкого) загрузочного диска, и если, например, взять такой образ и записать его на дискету, то он будет работать в точности так же, как если бы находился на CD-Rom. Точно также можно взять любую загрузочную дискету и, считав с неё образ, использовать его как загрузочный образ для собственного загрузочного CD. Для обращения с загрузочного образа к остальной части CD-Rom необходимы драйвера, так же, как и при работе с обычной дискеты (например, через mscdex). Если забыть об этом, то возможна неприятная ситуация, когда загрузившись с CD-rom выяснится, что сам CD-Rom при этом недоступен! Загрузочные образы для эмуляции гибкого диска можно создавать, непосредственно считывая побайтно образ с заранее подготовленной и отлаженной дискеты, либо воспользовашись специальными программами для работы с образами дискет — например, WinImage (ссылку на неё можно найти в предыдущей статье). Последний вариант не требует использования дискеты и позволяет создавать образы размером до 2,88мБ.

При эмуляции жёсткого диска загрузочный образ интерпретируется как жёсткий диск "C", при этом вся логическая структура жёстких дисков перемещается на одну букву вверх ("C" становится "D", "D" — "E" и пр.). Размер загрузочного образа ограничен лишь размером носителя, т.е. вы можете создать загрузочный образ размером с целый компакт-диск (правда, при этом уже не сможете записать на него никакие другие данные). В остальном эмуляция жёсткого диска эквивалентна эмуляции дисковода. Загрузочный образ для эмуляции жёсткого диска можно создать, например, создав на (физическом) жёстком диске загрузочный раздел нужного размера и настроив его для нормальной работы, а затем скопировав образ при помощи какой-нибудь программы копирования образов дисков.

Наконец, третий режим — без эмуляции. В этом случае загрузочный образ считывается в память и выполняется, при этом не подменяя собой ни дисковода, ни жёсткого диска. В связи с этим выполняемый загрузочный образ не имеет возможности (тривиальной) обратиться к самому себе или своим частям. Этот вариант чаще всего используется при создании небольших загрузчиков, которые запускают какую-нибудь программу непосредственно с CD-Rom.
===================================
Загрузочные диски Windows

Возможность установки системы путём загрузки непосредсвенно с "системного" CD-ROM появилась, если мне не изменяет память, в Window 98. Там используется вариант эмуляции гибкого диска — т.е. при загрузки с CD-ROM система ведёт себя так же, как при загрузке с дискеты. При этом загрузчик выполняет довольно внушительную часть действий по взаимодействию с пользователем и подготовке системы к работе. Например, именно через загрузчик вы выбираете, собственно, вариант загрузки — работать с CD-Rom, скопировать нужные файлы на Ram-диск, либо просто запустить систему без поддержки CD-ROM. Затем, опять же, именно загрузчик выполняет указанный вами вариант. И только если вы выбираете в качестве варианта "Установку Windows 98", загрузчик обращается к данным на CD-Rom и запускает setup.exe, который находится уже вне его самого. Иначе говоря, если у вас будет "голый" загрузочный CD-ROM Windows 98, не содержащий никаких файлов, то единственное, что вы НЕ сможете сделать с этим диском — это установить Windows 98, в то время, как все остальные функции (помощь по установке, форматирование и разбиение диска и прочие функции) будут доступны и работоспособны.

В Windows 2000 и XP метод загрузки изменился. Теперь там используется режим "без эмуляции". Сам по себе загрузчик очень мал. Его единственная функция — вывод на экран фразы "Press any key to run from CD...", после чего загрузчик ждёт некоторое время, и, если пользователь нажал кнопку, то с CD-rom загружается файл %Platform%SetupLdr.Bin (для PC это будет i386setupldr.bin), и ему передаётся управление. Если пользователь проигнорировал приглашение загрузчика, то спустя несколько секунд управление будет передано обратно в BIOS, загрузка с CD-Rom будет воспринята как неудачная, и BIOS выполнит следующие предписанные в её настройках действия (попытается загрузиться с дискеты, жёсткого диска и пр.). Таким образом, все действия по подготовке и установке Windows в данном случае выполняются непосредственно средствами установки Windows, вне зависимости от загрузчика. "Голый" загрузочный диск такого вида совершенно бесполезен и никаких действий, кроме вывода на экран строки приглашения и некоторой паузы ожидания выполнить не может. С другой стороны, столь простой загрузчик может быть легко создан средствами пользователя, или же вообще проигнорирован без ущерба для установки.

=====================================
Как делаются загрузочные диски Windows XP?

Создавать загрузочные диски сейчас умеет практически любая программа для записи CD-дисков (Easy CD Creator, Nero, WinOnCD, CD-Mate и пр.). Метод работы примерно одинаков во всех из них — в свойствах готового проекта, содержащего дистрибутив Windows, указывается путь к файлу, содержащему загрузочный образ и указывается тип эмуляции. После чего проект записывается на "болванку". Поэтому любую из этих программ, в принципе, возможно использовать для записи загрузочного диска Windows. Однако в самой Мiсrоsоft для этого используется другой инструмент, а именно — утилита CDImage. Это небольшая консольная программа (размер 47-110кб в зависимости от версии), при запуске выводящая предупреждающую фразу, что она "for Microsort internal use only" (только для внутренного использования в Microsoft). Данная утилита используется для подготовки образа диска из заданной дистрибутивной папки и с заданным загрузочным образом El-Torito. Программа работает только в Windows 2000/XP. К тому же она не умеет сама записывать диски, поэтому получаемый в результате образ диска придётся записывать на "болванку" при помощи какой-нибудь другой программы. Однако у этой утилиты есть, по крайней мере, одна возможность, которой нет ни в одной другой программе подобного рода. А именно — возможность создавать т.н. "hardlinks" ("жёсткие ссылки"). Те, кто знаком с файловой системой EXT, знают, о чём здесь речь. Суть жёстких ссылок состоит в том, что если в образе находятся несколько одинаковых (по содержимому) файлов, то они не записываются многократно, но записывается лишь одна копия, для которой создаются ссылки во всех нужных каталогах с соответствующими именами (теоретически такое можно создать вручную и на FAT32, но это будет работать только до первого запуска ScanDisk, который при этом будет жутко ругаться). Иначе говоря, если вы записываете на диск 100 одинаковых файлов с разными именами размером по 500мб, то в результате создания HardLinks размер полученного образа будет не 50гБ, а всё те же 500мб (плюс ещё незначительное место для хранения заголовков файлов). Это позволит, например, без значительного увеличения размера образа добавить к дистрибутиву Windows со внедрённым Service Pack сам Service Pack в отдельной папке — все дублирующиеся файлы будут сокращены за счёт hardliks, а диск станет более универсальным в использовании — поскольку можно будет не только устанавливать Windows с Service Pack с этого диска, но ставить с помощью него же Service Pack на уже установленную Windows. Другая особенность CDImage — возможность создавать и комбириновать разные файловые системы. В распространённых программах записи можно, обычно, создавать систему ISO9660 и Joliet. В CDImage можно создавать эти файловые системы в любых сочетаниях, а также ещё и UDF. Если посмотреть на стандартный дистрибутив Windows XP в отличие от "самопального", то зачастую можно заметить, что в стандартном дистрибутиве отсутствует вообще система joliet, но лишь ISO9660, и притом не совсем стандартная — она может содержать длинные имена файлов (хотя по стандарту такого быть не может). В принципе, наличие или отсутствие Joliet значения не имеет, поскольку програме установки он не нужен, но разница всё же очевидна. Можно также создать диск с одной лишь системой joliet или udf БЕЗ ISO9660. В этом случае при открытии такого диска, скажем, из под MS-DOS в корне диска будет находиться один единственный текстовый файл, с информацией о том, что диск нельзя прочитать в операционной системе, не совместимой с соответствующим форматом (Joliet или UDF). "Стандартные" дистрибутивные диски Windows XP, сделанные при помощи CDImage содержат hardlinks и единственную файловую систему ISO9660. Однако замечу, что ни hardlinks ни уникальная ISO9660 не являются обязательными условиями для работы дистрибутива.

=====================================
Информация для создания своего дистрибутива Windows XP

Минимальный РАБОЧИЙ дистрибутив Windows XP для 32-разрядной платформы PC состоит из папки i386 (о её содержимом будет сказано ниже) и нескольких т.н. "маркерных" файлов. В оригинальной версии таких файлов два: "Win51" и "Win51ip" (без расширения). Содержимое и регистр названия файлов значения не имеют (как правило это обычные текстовые файлы размером в несколько байт, содержащие одно единственное слово, например "Windows" или "Sp1". Регистр не имеет значения, поскольку в системе ISO9660 все имена приводятся к верхнему регистру). Все остальные файлы и папки содержат дополнительные сервисные возможности и, в принципе, для установки системы не нужны. Если в дистрибутив внедрён пакет обновления (для Windows XP он на момент написания статьи всего один), то в корень диска добавляется ещё один маркерный файл, соответствующий этому пакету (в случае с Service Pack 1 это "Win51ip.sp1"). Итак, минимум, что нужно сделать, чтобы получить рабочий дистрибутив Windows XP, это скопировать с оригинального дистрибутива папку i386 и все маркерные файлы. Если записать такой компакт-диск, то с него можно будет установить Windows XP либо из msdos, командой i386winnt, либо из другой Windows, командой i386winnt32.

Помимо указанных, на оригинальном дистрибутиве содержатся также следующие объекты: файлы autorun.inf и setup.exe — для автоматического запуска установки Windows при вставке диска в CD-ROM при работающей Windows со включенным автозапуском; папка docs, содержащая различные документы в текстовом формате; папка valueadd, содержащая некоторые дополнительные сервисы и утилиты, предназначенные, главным образом, для системных администраторов, которые могут быть отдельно установлены на уже работающей системе; папка support, содержащая средства для создания систем автоматического развёртывания, что может быть полезно для производителей и поставщиков компьютеров для продажи компьютеров с предустановленной системой. Кроме "минимально необходимых", а также (хотя и необязательно) autorun.inf и setup.exe, остальные объекты на оригинальном дистрибутиве не являются "жизненно необходимыми", и вы можете сами решить, стоит ли включать их в свой вариант дистрибутива. Никаких ограничений по поводу наличия каких-либо других папок или файлов на диске не существует, т.е. вы можете добавлять туда всё, что посчитаете нужным. Например, если у вас имеется дистрибутив-обновление (т.е. дистрибутив, установить Windows с которого можно только при наличии инсталляции или дистрибутива предыдущей версии Windows), то вы можете добавить в корень своего дистрибутива две пустые (можно даже сказать, "маркерные") папки "Win98" и "Drivers". Тогда при установке, когда программа установки попросит у вас подтвердить законность обновления, вставив оригинальный диск с дистрибутивом предыдущей версии Windows, вы можете, не заменяя диска, нажать "Enter", и установка, найдя на диске эти "маркерные" папки решит, что всё в порядке :).


Что из "своего" можно добавить на диск?

Как я сказал, на это нет ограничений, однако стоит описать несколько возможностей, дабы направить возникающую в таких случаях безудержную фантазию в нужное русло :)

Во-первых, программу для работы с разделами, вроде Partition Magic, или какую-нибудь другую (например, Paragon partition manager/explorer). Тогда прямо с CD-Rom вы сможете без лишних усилий изменять структуру разделов жёсткого диска — например, создать раздел для установки или отформатировать существующий.

Во-вторых, программу для офф-лайн доступа к NTFS-разделу диска. Она может оказаться полезной, если система вдруг перестанет работать. Очень хорошим, на мой взгляд, вариантом, является "Универсальный загрузочный диск" (скопируйте последнюю фразу вместе с кавычками в поле поиска "Яндекса", и через несколько секунд вы узнаете, где можно его скачать).

В-третьих, программу (и не одну!) для восстановления повреждённых файлов/дисков/разделов. Для восстановления файлов подойдёт OnTrack Easy Recovery, а для доступа к операционной системе — ERD Commander 2002 или Windows Portable Environment.

"Вооружив" свой дистрибутив этими программами, вы сможете не только установить Windows, но и эффективно восстанавливать и администрировать её в случае каких-либо повреждений. О том, как именно это сделать, я расскажу чуть ниже...

Как устроена и что можно сделать с папкой i386?

Как я уже сказал, эта папка является основной установочной папкой Windows. Она содержит в себе, собственно, дистрибутив. Внутри этой папки: папки win9xmig, win9xupg, winntupg — содержат информацию, необходимую в случае, если вы выполняете не "чистую" установку, а обновление уже установленной системы до Windows XP. Если вы собираетесь только устанавливать "чистую" Windows c вашего дистрибутива и не заниматься обновлением других систем до ХРюши, то эти папки можно смело удалить. В таком случае вы освободите дополнительно около 37,5 мб места. Кроме того, в этом случае вы также можете смело удалить папку Compdata, которая содержит описание особенностей обновления некоторых компонентов из предыдущих версий Windows. Эта папка "подарит" вам ещё примерно 735кб. Далее. Папка Lang содержит поддержку дополнительных языков (ну, вроде как чтобы писать на китайском иероглифами, а на иврите — справа налево). Если вам этого не надо — удаляйте и эту папку. Вы получите ещё +100мб! (только потом не удивляйтесь, почему ХРюша перестала поддерживать "великий и могучий"...) Остальные три папки — system32, drw, asms — лучше не трогать :).

Из файлов, уже находящихся в этой папке, внимания заслуживают два файла: TXTSETUP.SIF — содержит основной скрипт установки Windows. Если вы предполагаете разместить дистрибутив в папке, отличной от i386, то новый путь нужно будет прописать в этот файл.

Второй файл, который может заслужить ваше внимание: SETUPP.INI. Он очень маленький и содержит два числа. Он определяет, какая именно версия Windows находится в дистрибутиве: OEM, Upgrade или Volume Edition. (конкретных значений сейчас под рукой нет. Добавлю их позже).

Это то, что касается файлов, УЖЕ содержащихся в I386. Однако это не означает, что в неё нельзя ничего добавлять!

Куда в i386 можно добавить свои компоненты?

Для добавления своих компонентов (например, драйверов или программ) можно воспользоваться несколькими способами. Первый способ предназначен для автоматического обновления Windows при установке — он применяет все нужные Post-service packs (хотфиксы). Он хорошо документирован для Windows 2000 — смотри предыдущую статью, либо статью Q296723 в базе знаний Microsoft. О том, работает ли он для Windows XP — пока неизвестно. К тому же он не может ничего, кроме применения хотфиксов, поскольку в обязательном порядке использует каталог цифровых подписей от Microsoft, и, следовательно, вы не сможете таким образом установить никакой "чужой" файл помимо подписанных Microsoft.

Второй способ заключается в использовании папки $OEM$. Папку с таким именем необходимо создать в корне диска, на одном уровне с папкой i386. Об этом также подробно рассказано на сайте Microsoft. Я приведу перевод части этой статьи, описывающий назначение и смысл отдельных папок дистрибутива:

Папка i386

Это дистрибутивная папка. Она может включать следующий файл:

файл $$Rename.txt


Этот файл содержит список файлов, имена которых программа установки должна преобразовать из коротких в длинные (помните об ограничении 8.3 для ISO9660?). Такой файл должен находиться в каждой папке дистрибутива, включающий файлы, имена которых нужно преобразовать в длинные.

$OEM$


Эта папка, которая должна быть создана в CD-дистрибутиве на одном уровне с папкой i386, и содержать дополнительные файлы, необходимые для завершения установки. Если вы используете файл ответов с ключом OemFilesPath в разделе [Unattended], то эту папку вы можете создать в любом месте, в т.ч. и вне дистрибутивной папки.

ПРИМЕЧАНИЕ: обратите внимание, что для создания загрузочного дистрибутива Windows на компакт-диске эта папка должна лежать на одном уровне с папкой i386 (обычно обе папки кладутся в корень диска). Если же вы создаёте дистрибутив для установки из другого места (например, по сети), то папка $OEM$ должна располагаться ВНУТРИ папки i386.

Один из дополнительных файлов, который вы можете добавить в папку $OEM$ это Cmdlines.txt. Этот файл содержит список команд, которые программа установки выполнит во время графической фазы установки. Эти команды могут, к примеру, запустить INF файл, программу установки приложения, команду Sysdiff.exe или другой исполняемый файл.

Каждый раз, когда программа установки находит подпапку $OEM$ в корне дистрибутивной папки, она копирует всё её содержимое во временную папку, создаваемую во время текстовой фазы установки.

$OEM$Textmode


Эта папка содержит аппаратно-зависимые файлы, которые загрузчик программы установки и программа установки в текстовой фазе устанавливает на компьютер. Это могут быть, например, HAL от производителя компьютера, драйвера нестандартных накопителей, а также файл Txtsetup.oem, содержащий директивы о загрузке и установке этих компонентов.

Удостоверьтесь, что файл Txtsetup.oem и все файлы, помещённые в эту папку (HAL и драйверы) перечислены в разделе [OEMBootFiles] файла ответов.

$OEM$$$


Папка $OEM$$$ эквивалентра переменной окружения %systemroot% или %windir%. Она содержит дополнительные файлы, которые вы хотите скопировать в папку с установленной системой (для Windows XP по умолчанию это Windows). Структура этой папки должна соответствовать структуре системной папки, где $OEM$$$ означает %systemroot% или %windir% (например, C:windows), $OEM$$$System32 означает %windir%System32, и так далее. Каждая подпапка должна содержать файлы, которые необходимо скопировать в соответствующую системную папку на компьютере назначения.

$OEM$$$Help


Эта папка содержит файлы справки, которые будут скопированы в папку C:WindowsHelp во время установки.

$OEM$$$System32


Эта папка содержит файлы, которые будут скопированы во время установки в папку C:WinntSystem32.

$OEM$$1


Эта папка эквивалентна переменной окружения SystemDrive. Например, если операционная система установлена на диск C, то $OEM$$1 ссылается на диск C. Использование переменной делает возможным изменение буквы диска без возникновения ошибок в приложениях, явно указывающих букву диска.

$OEM$$1PnPdrvrs


Эта папка содержит дополнительные драйвера Plug and Play, не включённые в оригинальный дистрибутив Windows. Вы можете заменить PnPdrvrs любым именем по вашему выбору, состоящим из восьми и менее символов.

$OEM$Drive_letter


Каждая из таких папок содержит структуру файлов и подпапок, которая будет скопирована в корень соответствующего диска на компьютере назначения во время текстовой фазы установки. Например, файлы, находящиеся в папке $OEM$C будут скопированы в корень диска C. Вы можете также создавать таким образом вложенные папки. Например, $OEM$DMisc создаст папку Misc на диске D.

Файлы, которые нужно переименовать, должны быть перечислены в файле $$Rename.txt. Заметьте, что файлы в этих папках должны иметь короткие имена. Этот файл имеет следующую структуру:

[имя_секции_1]
короткое_имя_1 = "длинное_имя_1"
короткое_имя_2 = "длинное_имя_2"

короткое_имя_х = "длинное_имя_х"


[имя_секции_2]
короткое_имя_1 = "длинное_имя_1"
короткое_имя_2 = "длинное_имя_2"

короткое_имя_х = "длинное_имя_х"


Где:
имя_секции_x — путь к папке, содержащей файлы. Секция вовсе не обязательно должна быть названа, или может иметь в качестве имени обратный слэш (), что означает, что секция содержит имена файлов и подпапок, находящихся в корне диска.

короткое_имя_x — имя файла или папки внутри заданной папки, которое должно быть переименовано. Это имя НЕ должно быть заключено в кавычки.

длинное_имя_x — новое имя файла или папки. Это имя ДОЛЖНО быть заключено в кавычки, если содержит пробелы или запятые.

Подсказка: если вы запускаете программу установки из под MS-DOS, то вы не можете копировать файлы или папки с путём длиннее 64 символов. Поэтому используйте короткие имена и файл $$Rename.txt, чтобы переделать их в длинные.

Файл Cmdlines.txt имеет следующий синтаксис:

[Commands]
"<команда_1>"
"<команда_2>"
.
.
"<команда_x>"


Смысл ключей следующий:

"<команда_1>", "<команда_2>", и далее, "<команда_x>" 
определяют команды, которые вы желаете выполнить (а также порядок, в котором они должны запускаться), во время графической фазы установки. Заметьте, что все команды должны быть заключены в кавычки.

При использовании Cmdlines.txt, обратите внимание на следующие моменты:

Во время исполнения команд из файла Cmdlines.txt ни один из пользователей ещё не активен, а также не гарантируется наличие какого-либо сетевого подключения. Поэтому информация, специфичная для пользователя, записывается в реестр пользователя по умолчанию (Default user). Соответственно, при создании новых пользователей эта информация будет скопирована в их ветви реестра.

Cmdlines.txt требует, чтобы все файлы, которые могут потребоваться для запуска приложений или утилит были доступны во время процесса установки, т.е. они должны находиться на жёстком диске.

ВНИМАНИЕ! Приложения, которые устанавливаются через Windows Installer нельзя добавлять при помощи Cmdlines.txt.

...а теперь создадим свой дистрибутив 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:.

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]
"muiinstmuisetup.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:vcvc.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 весьма прост и, в принципе, может быть легко заменён любой собственной программой без ущерба для установки. Скачиваем универсальный загрузчик. В зависимости от версии в корень проекта нужно будет поместить, собственно, файлы загрузчика. У меня это:

bcdwiz13.cpf
bcdwiz13.fnt
bcdwiz13.sys
BOOTCAT.INI


Первые три относятся а загрузчику, а последний описывает, собственно, меню загрузки. Для упомянутых включённых в проект утилит и соответствующих имён файлов-образов этот файл может быть следующим:

;
;
C: ; Загрузка с жёсткого диска ; %Help000%
I386SetupLdr.Bin ; Установка Windows XP Professional SP 1 ; %Helpi386%
IMAGESPQ.IMA ; Запуск PowerQuest Partition Magic 7.0 Pro ; %HelpPQM%
IMAGESEASYREC.IMA ; EasyRecovery Pro на CalderaDOS ; %HelpEREC%
IMAGESUCD36WME.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:bootimgbcdwboot.bin -oi -y5 -m c:cdconstruct f:xpsp1.iso
pause


(здесь подразумевается, что загрузочный сектор "универсального загрузчика" лежит на c:bootimgbcdwboot.bin, проект находится в папке с:cdconstruct, а полученный образ с именем xpsp1.iso разместится на диске f. Подробнее о ключах CDImage можно прочесть в предыдущей статье).

Образ затем записываем на "болванку" при помощи любой программы записи дисков. Желательно — в режиме Disk At Once/96 — в этом случае загрузка будет чуть-чуть быстрее.

Вот, собственно, и всё!

Мифы о дистрибутивных дисках Windows XP/2K

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

Во-первых: имя (метка) диска с дистрибутивом может быть совершенно любым (допустимым), а вовсе не в точности такое же, как на оригинальном дистрибутиве.

Во-вторых: содержимое маркерных файлов не играет совершенно никакой роли. Лучше, естественно, если они краткие.

В-третьих: относительно датировки файлов. Обычно говорится, что в дистрибутиве все файлы должны иметь одну и ту же дату, а если в дистрибутив внедрён Service Pack, то может быть не больше двух различных дат. Я не проверял этого утверждения, так что лучше ему следовать. В команде CDImage можно указать дату и время для помещаемых в образ файлов.

В-четвёртых: регистр названий файлов не имеет значения, поскольку при использовании файловой системы ISO9660 все файлы автоматически воспримут верхний регистр.

На сём, наконец-то, завершаю сей опус о загрузочных дисках.

Теги: Создание загрузочного диска, Windows XP



Социальные сети и закладки


Поделиться новостью «Создание загрузочных дисков Windows XP» или рекомендовать своим друзьям :

Прямая ссылка:
BB-code ссылка:
Html ссылка:


Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.