Создание мультиустановочного DVD с дистрибутивами Windows в среде GRUB4DOS
Формирование структуры мультиустановочного DVD
Создайте рабочую папку проекта — пусть это будет папка C:\bootcd.
Учтите, что в именах папок, используемых в проекте, не должно быть
дефисов: версия GRUB4DOS, которую мы будем использовать, реагирует на
такие имена неадекватно. В рабочую папку будет складываться всё то, что
впоследствии должно оказаться в корне DVD.
Создайте в папке bootcd две папки XP_1 и XP_2 для дистрибутивов Windows XP.
Предположим, например, что у вас имеется чистый дистрибутив и
дистрибутив с дополнениями и интегрированными драйверами, или же —
русская и украинская локализованные версии системы.
Скопируйте в папки XP_1 и XP_2 содержимое дистрибутивов (можно исключить только известные папки, которые безболезненно удаляются при урезании дистрибутивов).
Создайте в папке bootcd папки 1WXP и 2WXP, в которых будут находиться загрузочные файлы для дистрибутивов XP_1 и XP_2.
Имена загрузочных папок должны состоять из 4 символов и начинаться с
цифры или с буквы, максимально близкой к началу латинского алфавита.
Поместите в папку bootcd файл MAKE_BOOT_FOLDER.EXE (всё, что понадобится при сборке, прилагается в файловом архиве).
Запустите этот GUI-скрипт, укажите в его полях (см. рисунок 1) для первого дистрибутива исходную папку XP_1 и папку назначения 1 WXP . Имена папок можно вводить с клавиатуры или выбирать в проводнике
(для чего имеется кнопка «Выбрать»). Затем нажмите кнопку «Старт».
Через несколько секунд вы увидите сообщение «Подготовка дистрибутива
окончена». Это означает, что загрузочная папка сформирована, а в папку
дистрибутива также внесены необходимые изменения. После этого файл MAKE_BOOT_FOLDER.EXE можно удалить из папки bootcd (именно поэтому его и нет на рисунке 3). Замечу, что в статье Совмещение нескольких ОС семейства NT на одном диске загрузочные папки формируются иначе — с помощью команды winnt32.exe /noreboot,
но наш метод гораздо удобнее: результат достигается за несколько секунд
(в прежнем случае — больше минуты); рабочий стол не закрывается окном
установки Windows; не требуется вводить ключ, и все операции копирования
и переименования папок, удаления определенных файлов, обработки
дистрибутива и корректировки путей в файлах, описанные в статье Совмещение нескольких ОС...
теперь проводятся не вручную, а одним нажатием кнопки. Кроме того,
отпадает необходимость в резервном копировании и последующем
восстановлении файлов boot.ini и ntldr
установленной ОС, так как наш метод эти файлы не затрагивает. И,
наконец, ещё один плюс: поскольку уже нет необходимости в запуске
(следовательно, и в наличии) файла winnt32.exe, можно не задумываясь удалять из дистрибутива элементы, предназначенные для обновления ОС с более ранних версий.
Рисунок 1 – Окно GUI-скрипта для создания загрузочных папок Windows XP
Повторите действия, описанные в предыдущем пункте, для второго дистрибутива Windows XP.
Если планируете автоматическую установку с файлом ответов, скопируйте в соответствующую загрузочную папку подготовленный файл winnt.sif. Замечу, что при запуске скрипта MAKE_BOOT_FOLDER.EXE
указанная папка назначения (т. е. загрузочная папка) автоматически
очищается от прежнего содержимого, однако для файла ответов в скрипте
сделано исключение: файл winnt.sif не удаляется вместе
со всеми. Это удобно при пересборке диска: если вы не планируете
изменять содержание файла ответов, то помещаете sif-файл в загрузочную
папку только один раз и с легкостью забываете об этом.
Скопируйте в папку bootcd все маркерные файлы обоих дистрибутивов XP и файлы bootfont.bin
(таким образом, эти файлы будут фигурировать на вашем носителе дважды —
и в папках дистрибутивов, и в корне DVD). Если вы объединяете Windows
разных локализаций, то в корневой папке придется переименовать один из
файлов шрифта в bootfon1.bin, чтобы уйти от совпадения имен. Соответственно, в загрузочной папке этого дистрибутива в файле setupldr.bin придется заменить все значения bootfont.bin на bootfon1.bin. Это можно сделать в любом HEX-редакторе или с помощью GUI-скрипта PATCH_SETUPLDR.EXE из файлового архива (рисунок 2). Успешное завершение работы скрипта будет отмечено сообщением «Обработка окончена»; присваивать новое имя правленому файлу setupldr.bin не следует, что и показано на рисунке 2.
Рисунок 2 – Пример использования скрипта PATCH_SETUPLDR.EXE
Скопируйте в корень папки bootcd файлы GRUBLDR, MENU.LST, TEXTFONT и 8X16_866.PSF из файлового архива. На этом комплектация DVD, обеспечивающего два варианта установки Windows XP, завершена (рисунок 3, изображение слева).
Для добавления в сборку дистрибутива Windows 7 достаточно скопировать в папку bootcd все файлы и папки установочного диска «семерки» (рисунок 3 – изображение справа).
Рисунок
3 – Слева: структура компакт-диска с GRUB 4DOS , содержащего два
дистрибутива Windows XP . Справа: файлы и папки установки Windows 7,
которые также можно включить в комплект
Запись DVD
Перед созданием ISO для записи на DVD необходимо учесть следующее: все файлы и папки, указанные в файле MENU.LST,
должны иметь имена из прописных букв. Такова особенность используемой в
данном проекте версии GRUB4DOS. В дальнейшем, вполне вероятно, вам не
раз придется редактировать файл MENU.LST (ниже я поясню, почему), поэтому будет удобно заранее перевести в верхний регистр все имена, которые найдутся в папке bootcd. Для этого можно использовать утилиту FILECASE.EXE, запуская ее командным файлом FILECASE.CMD. Оба файла находятся в файловом архиве и распаковываются в любую папку, совсем не обязательно в рабочую.
Далее всё стандартно: копируете из файлового архива (тоже в любую папку) файлы OSCDIMG.EXE, OSCDIMG.CMD и загрузочный сектор GRUB_B, запускаете командный файл OSCDIMG.CMD и получаете ISO. (Подробнее об использовании утилиты CDIMAGE (OSDIMG) — в статье Создание загрузочного ISO/DVD).
Записываете образ на носитель, выставляете в BIOS загрузку с
компакт-диска, загружаетесь и — мои поздравления! — видите на экране
компьютера целый набор возможностей (рисунок 4).
Рисунок 4 – Так может выглядеть меню загрузки с компакт-диска в среде GRUB 4DOS
Вам
осталось выбрать желаемое действие. Вторая и третья строки меню
означают в данном случае установку операционной системы из папки XP_1 или из папки XP_2
соответственно. Очевидно, что вам захочется обозначить свои
дистрибутивы в меню как-то иначе, предположим, что вас не устраивает мое
слово «навороты» и вы хотите его как-то конкретизировать. Нет ничего
проще: все экранные формулировки записаны в текстовом файле MENU.LST,
и вам остается отредактировать этот файл. Но открыв файл на
редактирование, вы обнаружите там ещё немало загадочного. Даже в нашем
простом случае. И тут уже возникает необходимость в некоторых
пояснениях, обещанных в начале статьи.
Как это работает? Краткое содержание файла MENU.LST
Начнем, в двух словах, с того, как работает созданный вами диск. Из загрузочного сектора GRUB_B вызывается менеджер загрузки (GRUBLDR)
и на экран выводится список дальнейших возможных действий. Этот список и
стоящие за ним команды задаются в текстовом конфигурационном файле MENU.LST.
Для понимания содержания этого файла вам понадобится изучить язык
GRUB4DOS, но некоторые строки в файле, в ознакомительных целях, можно
прокомментировать здесь.
Первая строка в файле /TEXTFONT/8X16_866.PSF указывает пути к файлам кириллического шрифта TEXTFONT и 8X16_866.PSF.
Обратите внимание, что косая черта в путях изображается не так, как
принято в Windows, а с наклоном в обратную сторону. Замечу еще, что
существуют различные способы русификации меню, и в том способе, который
использован здесь, файл MENU.LST необходимо сохранять в DOS-кодировке (OEM-866).
Строка color………… задает цветовое оформление меню.
Строка default 0 указывает на позицию (строку) меню, в которой изначально находится курсор (нумерация строк в GRUB4DOS начинается с нуля).
Строка timeout 10 указывает, через сколько секунд при невмешательстве пользователя запустится пункт меню, помеченный курсором (указанный в строке default).
В строках title ………… записаны как раз те слова, которые выводятся на экран (см. рисунок 4).
А под рамкой на рисунке (там, где написано «Use the…») могут находиться
ваши комментарии к пунктам меню, аналогично комментариям в Bootable CD Wizard. Комментарий добавляется в строке title после символа \n. Например: title Install Windows XP\n Автоматическая установка Windows XP SP3
Смысл остальных строк, коротко говоря, такой: на обнаруженных носителях ищется загрузчик той или иной операционной системы (в нашем случае SETUPLDR.bin, BOOTMGR или NTLDR),
и управление передается ему, что и приводит к началу установки ОС или к
загрузке системы с жесткого диска. При этом содержание SETUPLDR.bin корректируется на лету для переориентации на новую загрузочную папку.