Требования

Основное назначение — проведение спасательных работ: восстановление загрузки, удаление вредоносных программ, копирование данных перед форматированием раздела.

Что мне нужно от такого диска:

  1. Размер диска — не более 210 Мб, должен умещаться на miniCD (8 см). Такой диск удобно всегда носить с собой, например — в кармане рубашки. Формат miniDVD (тоже 8 см) не подходит, т.к. все еще приходится встречаться с приводами, не читающими DVD.
  2. Доступ к разделам NTFS, в том числе для дисков на разнообразных SCSI/RAID контроллерах — Windows PE.
  3. Эмуляция загрузочной дискеты DOS, желательно с поддержкой USB-флешек. Пригодится для обновления BIOS и низкоуровневой работы с жесткими дисками.
  4. Подключение ISO-образа загрузочного диска «Acronis True Image» или аналогичного.
  5. Поддержка кириллицы в Windows PE, в том числе в командной строке. В DOS кириллица не нужна.
  6. Возможность замены диска в приводе после загрузки с него, чтобы можно было копировать файлы с других компакт-дисков.
  7. Удобный файловый менеджер для поиска, просмотра, сравнения и редактирования файлов.
  8. Минимальное время загрузки, в том числе из-за отсутствия ненужных функций.

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

В итоге получился мультизагрузочный диск, меню выбора вариантов загрузки которого выглядит так:

Необходимые компоненты

При сборке диска использованы компоненты:

Создание Windows Preinstalled Environment

1. Установить программу «PE Builder»

После установки запустить программу и указать источник файлов — путь к каталогу I386 из дистрибутива Windows XP SP2 RU.

2. Добавить модуль поддержки отображения кириллицы

Взять со страницы http://yurkesha.seclorum.ru/base.html файл Z_RUSLANG.7z, распаковать его содержимое в подкаталог plugins.

3. Добавить модуль для поддержки SCSI/RAID контроллеров

Архив драйверов для SCSI/RAID контроллеров и мастер для создания модуля — см. http://driverpacks.net/

  1. Установить (распаковать) программу «DriverPacks BASE».
  2. В подкаталог DriverPacks поместить архив драйверов для SCSI/RAID контроллеров — DP_MassStorage_wnt5_x86-32_901.7z.
  3. Запустить программу, выбрать русский язык.
  4. В разделе «Установки» — «Размещение» выбрать платформу для инсталляции — «BartPE». Там же нажать кнопку «Просмотр» и указать путь к каталогу plugins с модулями программы «PE Builder».
  5. В разделе «Установки» — «DriverPacks» отметить только один флажок — «DriverPack MassStorage text mode».
  6. Нажать кнопку «Поехали!». Будет создан модуль для «PE Builder».

4. Сделать дополнительные настройки

Исправить файл plugins\!custom\custom.inf. Вот его фрагмент:

[Default.AddReg]
; Отключить обои рабочего стола
; !! Также необходимо вручную удалить файл bartpe.bmp
0x2, "Control Panel\desktop", "WallPaper", ""
; Уменьшить задержку при отображении меню
0x1, "Control Panel\Desktop", "MenuShowDelay", "50"
; Отключить боковую панель в стандартных диалогах с ярлыками:
; Недавние документы, Рабочий стол, Мои документы и т.п.
0x4, "Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32", "NoPlacesBar", "0x1"
[SetupReg.AddReg]
; Установить сетевое имя компьютера
0x1, "ControlSet001\Control\ComputerName\ComputerName", "ComputerName", "BOOT"
; Включить колесо мыши
0x4, "ControlSet001\Services\i8042prt\Parameters","EnableWheelDetection",0x00000002
[SetValue]
; Сообщение в текстовом режиме
"txtsetup.sif", "SetupData", "loaderprompt", """Starting Windows..."""

Можно сделать более аккуратную кнопку для меню, заменив файл plugins\nu2menu\nu2go.bmp.

Диск в оперативной памяти по умолчанию имеет размер 32 Мб. Если нужно это изменить, см. plugins\ramdisk\ramdisk.inf:

RamDiskDiskSize="0x04000000" ; 64 Mb

5. Отключить ненужные модули

Запустить «PE Builder», нажать кнопку «Модули», включить указанные модули, отключить остальные:

  • # DriverPacks.net — MassStorage, 9.01
  • A43 File Management Utility
  • BARTPE: Network Support
  • Base — Russian Language Support
  • Check Disk (chkdsk.exe)
  • Customize
  • Keyboard Layout
  • Nu2Menu
  • Nu2Shell
  • PENETCFG: PE Network Configurator
  • RAMDisk [Nu2 Productions]
  • RpcSS needs to launch DComLaunch Service first — SP2 only

6. Создать ISO-образ

Выбрать вариант «Создать ISO-образ», нажать кнопку «Создание сборки».

7. Проверить сборку

Проверить полученный ISO-образ на виртуальной машине, в том числе:

  • Отображение кириллицы в окне командной строки
  • Отображение кириллицы в не-Unicode программах, типа «Total Commander»
  • Правильный выбор часового пояса и отображение времени файлов

