Зачем это нужно
Загрузочными дискетами (или CD с загрузочной областью) пользуются во многих случаях:
- для изменения параметров (форматирования) уже используемого жесткого диска или при разметке вновь купленного;
- для установки Операционной Системы;
- при отказе в работе Операционной Системы (вплоть до отказа загружаться вообще);
- при восстановлении Системы из образа (например, Norton Ghost);
- для попытки восстановления "забытого" пароля Администратора;
- а так же во многих других случаях.
Существует огромное количество готовых BootDisks - загрузочных дискет, да и многие программы (например, тот же PartitionMagic) имеют функцию формирования собственной загрузочной дискеты. В результате имеем кучу разнообразных загрузочных дискет (зачастую двойных для запуска одной программы) или уже готовых (купленных) загрузочных CD, причём не всегда точно помним, на котором именно и что именно запускается.
Меня интересовали два основных вопроса:
- иметь несколько вариантов загрузки с одного CD;
- иметь загрузочный образ размером больше, чем одна стандартная дискета 1440 Кб.
Возможность решить сразу оба этих вопроса собственными силами предоставляет менеджер загрузки с компакт-дисков Bootable CD Wizard. Это своеобразный "конструктор" загрузочного Меню, в котором и производится выбор варианта загрузки.
Что потребуется для работы
Естественно, сам "конструктор" BCDW, распространяющийся бесплатно. В настоящий момент в сети обычно упоминаются две версии BCDW - 1.50z и 2.0a1. На официальном сайте BCDW предлагается к загрузке только 1.50z. Версия 2.0а1 находится в состоянии альфа-релиза и официально не выкладывалась, однако доступна в сети. Поскольку функционально она превосходит 1.50z (в частности, поддерживает загрузку некоторых ISO образов и Windows XP SP2), то многие используют именно 2.0a1. Загрузить версию 2.0a1 можно по прямой ссылке с нашего сайта: в архиве 7-zip (84 kb) или в Zip (303 кб). В этой статье рассматриваются конфигурационные файлы BCDW 2.0a1, однако большинство задач можно было решить и при помощи версии 1.50z.
Справочное руководство для 1.50, по сути являющееся оффлайн версией сайта BCDW (формат CHM, 815 kb), в большинстве случаев применимо и к 2.01. Настоятельно рекомендуется загрузить его и изучить, т. к. там действительно есть ответы на очень многие вопросы. Официальных справочных материалов для 2.0a1 на данный момент нет.
Также пригодится утилита для работы с образами дисков. Например, WinImage (следует отметить, что эта программа не совсем бесплатная).
Состав аварийно-восстановительного диска
Есть много статей, описывающих работу с Bootable CD Wizard (например, Совмещение нескольких вариантов установки Windows XP на одном диске или Создание мультисистемного аварийного диска), но там, в основном, описывается мультизагрузка для установки различных операционных систем. Mеня же более интересовал CD в виде ReAnimator, на котором мне требовались:
- минимальная быстрозагружаемая сборка на основе Window 98 (или 95, а то и DOS, как менее навороченного), чтобы только загрузиться, заглянуть на жёсткие диски, восстановить подпорченную загрузочную область, сделать Format, прогнать Sсandisk, перебросить (да хоть дистрибутив ОC) с CD-Rom на жесткий диск (например, вот такая 725 кб);
- расширенный вариант Загрузочной дискеты, с поддержкой длинных русских наименований, возможность залезть в разделы NTFS, в архивы, прогнать диагностику жёсткому диску, тестировать Оперативную память или другие "железные" компоненты (соль-сахар по вкусу), и так далее;
- загрузчик PartitionMagic (устанавливать для этих целей на винт полный пакет не вижу никакого смысла);
- загрузчик Norton Ghost, для сохранения либо обратного восстановления убитой (насмерть) Системы.
- загрузчик Memtest, для жесткого и обстоятельного тестирования оперативной памяти (RAM)
Далее будем рассматривать, как я использовал Bootable CD Wizard для реализации именно и только указанных свойств. Разобравшись с общими принципами работы с BCDW, вы без труда сможете добавить варианты загрузки своих любимых утилит, расширив функциональность диска.
Настройка меню вариантов загрузок
Пакет Bootable CD Wizard предоставляет широчайшие возможности для создания меню мультизагрузки, но мы в основном будем крушить "лишние" на данный момент функции универсального загрузчика (ломать - не строить, голова не болит).
| Первым делом создадим где-нибудь в укромном уголке своего жёсткого диска папку с гордым названием (у меня она называется "A вот это всё и нужно записать"). В неё копируем из пакета Bootable CD Wizard следующие папки и файлы: initest.bat - тест оболочки, с помощью которого можно проверить, как будет выглядеть интерфейс Меню (если мы его будем изменять) без проверки собственно функциональности. В папке bcdw2dos файлы для запуска теста оболочки, хотя bcdw.com может использоваться не только для этого. cp1251r.cpf и russian.fnt - файлы Шрифта и Кодировки русского языка (для Меню), все остальные файлы в обеих папках - на данный момент лишние. bcdw.ini - конфигурационный файл BCDW. Файлы *.bin - сами загрузчики. |
BOOTFIX.BIN нужен, если вы хотите при загрузке иметь опцию "Press any key to boot from CD..."; и не нужен, если хотите сразу загружаться в BCDW). На одном уровне с папкой [BCDW] есть папка [IMG]. Сюда мы будем складывать все свои загрузочные образы, которые будут запускаться по выбору из стартового Меню. На скриншоте образы уже есть в папке, а о том, как их создавать, рассказывается ниже. | |
Теперь начнём кройку и шитьё.
Открываем в Блокноте файл bcdw.ini, cмотрим выпученными глазами на его содержимое, затем удаляем ВСЁ, заменяя на текст (например у меня осталось):
[InitOptions]
Font= \BCDW\FONTS\russian.fnt
CharSet= \BCDW\CHARSETS\cp1251r.cpf
[MenuItems]
C:\; Загрузка с диска C:;^ Опа... Я не переключился в CMOS на загрузку с диска C:
A:\; Загрузка с FLOPPY;^ Ну нафиг, не с CD-Rom надо было, а с Флоппера
:Reboot; Перезагрузка;^ Перезагрузка компьютера
:
:; *** Загрузка DOS-программ с компакт-диска
:
\img\Quicker.IMA; Системная дискета DOS 7.10; ^ Быстрая загрузка без изысков^ Но тогда кое-чё из функций может и не работать.
\img\Win_98SE.IMA; Крутая загрузочная дискета Win 98SE; К обычной загрузочной дискете Win 98SE присобачены ещё:^ Volkov Commander с поддержкой длинных имен, NTFS Reader,^ Victoria v3.4, DIMM-Test, PTS DiskEditor, System Speed Test ...
\img\Part_Mag.IMA; PartitionMagic & BootMagic 8.0; Позволяет изменять, делить, объединять и конвертировать разделы^ (partitions) жесткого диска без потери записанной информации,^ возможна работа с FAT/FAT32/NTFS/Linux и OS2 дисками.
\img\No_Ghost.IMA; Norton Ghost 2003; Умеет сохранять и восстанавливать посекторно файлы жесткого диска,^ всех его байтов вплоть до загрузочных секторов,^ независимо от файловой системы.
\img\memtest.iso; Memtest ; ^ Незаменим для тщательного тестирования оперативной памяти (RAM)
[MenuOptions]
BGColors= 00, 80, 80, 80
BGSymbol= 32
MenuPosition= 02, 05, 76, 13
MenuColors= f9, 9f, 1f, f0, 0f, fd, f9
MenuBorderStyle= 5
MenuShadowStyle= 2
MenuTitle= * Варианты загрузки *
MenuDefault= 0
MenuTimerLabel= Если ничего не трогать - загрузка с винта запустится через:
MenuTimer= 10
HelpPosition= 02, 19, 76, 05
HelpColors= 70, 9f, 1f, 70, 0f, 70
HelpBorderStyle= 5
HelpShadowStyle= 2
HelpTitle= * Описание варианта *
AboutPosition= 02, 01, 76, 03
AboutColors= 70, 9f, 1f, 70, 0f, 70
AboutBorderStyle= 5
AboutShadowStyle= 2
AboutTitle= * Freeware Multiple-Image Bootable CD Manager *
AboutText= * Аварийный мультизагрузочный диск *
ScrollPosition= 21, 00, 43, 01
ScrollColors= 87, 87, 87, 87, 0f, 87
ScrollMode= 0
ScrollText= ну давай уже хватит думать нажми хоть на что-нибудь
Запускаем initest.bat и смотрим, что получилось. Что-то вроде такого:
Увеличить
При данных настройках файла bcdw.ini на выбор предлагается пять вариантов загрузки с CD, загрузка с Флоппера или продолжение обычной загрузки в обход Меню, с жесткого диска, причём если не трогать клавиатуру - последний вариант происходит автоматически через 10 секунд.
Все текстовые данные можно менять произвольно. При желании подёргать за разные [Options] окна Меню (расположение, размеры, цвета фона и букв) - читайте описание файла bcdw.ini в Полном Руководстве (если удосужились его скачать) или на сайте. Вот варианты настроек от участников конференции OSZone:
Vovanchik
Увеличить
Fanzuga
Увеличить
_SV_
Увеличить
Секции [MenuOptions] каждого из вариантов собраны в один текстовый файл.
Создание загрузочных образов
Обычно используются загрузочные образы дискет (IMA) или дисков (ISO).
Образы загрузочных дискет (IMA)
Если готового образа нет, считаем, что у нас есть Загрузочная дискета и WinImage.
Вставляем в компьютер дискету, выбираем в WinImage диск A:, считываем дискету и сохраняем в образ (с расширением *.IMA). Описание с картинками опять же есть либо в Полном Руководстве, либо на сайте. Если этих дискет ДВЕ - образ делается из первой дискеты, затем формат образа меняется на 2880 Кб, и в окно образа переносятся все файлы (по замене совпадающих) со второй дискеты. В процессе желательно "немножко" откорректировать описание загрузки. К примеру для дискет из пакета PartitionMagic из файла AUTOEXEC.BAT можно совсем удалить строчки
ECHO.
ECHO Please Insert PartitionMagic Disk 2
ECHO.
ECHO.
ECHO *** Press Any Key to Continue ***
ECHO.
PAUSE >NUL
нам же теперь не потребуется ждать замены на вторую дискету.
Для создания образа произвольного размера мне показалось проще всего взять жёсткий диск (любой старый, того размера, который под руки попадётся), разметить его первый раздел как активный и задать размер 700 Мб (а куда больше-то?), правильным образом перенести на него системные файлы с загрузочной дискеты (Sys A: C:), скопировать туда с Загрузочной дискеты остальные файлы, а затем свалить туда же ВСЁ то, что хотелось бы видеть после загрузки: драйвера CD и мышки, DOS-тестовые программы, Вьювер NTFS-разделов, Norton Comander вместе со всеми архиваторами (ZIP, RAR, ARJ, LHA, ICE и прочей экзотики), да хоть и вообще DOS Navigator, общий размер-то нас волновать перестал. Теперь, подключив этот жёсткий диск, как основной, перезагрузить компьютер с него и произвести полную настройку приложений, вместе с Общими настройками и Меню NC (или другого файлового менеджера). Не мешало бы в файл AUTOEXEC.BAT вставить строчку
Set TEMP=C:\TEMP
иначе многие DOS-программы не будут запускаться с CD, так же они могут не работать, если все жёсткие диски, и даже сам диск C:, размечены как NTFS.
Затем грузимся в обычном режиме, прицепляя этот винт дополнительным к своему основному, берём тот же WinImage (нас теперь интересует его Профессиональный режим) и, указывая ему этот самый 700-Мб раздел, делаем образ всего раздела, сохраняя его как *.IMA. Размер получившегося образа - 700 Мб. Если WinImage указать "Oтceкaть нeиcпoльзуeмую чacть oбpaзa" - размер файла образа будет определяться только размером файлов, его составляющих (в моём случае - около 8 Мб), но в этот образ можно набить ещё файлов вплоть до его полного размера, 700 Мб. Не мешало бы провести операцию "Дефрагментировать текущий образ" - тогда его объём получится ещё меньше.
Образы загрузочных дисков (ISO)
Для загрузки с ISO нужен BCDW 2.0a1, но и он не абсолютно любой ISO образ может загрузить. Загрузочные образы можно найти в сети (например, memtest) или создать самому при помощи все того же WinImage (Disk - Create CD-ROM ISO Image). Таким способом, к примеру, можно создавать ISO образы загрузочных дисков Acronis True Image и Disk Director Suite.
Вообще, BCDW распознает образ не по расширению, а по содержимому. Так что вы можете переименовать расширения всех своих образов хоть в *.APO.
Как прописать загрузку образов в bcdw.ini
Осталось только сложить все свои получившиеся образы в папку [IMG] и сделать соответствующие изменения в секции [MenuItems] файла bcdw.ini, поместив туда названия своих вариантов загрузки и краткие описания этих вариантов. Вы, наверное, уже догадались как это делается, посмотрев код, приведенный выше. На всякий случай, поясняем формат:
; путь к образу; название; описание
; ^ - перевод строки
\img\Quicker.IMA ; Системная дискета DOS 7.10 ; ^ Быстрая загрузка без изысков
\img\memtest.iso ; Memtest ; ^ Незаменим для тщательного тестирования оперативной памяти (RAM)
Всё. Готовы записывать.
Запись загрузочного диска
Мы рассмотрим создание ISO образа утилитой CDImage, a также классический метод записи загрузочного диска при помощи таких программ, как Nero или Easy Media Creator. Рекомендуется вначале пару раз побаловаться с перезаписываемым CD-RW, чтоб не запускать с балкона в сторону горизонта испорченные одноразовые CD-R болванки.
Для начала, в корень Проекта Загрузочного диска помещаем папки [BCDW] и [IMG].
CDImage
Подробнее CDImage рассматривается в статье Создание загрузочного ISO/CD. В набор, который можно загрузить с нашего сайта, входит все необходимое для создания образа мультизагрузочного диска на основе BCDW (кроме BCDW, который вам надо загрузить отдельно). В набор входит файл Create_ISO_BCDW.cmd, запустив который вы и получите желаемый ISO образ. Давайте рассмотрим файл подробнее, открыв его в текстовом редакторе:
@echo off
TITLE Creating ISO Image of BCDW project
ECHO.
:: Укажите путь к дистрибутиву (файлам создаваемого диска)
SET DISTRO=C:\XPCD
:: Укажите где создать результирующий ISO образ
SET OUTPUT=C:
:: Укажите метку тома (без пробелов!)
:: Она же будет использована как имя ISO образа
SET LABEL=MULTIBOOT_BCDW
:: Список стандартных меток
:: Windows XP http://www.tacktech.com/display.cfm?ttid=342
:: Windows 2003 http://www.tacktech.com/display.cfm?ttid=355
:: Снятие атрибутов файлов
ECHO Removing any possible attributes set on %DISTRO% and its subfolders...
attrib -R -H "%DISTRO%" /S /D
ECHO.
:: Создание ISO
ECHO Creating ISO...
:: Предполагается, что папка с BCDW в корне создаваемого диска.
:: Измените путь к загрузчику (.bin) если необходимо.
:: Для BCDW 2.0a1
CDIMAGE.EXE -l"%LABEL%" -h -j1 -oci -m -b"%DISTRO%\bcdw\loader.bin" "%DISTRO%" "%OUTPUT%\%LABEL%.ISO"
:: Для BCDW 1.50z
:: CDIMAGE.EXE -l"%LABEL%" -h -j1 -oci -m -b"%DISTRO%\bcdw\bcdw.bin" "%DISTRO%" "%OUTPUT%\%LABEL%.ISO"
ECHO.
PAUSE
EXIT
Вам нужно указать, где находятся файлы проекта (по умолчанию - C:\XPCD) и куда вы хотите сохранить получившийся образ (по умолчанию - корневой каталог диска С). Вы также можете легко изменить метку тома на свою. Мы предполагаем, что папка [BCDW], содержащая загрузчик, находится в корне проекта. Если вы разместили папку в другом месте, то измените путь к загрузчику. Двойной клик на файле Create_ISO_BCDW.cmd начинает создание ISO образа. Это, пожалуй самый простой и надежный метод создания загрузочного диска.
Классический метод записи
В качестве загрузочного образа указываем файл loader.bin, он лежит у нас (чтоб не искать его каждый раз) в папке [BCDW]. (Примечание: речь идет о загрузчике 2.0a1; для 1.50z указывайте bcdw.bin). Не пугайтесь, он и правда всего ДВА КилоБайта. Файл initest.bat нам здесь не потребуются.
На оставшееся место до полного заполнения записываемого CD-R можно складывать уже всё, что угодно.
Здесь имеется один подводный камень: далеко не все программы записи на CD имеют необходимые настройки (к примеру Small CD-Writer для наших целей не подходит). В настройках записи ОБЯЗАТЕЛЬНО нужно указать параметры "Режим эмуляции"="Без эмуляции" и "Количество секторов для загрузки" = 4. Если этого не сделать - при стандартной записи на CD информации объёмом более 100 Мб загрузочный сектор такого рода работать отказывается. Правда, менее 100 Мб - работает, даже при записи через Small CD-Writer.
Для тех кто в танке
Настройки (с картинками) для программ Nero, CDRWin, WinOnCD, Easy CD Creator, Instant CD+DVD, CDImage или mkisofs имеются всё в том же Полном Руководстве или на сайте BCDW.
Практические советы
Если вы не устали, то нам еще есть что рассказать Вашему вниманию предлагается два примера, демонстрирующих применение BCDW в реальных условиях.
Упрощаем до упора
Если загрузочный образ всего один, то есть мультизагрузка не требуется (например, нужно создать загрузoчный образ всего жёсткого диска или только одного его раздела, если он конечно не больше объёма CD-R), то INI файлы BCDW практически вырождаются.
| Содержимое файла bcdw.ini принимает вид [MenuItems] \img\No_Ghost.IMA |
Сам подготовленный образ *.GHO всего жёсткого диска (или только одного его раздела) переносится прямо в корень образа загрузчика No_Ghost.IMA (здесь потребуется именно тот самый 700-Мб образ).
Записываем на CD-R папку [BCDW], в которой лежат два файла bcdw.ini и loader.bin (папки [charsets] и [fonts] здесь не потребуются), и папку [IMG], в которой лежит один-единственный файл No_Ghost.IMA . Используем в качестве загрузочного образа всё тот же файл loader.bin.
Загружаемся с CD-Rom. Никаких входных Меню выбора, загружается сразу Norton Ghost, и, Вы будете смеяться, но файл *.GHO (нехилого размера) лежит прямо на диске A:\. Можно конечно вообще избавиться от папок, но это уже, наверное, перебор...
Усложняем по максимуму
В данной статье для примера взят диск с пятью различными вариантами загрузки. Если не скромничать и продолжать добавлять варианты, то чтобы их все увидеть, придется долго прокручивать меню вниз. В такой ситуации неизбежно возникает вопрос о более удобной системе навигации по меню. Решить проблему можно, создав древовидную структуру меню.
Допустим, ваши варианты загрузки можно условно разделить на несколько категорий: Установка операционных систем, Тест стабильности компонентов, Создание и изменение разделов HDD и т.д. Тогда можно на первом экране отобразить эти категории. Пользователь, выбрав какую-либо категорию, будет переходить уже непосредственно к различным вариантам загрузки.
Например, выбрав Создание и изменение разделов HDD, мы попадаем в подменю, содержащее PartitionMagic и Acronis Disk Director.
Увеличить
Реализовать это даже проще, чем объяснить словами. Все что нужно сделать, это в [MenuItems] bcdw.ini указать путь к соответствующему INI файлу, определяющему содержимое меню. Формат этого INI файла абсолютно такой же, как у bcdw.ini. В описанном выше примере мы имеем примерно следующее (приводятся только секции [MenuItems], т.к. остальные будут одинаковыми, а описания вариантов загрузки взяты произвольно и могут не полностью соответствовать скриншоту).
bcdw.ini
[MenuItems]
\bcdw\OSInstal.ini ; Установка операционных систем ;^ Ваше описание.
\bcdw\Test.ini ; Тест стабильности компонентов ;^ Ваше описание.
\bcdw\PrtRstrk.ini ; Создание и изменение разделов HDD ;^ Ваше описание.
OSInstal.ini
[MenuItems]
:Return ; Возврат в предыдущее меню
\i386\setupldr.bin ; Windows XP Pro Regular; ^ Regular installation of Windows XP Professional.
\i386\setupld1.bin ; Windows XP Pro Unattended; ^ Unattended installation of Windows XP Professional.
Test.ini
[MenuItems]
:Return ; Возврат в предыдущее меню
\img\memtest.iso; Memtest ; ^ Незаменим для тщательного тестирования оперативной памяти (RAM)
PrtRstrk.ini
[MenuItems]
:Return ; Возврат в предыдущее меню
\img\Part_Mag.IMA ; PartitionMagic & BootMagic 8.0; Позволяет изменять, делить, объединять и конвертировать разделы.
\img\adds_10.iso ; Acronis Disk Director ;^ Тоже самое но уже на Linux, алгоритмы работы более оптимизированные.
Вложенность меню не ограничивается двумя уровнями. К любому меню можно прикрутить подменю. Главное - не увлекаться и не усложнять навигацию сильнее, чем это необходимо. Естественно, для каждого меню можно сделать собственную схему оформления.
Спасибо Vovanchik'у, предложившему включить в статью эту секцию и любезно предоставившему свои INI файлы для наглядности.
И это всё?
Нет, не всё Bootable CD Wizard предоставляет широкие возможности для создания мультизагрузочных дисков, в которых функциональность сочетается с настраиваемым загрузочным меню. Как вы вероятно уже заметили из скриншотов, BCDW можно использовать не только для создания аварийно-восстановительных дисков, но и для мультизагрузки нескольких операционных систем. При этом ничто не мешает вам совместить и то и другое на одном CD/DVD. Подробнее о совмещении нескольких вариантов установки одной операционной системы или сразу нескольких различных операционных систем вы можете прочитать в других статьях секции Мультизагрузка.
Обсуждение Bootable CD Wizard ведется в этой теме на конференции OSZone.