Совмещение нескольких ОС семейства NT на одном диске

OSzone.net » Microsoft » Автоматическая установка » Автоматическая установка Windows XP » Совмещение нескольких ОС семейства NT на одном диске
Автор: Vovanchik
Иcточник: unattended.oszone.net
Опубликована: 12.07.2005

Представляю статью, которую написал Vovanchik, участник конференции OSZone.

Данный способ не является оригинальным и содержит в себе всего лишь наработки разных людей собранные воедино.

Создание базовых каталогов

Для начала создаем рабочую папку. Например, D:\work\. Примем эту папку за корень диска, который начинаем создавать. Внутри папки создадим другую, в которой будут лежать дистрибутивы: D:\work\windistrib. Создаем еще два подкаталога: D:\work\windistrib\winxp\ - для Windows XP и D:\work\windistrib\win2k\ - для Windows 2000. Длина каталогов не ограничена 8 символами.

В каждый из каталогов переносим папку i386, папку $OEM$, маркерные файлы и файл bootfont.bin (для локализованных версий) от соответствующего дистрибутива.

Создание каталогов с загрузчиками

Прежде чем выполнять действия, описанные в этом разделе, сделайте резервную копию своих рабочих файлов boot.ini и NTLDR находящиxся на системном разделе (по умолчанию скрыты и не видны в проводнике).

Windows XP

Сначала создаем каталог с загрузчиком для Windows XР. Выполняем в командной строке

D:\work\windistrib\winxp\I386\winnt32.exe /noreboot

Запустится инсталлятор Windows. Выбираем вариант "Установка новой системы" (скачивать апдейты не надо). На этапе выбора настроек установки можно заглянуть в расширенные настройки и убедиться что галка "Копировать все файлы с диска" отмечена. После окончания работы установщика на системном диске появятся две новых скрытых папки: $WIN_NT$.~BT и $WIN_NT$.~LS. Папку $WIN_NT$.~LS удаляем, она нам не понадобится.

Переименовываем $WIN_NT$.~BT, скажем, в1WXP. Причем название настоятельно рекомендую начинать с буквы максимально более близкой к началу латинского алфавита или цифры, a также ограничивать длину имени папок четырьмя символами. Актуально это только для больших по объему носителей, например DVD. Судя по всему, дело тут в том, что в файловая система распределяет папки с файлами согласно этому самому алфавиту. Иными словами, если поместить загрузчик в папку XPOR, то установщик будет выдавать различные ошибки. от ошибки в первой строке txtsetup.sif и вплоть до зависания самого загрузчика. Если же папку переименовать, например, в 1WXP, все идет без происшествий. Это наблюдение верно для любого программного продукта Microsoft, который грузится через setupldr.bin.

Удаляем из папки 1WXP следующие файлы: BOOTSECT.DAT, migrate.inf, winnt.sif.

Windows 2000

Процесс создания загрузчика для Windows 2000 абсолютно такой же, как для Windows XP. Единственное отличие: переименовываем $WIN_NT$.~BT в 1W2K.

Теперь восстановите boot.ini и NTLDR из резервной копии, которую вы предусмотрительно создали ранее.

Завершение работы с каталогами

Теперь переименовываем файлы с русскими шрифтами bootfont.bin в btfontxp.bin и btfont2k.bin соответственно для Windows XP и Windows 2000. В папку D:\work\ копируем все маркерные файлы от обоих дистрибутивов, а также btfontxp.bin и btfont2k.bin. На данный момент мы имеем следующую структуру каталогов:

tree

winnt.sif, txtsetup.sif и setupldr.bin

На этом этапе мы удаляем все файлы по маске *.sif из папки D:\work\windistrib\ и всех вложенных в нее.

Windows XP

Переходим в папку D:\work\1WXP и если планируем автоматическую установку с файлом ответов, то копируем в нее заранее подготовленный winnt.sif для Windows XP. В этой же папке находим и открываем файл txtsetup.sif. Находим строку

SetupSourcePath = "\"

и заменяем ее на

SetupSourcePath = "\windistrib\winxp\"

После чего сохраняем файл.

В любом HEX редакторе открываем файл setupldr.bin и заменяем все встречающиеся в нем значения bootfont.bin на btfontxp.bin, после чего сохраняем файл.

Windows 2000

Переходим в папку D:\work\1W2K и если планируем автоматическую установку с файлом ответов, то копируем в нее заранее подготовленный winnt.sif для Windows 2000. В этой же папке находим и открываем файл txtsetup.sif. Находим строку

SetupSourcePath = "\"

и заменяем ее на

SetupSourcePath = "\windistrib\win2k\"

После чего сохраняем файл.

В любом HEX редакторе открываем файл setupldr.bin и заменяем все встречающиеся в нем значения bootfont.bin на btfont2k.bin, после чего сохраняем файл.

Bootable CD Wizard (BCDW)

Примечание: подробнее о BCDW рассказывается в первой статье про мультизагрузку, а также в этой теме на конференции OSZone.

Осталось только поместить в директорию D:\work\ папку BCDW и подправить файл bcdw.ini в ней таким образом:

\1W2K\setupldr.bin ; Установка Windows 2000
\1WXP\setupldr.bin ; Установка Windows XP

Вот и все!

P.S.

Понятно, что аналогичным образом можно создать несколько различных вариантов установки Windows XP. Для каждого из вариантов понадобится своя папка в каталоге windistrib. Если вы будете создавать дистрибутив при помощи утилиты CDImage, как описано в этой статье, то на конечном размере образа это не отразится. Место на жестком диске, однако, все эти папки будут занимать. Альтернативно, можно использовать маркерные файлы, следуя инструкциям в первой статье про мультизагрузку


Ссылка: http://www.oszone.net/3289/