Желательно также записать образ на CD-RW и проверить доступность дисков на SCSI/RAID-контроллерах.

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

Все необходимые для сборки диска файлы следует разместить в отдельном каталоге, допустим, C:\ISO\BOOT. Этот каталог будет корневым на компакт-диске. Далее все пути будут указываться относительно этого каталога.

Структура каталогов компакт-диска:

\BCDW = Менеджер загрузки BCDW
\DOS = Программы для DOS
\FILES = Полезные файлы
\I386 = Файлы Windows Preinstalled Environment
\IMAGES = Образы загрузочных дисков в форматах ISO и IMA
\PROGRAMS = Программы для Windows, работающие без установки

Шаблон для сборки компакт-диска, упакован ZIP: boot_minicd.zip
Содержит структуру каталогов и необходимые конфигурационные файлы

Файлы Windows Preinstalled Environment

Скопировать в корневой каталог созданные ранее в программе «PE Builder» файлы и каталоги:

  1. I386 — системный каталог Windows
  2. Programs — файловый менеджер и оболочка (меню) Nu2Menu
  3. BOOTFONT.BIN
  4. BOOTSECT.BIN
  5. WIN51IP
  6. WIN51IP.SP2

Убедиться что у всех этих файлов и каталогов имена в верхнем регистре. Исправить, если это не так. Это необходимо чтобы при сборке ISO-образа не указывать ключ mkisofs.exe -force-uppercase и не изменять регистр у всех остальных файлов.

Образы загрузочных дисков в форматах ISO и IMA

Создать подкаталог IMAGES и разместить в нем необходимые ISO- и IMA-файлы. Необходимо следить за общим размером диска.

Образ загрузочной дискеты DOS можно взять здесь. Также вполне достаточно места для ISO-образа безопасной версии «Acronis True Image».

Программы для DOS

Создать подкаталог DOS и разместить в нем необходимые файлы. Для каждой программы логично создать отдельный подкаталог. Необходимо следить за общим размером диска.

Файловый менеджер Total Commander и автозагрузка

Total Commander (далее — TC) используется для замены «A43 File Management Utility». Как известно, программа не требует установки, поэтому достаточно:

  1. Создать подкаталог Programs\TC
  2. Cкопировать в него содержимое каталога, в котором установлен TC
  3. Настроить запуск из меню с указанным конфигурационным файлом — Programs\TC\tc.ini
  4. Удалить подкаталог Programs\A43 и соответствующий элемент меню

Настройка меню оболочки Nu2Menu производится через файл Programs\Nu2Menu\nu2menu.xml:

<MITEM TYPE="ITEM" DISABLED="@Not(@FileExists(@GetProgramDrive()\Programs\TC\totalcmd.exe))"
CMD="RUN" FUNC="@GetProgramDrive()\Programs\TC\totalcmd.exe
/i=@GetProgramDrive()\Programs\TC\tc.ini">Total Commander</MITEM>

Для автозапуска TC в Windows создать в корне диска файл autorun.inf:

[autorun]
open=tc.cmd
icon=Programs\TC\totalcmd.exe,0

Запуск TC производится через вспомогательный командный файл, иначе будет выдаваться назойливый диалог настройки. В корне диска создать файл tc.cmd:

@echo off
copy Programs\TC\tc.ini %TEMP%\tc.ini
cls
echo Total Commander starting...
start Programs\TC\totalcmd.exe /i=%TEMP%\tc.ini

Менеджер загрузки BCDW

Создать подкаталог BCDW и разместить в нем файлы:

  1. BCDW.BIN — собственно сам загрузчик
  2. BCDW.INI — текстовый файл, описание вариантов загрузки и другие настройки
  3. LOADER.BIN — загрузочный сектор, указывается при создании ISO-образа

В файле BCDW.INI прописать варианты загрузки:

[MenuItems]
C:\	; Boot from hard drive
\I386\setupldr.bin	; Windows Preinstallation Environment (XP SP2 RU)
\IMAGES\acronis.iso	; Acronis True Image Server 9.1 3694
\IMAGES\win98ext.ima	; Windows 98 ext boot floppy disk
\IMAGES\win98se.ima	; Windows 98 SE boot floppy disk
\IMAGES\bd050303.ima	; NT Change Password Utility
\IMAGES\memtest.img	; Memtest-86 v3.3
:reboot	; Reboot

Окончательная сборка

Проверить размер каталога C:\ISO\BOOT — не должен быть более 200 Мб.

Создать ISO-образ, выполнив build.cmd, утилита mkisofs.exe есть в каталоге программы «PE Builder»:

mkisofs.exe -iso-level 4 -volid "BOOT" -A PEBUILDER/MKISOFS
-sysid "Win32" -b BCDW/LOADER.BIN -no-emul-boot -boot-load-size 4
-hide boot.catalog -o "C:\ISO\boot.iso" "C:\ISO\BOOT"

Проверить полученный ISO-образ на виртуальной машине — все варианты загрузки, затем записать на болванку.