Создание загрузочной USB флешки ERD Commander.


Общие сведения о механизме загрузки.
Создание загрузочного USB-диска с помощью записи ISO-образа.
Создание загрузочной флешки без использования ISO-образа.
Создание мультизагрузочной флешки с разными версиями ERD Commander.


Механизм загрузки и общая структура загрузочного диска.




    При включении электропитания компьютера выполняется общий сброс оборудования и управление передается специальной программе, прошитой в постоянном запоминающем устройстве (ПЗУ) BIOS, называемой базовой системой ввода-вывода (Basic Input/Output System).
Основное назначение BIOS - проверка работоспособности оборудования компьютера, сброс и инициализация основных контроллеров и выполнение начальной загрузки операционной системы. Проверка оборудования выполняется подпрограммой самотестирования (POST - Power On Self Test). POST выполняет группы тестов, проверяющих работоспособность процессора, памяти, основных контроллеров чипсета а также некоторых периферийных устройств, необходимых для выполнения начальной загрузки (диски, клавиатура, видеоадаптер и т.п.) Если в процессе выполнения POST обнаружены ошибки, не позволяющие выполнить загрузку - выполняется останов с выдачей специального звукового сигнала, позволяющего идентифицировать неисправное оборудование. Коды ошибок POST не стандартизированы и определяются версией BIOS. Если же тестирование выполнилось успешно, практически на всех версиях BIOS выдается одиночный короткий звуковой сигнал ( "короткий писк" ) и начинается процедура начальной загрузки операционной системы.
Для выполнения начальной загрузки, в общем случае, подпрограмма BIOS должна считать определенным образом оформленную программу с внешнего носителя в оперативную память и передать ей управление.
Для загрузки с внешнего USB диска, необходимо, чтобы подпрограмма начальной загрузки BIOS могла обнаружить устройство загрузки, содержащее в своем первом секторе специальную запись Master Boot Record или MBR. Стандартно MBR располагается в первом секторе загрузочного диска и занимает 512 байт (стандартная длина сектора). Это не обязательное условие - MBR может занимать более одного сектора, что зависит от конкретной разновидности загрузчика. Хотя запись MBR не является строго зависимой от платформы загружаемой ОС, она отличается для DOS, файловых систем Windows и Linux.
Обязательным признаком наличия записи MBR в первом (иногда его называют нулевым) секторе диска является специальный код (сигнатура) в двух последних байтах - 55AA. Наличие сигнатуры проверяется подпрограммой BIOS в первую очередь, и при ее отсутствии, диск считается не загрузочным, даже если соблюдены все остальные условия возможности загрузки. Многие программы работы с жесткими дисками позволяют просматривать и редактировать данные выбранных секторов. Так, например, выглядит запись MBR, просматриваемая с помощью бесплатной версии Victoria for Widows


Сигнатура MBR


Строго говоря, наличие сигнатуры является не столько признаком присутствия MBR, сколько признаком наличия каких-либо разделов на диске. Если изменить, например, с помощью редактора дисков, сигнатуру сектора, то и BIOS, и операционная система, будут считать такой диск "неформатированным".

    Перед сигнатурой (по смещению 0x1BE относительно начала сектора) располагается таблица разделов (Partition Table), состоящая из 4-х элементов по 16 байт каждый, что определяет максимальное число (не более4-х) разделов на жестком диске. Каждый элемент описывает тип раздела (00h - раздел неопределенного типа, попросту - свободное место, 01h - 12 битный FAT, 05h - расширенный раздел, 07h - NTFS и т.п.), признак активности (возможности загрузки) - код 80h, адрес начала, адрес конца, смещение относительно MBR и количество блоков раздела. Упрощенно, структуру MBR можно представить так:

- программный код и данные. (446 байт.)
- таблица разделов диска (4 поля по 16 байт - 64 байта)
- сигнатура 55AA (2 байта)


Программа и данные начального загрузчика. Таблица разделов диска 55AA


Программа начальной загрузки ищет активный (Active) раздел, считывает в оперативную память данные из первого сектора данного раздела, и передает управление начальной инструкции кода данного загрузчика. Содержимое загрузочного сектора активного раздела, как правило, зависит от загружаемой операционной системы. Его задача - загрузить в память ядро ОС и передать ему управление.

Таким образом, чтобы загрузиться с внешнего USB диска, нужно:

- чтобы BIOS компьютера поддерживал такой вид загрузки,
- на носителе присутствовала MBR-запись
- имелся активный раздел с загрузочной записью (PBR - Partition Boot Record).
- загрузчик ОС должен получить управление и загрузить нужные файлы операционной системы.

    Из вышеперечисленного следует, что простое копирование файлов какой -либо ОС на флэшку (или другой носитель), не приведет к возможности загрузки этой операционной системы с нее, поскольку, при копировании файлов не производится модификация основной загрузочной записи MBR и загрузочной записи активного раздела (PBR). И наоборот, если имеется MBR и начальный загрузчик раздела PBR, возможна замена файлов загружаемой системы. Например, если у вас имеется загрузочная флэшка с Windows XP, то можно полностью удалить все ее файлы из раздела и заменить их другими такой же операционной системы. Возможность загрузки с такой флэшки сохранится. В общем случае, схема загрузки будет следующей - считывание и исполнение кода MBR, загрузка кода PBR активного раздела, поиск и загрузка файла загрузчика Windows ntldr, который должен находиться в корневом каталоге диска, с которого выполнялась начальная загрузка.




Создание загрузочного USB диска c с использованием его ISO-образа.




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

    Наиболее распространенный случай, когда имеется компакт диск или его образ ISO и нужно на его основе создать свою загрузочную флешку.

    Файл ISO - это образ данных CD или DVD диска, основан на международном стандарте ISO-9660. Файл-образ содержит точную копию физического компакт-диска: - данные, информацию о файловой системе, структуру каталогов, атрибуты файлов и, что важно - загрузочную информацию. При создании образа ISO, копируется каждый бит CD/DVD диска в соответствии с оригинальным носителем. Формат ISO - самый распространенный формат образов компакт дисков, поэтому существует огромное количество программ, позволяющих получить из существующего диска его ISO-образ. Существуют также программные продукты, позволяющие выполнять редактирование образов и создавать на его основе загружаемые носители. Одной из наиболее популярных программ для создания загружаемых носителей является UltraISO, компании EZB Systems Inc. Программа платная, однако, незарегистрированная версия позволяет работать с файлами до 300 мб, и может эмулировать виртуальный CD объемом до 600 Мб.

    Для примера - создадим с использованием UltraISO, загрузочную флэшку на основе загрузочного компакт диска ERD Commander 2008.
Сначала необходимо создать ISO-образ, для чего в основном меню программы выбираем вкладку Инструменты и пункт Создать образ CD. После чего выбираем привод с загрузочным компакт диском, а также указываем имя и путь файла образа ISO:


Создание образа ISO


После нажатия кнопки Сделать начнется создание образа ISO из имеющегося CD. Ход процесса отображается программой:



UltraISO


После завершения создания образа, программа предложит открыть его содержимое.


UltraISO


В данном случае, поскольку нет необходимости работать с содержимым ISO-образа можно ответить Нет и перейти к следующему шагу - созданию на основе образа диска загрузочной флешки с ERD Commander 2008.

Выбираем вкладку Самозагрузка и пункт Write Disk Image (Записать образ на диск)



UltraISO запись образа на USB диск


Disk Drive - выбираем USB диск, на который нужно записать образ ISO
В поле Файл образа отображается имя и путь файла образа ISO. Это поле изменить в данном контексте нельзя. Его значение задается выбранным (открытым) файлом ISO. Если необходимо выбрать другой файл образа, то это выполняется через основное меню программы - Файл - Открыть - имя файла образа.
Метод записи - нужно выбрать USB HDD или USB HDD+.
В нижней части окна жмем кнопку Форматировать и задаем параметры форматирования сменного диска.


Форматирование флешки


После завершения форматирования, закрываем его окно и жмем кнопку Записать. Программа выводит предупреждение о том, что все данные на диске будут уничтожены и требует подтверждения продолжения работы.


UltraISO предупреждение.


После нажатия Да начинается процесс записи образа на съемный диск. Ход процесса отображается в виде протокола в верхней части основного окна.


Ход процесса записи UltraISO


После завершения операции записи становится активной кнопка Назад и при ее нажатии окно записи образа закрывается.

    Подобная методика позволяет легко создавать загрузочные USB диски аварийного восстановления системы из образов ERD версий 6.0 и 6.5 комплекта Microsoft Diagnostic And Recovery Toolset (MS DART). Однако, попытка создать загрузочную флешку из образа ERD Commander 2005/2008 или ERD версии 5.0 заканчивалась неудачей. Диск создавался успешно, но попытка загрузки с него заканчивалась выводом на экран дисплея сообщения:

Start booting from USB device:
Remove disk or other media.
Press any key to restart

    Образы ERD 6.X создаются на основе Windows Preinstallation Environment (WinPE) версии 2.0 и старше. WinPE - это усеченная версия Windows XP, которая может быть загружена без установки на жесткий диск, а с использованием CD/DVD привода или внешнего USB носителя. Версия 2.x и старше использует загрузчик в стиле Windows Vista / Windows 7. Предыдущие версии - загрузчик в стиле Windows NT/2000/XP.

Напомню, что при записи образа ISO на флешку, программа UltraISO выводила протокол своей работы, в котором присутствовала запись о типе загрузочного сектора раздела. В приведенном примере, это строка - Boot Sector: WinNT. Это означает, что использовался загрузочный сектор раздела, применяемый для загрузки Windows NT/2K/XP. Процесс загрузки системы с жесткого диска в данном случае происходит следующим образом:
- считывается MBR и определяется адрес активного раздела.
- считывается загрузочный сектор(ы) активного раздела и управление передается ему.
- выполняется поиск и загрузка с передачей управления файлу загрузчика системы.
Механизм загрузки WinNT/2K/XP с использованием жесткого диска один и тот же - в корневом разделе диска ищется файл загрузчика ntldr, загружается в память, и управление передается ему. Дальше, уже код загрузчика занимается поиском и загрузкой необходимых файлов Widows.
В случае с Windows PE на компакт диске, используется код загрузочного сектора CD (файл bootsect.bin) и вместо файла начального загрузчика ntldr используется файл setupldr.bin из каталога I386. Причем файл setupldr.bin полностью функционально идентичен файлу ntldr. Напрашивается простое решение - удалить из корня флешки файл bootsect.bin и скопировать из каталога I386 файл setupldr.bin в ее корень под именем ntldr.

Программный код загрузочного сектора активного раздела должен обнаружить файл начального загрузчика ntldr в корне флешки и передать управление ему.
При попытке загрузиться в таком варианте ситуация изменилась. Загрузка началась, выдалось сообщение

Setup is inspecting your computer's hardware configuration:
И через несколько секунд
NTDETECT failed

Все верно, setupldr.bin в виде загрузчика ntldr в корне флешки, сработал, но не найден файл NTDETECT, что вполне ожидаемо, поскольку механизм загрузки в стиле WinNT предполагает, что кроме файла ntldr в корневом разделе диска должен присутствовать файл ntdetect.com

Это файл также находится в каталоге I386 флешки. Просматривается закономерность, что при использовании setupldr.bin в качестве ntldr, все файлы, необходимые для загрузки и инициализации ядра, должны находиться в корневом каталоге диска, а не в каталоге I386. После копирования их в корневой раздел съемного диска загрузка завершилась сообщением

File \minint\system32\biosinfo.inf could not be Loaded

Отсутствует файл \minint\system32\biosinfo.inf. Однако и каталога minint на флешке нет, а есть I386, в котором как раз и расположен искомый файл. Напрашивается вывод, что вместо имени каталога системы I386 используется имя minint.

Вообще-то, можно было бы разобраться со структурой записей в файле txtsetup.sif и изменить путь к системным файлам, но есть более простой и универсальный способ.

Попробуем переименовать каталог и снова попытаемся загрузиться с флешки. Все прекрасно работает! Загрузка с внешнего USB диска ERD Commander 2005/2008/ERD5.0 выполняется без каких-либо проблем, гораздо быстрее и появляется прекрасная возможность переделать полученную загрузочную ERD-флешку под свои предпочтения.







Создание загрузочной ERD флешки без использования ISO-образа.




    Понимание механизма загрузки позволяет решить "вручную" большинство проблем без поиска и установки дополнительного программного обеспечения. Для примера, если на полученной флешке понадобилось заменить версию ERD Commander, то сделать это, можно без использования какого либо ПО. Основная загрузочная запись MBR и код загрузочного сектора активного раздела на данной флешке уже имеются. Следовательно, достаточно просто удалить с нее все файлы и каталоги одной версии ERDC и "подсунуть" нужные из состава другой.

Естественно, нельзя использовать форматирование, а именно удалить старые файлы и папки и на их место скопировать новые.

    Для создания загрузочных съемных USB носителей можно обойтись и без использования записи образов компакт-дисков. Предыдущую задачу можно решить и без использования программы UltraISO. Для получения на флешке MBR и загрузочного сектора раздела можно воспользоваться, например, простой и бесплатной программой PeToUSB (около 100кб в архивированном виде), позволяющей выполнять форматирование USB носителей c записью загрузочных секторов. Программа не требует инсталляции и очень проста в использовании.



Форматирование с помощью PeToUSB


После завершения форматирования, у нас будет пустая флэшка с записью MBR, признаком активности и загрузочным сектором раздела в стиле WinNT. Для создания загрузочного диска ERD Commander остается выполнить следующее:

- cкопировать содержимое диска ERD на флешку. Если имеется ISO-образ диска, то его содержимое можно извлечь с помощью, например WinRAR.
- скопировать файлы (biosinfo.inf, ntdetect.com и др.) из папки I386 в корневой каталог флешки
- переименовать в корневом каталоге файл setupldr.bin в ntldr
- переименовать каталог I386 в minint.

Создание загрузочной флешки для ERD Commander 6.0-7.0 стандартными средствами Windows 7


В ERD Commander 6.0 и более поздних версий для загрузки используется новый диспетчер загрузки BOOTMGR. Так же, как и файл загрузчика ntldr, файл bootmgr располагается в корневом каталоге диска, с которого выполняется загрузка. Загрузочный сектор активного раздела имеет программный код для его поиска, считывания и запуска на выполнения. Конфигурация загрузки для нового диспетчера хранится в специальном формате, в файле BCD каталога \BOOT и представляет собой системное хранилище конфигурации загрузки (Boot Configuration Data ). Конфигурация используемая для ERD Commander 6.0 ( DaRT 6.0 ) и старше уже имеет нужные записи для создания образа электронного диска в памяти компьютера и развертывания образа загружаемой системы ( записи конфигурации BCD для устройства и приложения загрузки). Относительно высокая универсальность нового диспетчера загрузки bootmgr позволяет, при наличии правильной конфигурации, выполнить загрузку и развертывание образа Windows PE ( ERDC ) независимо от того, с какого физического носителя она выполняется. Другими словами, для загрузки ERDC 6.0 (DaRT 6.0) и старше, достаточно, чтобы код загрузочных секторов мог передать управление диспетчеру загрузки bootmgr и на флешке была бы точная копия данных компакт-диска:

- файл bootmgr в корневом каталоге

- каталог BOOT со всем его содержимым

- каталог sources где находится файл загружаемого образа boot.wim

На диске также имеется каталог EFI, который может понадобиться в том случае, если диспетчер загрузки используется загрузку операционных систем на базе системного раздела EFI (Extensible Firmware Interface)

Таким образом, для загрузки ERDC 6.0 и старше, нужно, чтобы на флешке имелся активный раздел с загрузчиком bootmgrbootmgr можно воспользоваться служебной утилитой bootsect.exe которая имеется в каталоге boot , или может быть взята из комплекта установочного диска Windows Vista и старше.

Для форматирования флешки и установки признака активного раздела, можно воспользоваться стандартной утилитой командной строки diskpart. После запуска утилита отображает Приглашение к вводу команд:

DISKPART>

Для получения списка дисков нужно ввести команду:

list disk

В списке будут отображаться диски, присутствующие в системе. Нужно определить, каким из них является флешка. Обычно это видно по колонке размер (нужно учитывать, что в колонке "Свободно" отображается не свободное место на диске, а доступное для создания нового раздела, и обращать внимание на нее не стоит) . Дальнейшие операции над выбранным диском приведут к уничтожению данных, поэтому, нужно быть внимательным и не допускать ошибку при выборе.

select disk 3 - выбрать диск 3

После команды выбора диска, все операции будут выполняться по отношению к нему. По команде list disk выбранный диск отображается с символом * в первой колонке.

Для очистки содержимого диска используется команда

clean

После очистки нужно создать на флешке новый первичный раздел командой:

create partition primary

Выбрать созданный раздел для последующих команд:

select partition 1

Сделать его активным:

active

Отформатировать его, например, в файловой системе FAT32

format fs=fat32

После сообщения о завершении форматирования, присвоить разделу свободную букву командой:

assign

И завершить работу с программой :

exit

После этого, нужно определить букву диска с помощью проводника или, например "Управление дисками" панели управления ( diskmgmt.msc). Для создания загрузочного сектора в стиле bootmgr нужно выполнить команду:

bootsect /nt60 X: где X: - буква, присвоенная флешке.

При успешном выполнении, будет выдано сообщение, содержащее строку:

Bootcode was successfully updated on all targeted volumes.

После этих операций флешка готова к загрузке файла диспетчера загрузки bootmgr Остается лишь скопировать содержимое компакт диска ERD Commander и выполнить загрузку. Подобным образом можно создать загрузочную флешку для любого программного продукта на базе Windows PE2 с диспетчером загрузки bootmgr (флешка на базе инсталляционного диска системы, диск аварийного восстановления и т.п.)

При использовании данной методики нужно учесть следующие моменты:

- если на флешке уже имеется активный раздел, то утилита diskpart, как правило, не нужна.

- выполнение команды bootsect не затрагивает данные на диске и ее можно выполнить в любой момент времени. Для перезаписи кода главной загрузочной записи ( MBR ) можно использовать команду - bootsect /mbr /nt60 X:

- для восстановления стиля загрузки ntldr используется ключ /nt52





Создание мультизагрузочной флешки с ERD версий 5.0, 6.0, 6.5. 7.0




    При загрузке с любого носителя, вместо кода загрузчика конкретной системы, в принципе, может загружаться любой программный код, который может быть найден и инициализирован начальным загрузчиком. В свою очередь, этот код может передавать управление другим загрузчикам иных операционных систем. Другими словами, в мультизагрузочных продуктах, вместо загрузки конкретной ОС, сначала выполняется загрузка специальной программы - менеджера загрузки (или Boot Manager), с помощью которой выбирается нужная системы и выполняется передача управления ее загрузчику.

Процесс загрузки схематично выглядит следующим образом:

- считывается MBR и определяется адрес активного раздела.
- считывается загрузочный сектор(ы) активного раздела и управление передается ему. Обеспечивается запуск менеджера загрузки
- менеджер загрузки выводит на экран список возможных вариантов загрузки, выполняет поиск и загружает выбранную систему.

    Одним из наиболее универсальных инструментов для создания мультизагрузочных носителей является GRUB - GRand Unified Bootloader - наиболее популярный в среде Linux/Unix загрузчик, ставший своеобразным эталоном удачно реализованного, гибко настраиваемого, и эффективного загрузчика. Кроме возможности передачи параметров загружаемой системе, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик ntldr) и практически, любые другие системы.

Проект GRUB начал разрабатываться в конце 90-х годов в рамках реализации Multiboot Specification - спецификации, обеспечивающей универсальный способ загрузки ядер любых операционных систем. На основе GRUB был разработан пакет GRUB4DOS - универсальный загрузчик, управляемый в режиме командной строки или с помощью конфигурационного файла. Загрузчик GRUB4DOS может быть использован как основной загрузчик системы как в Linux, так и в Windows. При установке в MBR, файл grldr.mbr, входящий в пакет Grub4dos записывается в загрузочную область устройства загрузки (HDD, floppy, USB Flash drive). Основной файл в корне устройства grldr, аналогично загрузчику ntldr загружается из MBR с помощью кода grldr.mbr.
Когда Grub4dos загружается из MBR, он сканирует все поддерживаемые устройства со всеми поддерживаемыми файловыми системами на наличие файла grldr , и, если он найден, то выполняется его загрузка в оперативною память, и, затем - передача ему управления. Программный код загрузчика grldr производит поиск своего конфигурационного файла menu.lst, и если такой файл не найден, то активируется командный режим. Файлы grldr и menu.lst могут находиться не только в корне активного раздела вместе с MBR, но и на любых других.

Если загрузчик grldr установлен в качестве загрузочного сектора раздела, то его поиск и загрузка должна выполняться кодом основной загрузочной записи MBR. В любом случае, начальным этапом работы загрузчика является поиск конфигурационного файла menu.lst. Если файлов menu.lst несколько (на разных дисках) первым загруженным menu.lst будет файл на загрузочном устройстве. Если файл найден на одном из жестких дисков, то файлы на сменных носителях игнорируются.

Одной из особенностей загрузчика grldr является возможность выполнять загрузку операционных систем непосредственно из файла ISO-образа. Поэтому, создание загрузочного диска с несколькими ISO-файлами ERDC становится довольно несложной задачей.

Порядок создания мультизагрузочного USB диска можно разделить на следующие этапы:

- Форматирование флешки и установка кода загрузчика grldr.bin в сектор MBR и установка кода загрузчика активного раздела для GRUB.
- Копирование файла grldr в корень флешки.
- Копирование файлов iso-образов загружаемых операционных систем.
- Настройка меню загрузчика с использованием команд, записываемых в файл menu.lst.

В качестве примера я выбрал вариант создания USB флешки с 3-мя разными версиями ERD Commander - 5.0, 6.0, 6.5, и соответственно, с 3-мя файлами образами erd50.iso, erd60.iso, erd65.iso.

При работе с GRUB используются определенные правила, игнорирование которых может привести к проблемам с загрузкой и даже потерю пользовательских данных. Во всех случаях работы с программным обеспечением загрузчиков, особенно в среде ОС Windows, необходимо соблюдать осторожность и представлять результат выполняемых действий. Если Вы не уверены в своих знаниях и навыках работы, не выполняйте подобные действия при подключенных дисках с важными данными, или, по крайней мере, сделайте копии загрузочных секторов, таблиц расположения файлов или полные копии HDD.

При работе с загрузчиком Grub4Dos соблюдайте регистр символов - строчные и заглавные буквы для него - это разные символы. Именование устройств также отличается от принятого для Linux, и Windows. Имена устройств используемые GRUB:

fd - floppy disk, дисковод гибких дисков
cd - compact disk - дисковод компакт дисков
hd - hard disk - накопитель на жестких магнитных дисках

Нумерация дисков и разделов начинается с нуля. Записи об устройствах и разделах заключаются в скобки. Так, запись (hd0) означает первый жесткий диск, запись (hd0,0) означает первый раздел на первом жестком диске. Нумерация дисков соответствует их нумерации в BIOS. Обычно, при стандартной настройке, Primary Master Disk соответствует hd0, Primary Slave - hd1 и т.д. Если в BIOS изменен порядок следования устройств загрузки, то именование дисков также изменяется. В частности, при установке режима загрузки с флешки, она получит имя hd0, а первый жесткий диск - hd1. Этот факт нередко упускают при создании мультизагрузочных дисков, в результате имея неработающие пункты меню загрузчика, по причине неправильной нумерации устройств загрузки.

Загрузчик GRUB поддерживает командную строку и позволяет выполнять около полусотни встроенных команд, во многом похожих на консольные команды Unix/Linux. Для входа в режим отладки GRUB используется нажатие клавишу INSERT в самом начале работы загрузчика. В данном режиме, на экран дисплея будут выдаваться сообщения о ходе загрузки. Для входа в командную строку GRUB, используется нажатие клавиши C в самом начале работы загрузчика. На экране появится приглашение к вводу команд

grub >

Список команд загрузчика можно получить по нажатию клавиши TAB (список без какой-либо дополнительной информации) или по команде

help

Подсказку по конкретной команде можно получить, используя

help имя команды
help find - подсказка по команде find

Примеры команд для проверки нумерации дисков и разделов

find /menu.lst - выдать список разделов, содержащих файл menu.lst
find /boot.ini - выдать список разделов, содержащих файл boot.ini, обычно используется для проверки имени раздела с Windows (вместо boot.ini можно воспользоваться поиском самого файла загрузчика ntldr).

При наличии файла menu.lst, команды для загрузчика берутся из него. Строки menu.lst, начинающиеся с символа #, не обрабатываются и используются в качестве комментариев. Для создания простейшего мультизагрузочного ERD диска понадобятся всего лишь несколько команд.

Пошаговая методика создания мультизагрузочной флешки с ERD 5.0, ERD 6.0, ERD 6.5

Все программы, которые могут понадобиться для работы я собрал в небольшой zip-архив, Скачать ~200кб. Установка не требуется.

1. Форматирование и установка кодов загрузочных секторов.

Для форматирования флешки используется утилита USB Disk Storage Format. (HP USB Disk Storage Format Tool) - hpusbfw.exe. Попытки использовать стандартное форматирование в среде Windows обычно завершаются тем, что коды загрузочных секторов не устанавливаются, поэтому лучше использовать данную утилиту. После запуска в основном окне программы нужно выбрать для форматирования флешку.


Форматирование флешки  с помощью hpusbfw.exe


Будьте внимательны, в качестве диска для форматирования нужно выбрать именно ту флешку, которая будет использоваться в качестве мультизагрузочной. Файловую систему можно выбрать FAT32 или NTFS. Установить галочку быстрого форматирования (Quick Format). После завершения форматирования будет выдано окно с результатами


Результаты форматирования флешки  с помощью hpusbfw.exe


Для установки кодов загрузочных секторов (главной загрузочной записи MBR и кода загрузочного сектора раздела PB ) можно использовать либо консольную (grubinst.exe), либо графическую версию (grubinst_gui.exe) установщика GRUB. Версия с графическим интерфейсом проще, и при ее использовании меньше вероятность ошибки.


Установка Grub4Dos c помощью  grubinst_gui.exe


При выборе диска будьте внимательны! Установщик Grub4Dos использует именование дисков принятое в GRUB. Поэтому выбираемый диск ни в коем случае не может быть (hd0) (это загрузочный диск вашей системы) и его объем должен быть приблизительно равен тому, что выдала программа форматирования флешки. После выбора диска жмете Install После завершения установки будет выдано сообщение о результатах:


MBR/PB успешно установлен


Нажимаете ENTER и закрываете установщик.

2. Копирование необходимых файлов и настройка меню.

Теперь осталось скопировать на флешку загрузчик grldr, файл меню и файлы образов .iso. Для удобства использования, я собрал все это в архив, Скачать ~530 Мб.
После разархивирования нужно записать все файлы на флешку.
Для тех, у кого уже имеются файлы iso-образов ERD, можно скопировать их на флешку (соблюдая имена образов - erd50.iso, erd60.iso, erd65.iso) и добавить следующие файлы из предыдущего архива:

grldr - загрузчик.
menu.lst - файл меню загрузчика
erdall - графическая оболочка меню.

Мультизагрузочная флешка готова. Можно загружаться.
Учтите, что распаковка образов занимает некоторое время и после выбора пункта меню экран может оставаться пустым. В зависимости от размера файла образа ISO, быстродействия флешки, и системы в целом, это может продолжаться от нескольких секунд, до нескольких минут.

Состав файлов образов и содержание файла меню загрузчика можно изменить по Вашему желанию.

Содержимое файла menu.lst:

default 0
gfxmenu /erdall
root (hd0,0)

title ERD Commander 5.0 for Windows XP / Windows 2003
map --mem /erd50.iso (0xff)
map --hook
chainloader (0xff)
boot

title ERD Commander 6.0 for Windows Vista / Windows 2008
map --mem /erd60.iso (0xff)
map --hook
chainloader (0xff)
boot

title ERD Commander 6.5 for Windows 7 / Windows 2008 RC2
map --mem /erd65.iso (0xff)
map --hook
chainloader (0xff)
boot

Пояснения к используемым в файле командам GRUB:

default 0 - выбрать по умолчанию первый пункт меню (default 1 -второй и т.д.)

gfxmenu /erdall - использовать в качестве графического стиля меню файл erdall

root (hd0,0) - в качестве корневого раздела будет использоваться первый раздел первого диска, т.е. первый раздел флешки, с которой была выполнена загрузка.

title ERD Commander 5.0 for Windows XP / Windows 2003 - это пункт меню загрузки. Последовательность команд в каждом пункте, задаваемом title одна и та же, отличаются только названия пунктов и имена файлов образов.

map --mem /erd50.iso (0xff) Команда map в данном случае используется для эмуляции компакт диска в оперативной памяти (параметр --mem из файла образа erd50.iso на устройство загрузки 0xFF. Команда map используется для загрузки из образов и для подмены дисков, когда, например, необходимо загрузить Windows из меню GRUB загрузочной флешки. В этом случае, если не выполнить подмену диска, загрузка завершится сообщением о том, что не найден файл hal.dll, по причине того, что загрузчик Windows не смог найти системный каталог, который должен был быть на (hd0). Данные о местонахождении системы, содержащиеся в файле boot.ini, загрузчик ntldr Windows будет искать на (hd0), в качестве которого будет выступать ваша флешка. Поэтому, для обеспечения нормальной загрузки Windows, установленной на жестком диске, обычно выполняют маппинг дисков таким образом, чтобы диск с Windows стал (hd0)

map -hook - выполнить маппинг немедленно. Команды map не выполняются сразу, а ставятся в очередь на выполнение. Для отмены изменений эмуляции дисковых устройств используется map -unhook

Параметр --mem использовать необязательно, но желательно. При его отсутствии, загрузка будет выполняться без маппинга образа в оперативную память, и внешне будет выглядеть так же, как загрузка с компакт-диска. Однако у GRUB есть важное ограничение при создании виртуального устройства из образа диска без его маппинга в память - файл образа должен быть непрерывным (не фрагментированным). Это условие обычно соблюдается, когда в качестве носителя данных используется CD/DVD. В случае же использования флешки, при удалении и добавлении отдельных файлов, вполне возможно, что файл образа может оказаться состоящим из нескольких фрагментов и загрузка завершится сообщением об ошибке:

File for drive emulation must be in one contiguous disk area (Файл для эмуляции диска должен быть непрерывным).

В данном случае, нужно или дефрагментировать файл, например, с помощью утилиты contig, или использовать эмуляцию образа в оперативной памяти, не требующей размещения файла в виде одного фрагмента. Нужно только учитывать, что объем оперативной памяти компьютера должен быть достаточен для размещения в нем файла образа. Обычно, образы небольшого размера используются с параметром -mem , а прямой маппинг используется для файлов, размер которых не позволяет полностью считать их в оперативную память компьютера. Пауза, в виде пустого экрана, в ходе загрузки больших образов и использования маппинга в память, вызвана относительно длительным временем считывания данных с флешки в ОЗУ при эмуляции устройства загрузки.

chainloader (0xff) - GRUB будет использовать полученное при маппинге устройство 0xff в качестве устройства загрузки.

boot - выполнить подготовленную предыдущими командами процедуру загрузки.

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

title Boot from first Hard Disk
map (hd1,0) (hd0,0)
map -hook
chainloader (hd0.0)+1
boot


Используемые в данном пункте команды, немного отличаются от рассмотренных выше. Как уже отмечалось, для загрузки Windows, нужно, чтобы устройством загрузки был первый жесткий диск (hd0). Команда map (hd1,0) (hd0,0) назначает соответствие первому разделу первого диска (hd0,0) первый раздел второго диска (hd1,0), т.е. вместо флешки, с которой выполнялась начальная загрузка, устройством (hd0) станет жесткий диск. Команда chainloader (hd0.0)+1 означает, что будет выполняться загрузка первого сектора (+1) с первого раздела первого диска.

    В завершение добавлю, что данная методика позволяет создавать свою собственную редакцию реанимационной флешки, например, добавлением возможности загрузки продуктов Acronis, сборок Alkid CD, Ruslive CD и т.п.

    Для современных компьютеров, не имеющих накопителей на гибких магнитных дисках, возможность загрузки с дискеты тоже можно реализовать через загрузку образа средствами GRUB. В качестве примера, рассмотрим возможность загрузки образов с популярными программ для тестирования жестких дисков MHDD и Victoria. Скачать архив с подготовленными образами можно по ссылке:

Образы загрузочных дискет с Victoria 3.52 и MHDD 4.6

Архив содержит 2 файла - образа mhdd.ima и vcr352.ima . Их нужно скопировать на флешку и в menu.lst добавить строки:

title Victoria for DOS ver 3.52
map --mem /vcr352.ima (fd0)
map -hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1
boot

title MHDD ver 4.60
map --mem /mhdd.ima (fd0)
map -hook
chainloader (fd0)+1
root (fd0)
map --floppies=1
boot

В данном случае, будет использоваться эмуляция флоппи - диска (устройство (fd0) с маппингом в память из файлов образов загрузочных дискет vcr352.ima для Victoria и mhdd.ima для MHDD. Краткое пояснение команд:

chainloader (fd0)+1 определяет, что загрузка будет выполняться из первого сектора первого гибкого диска.
root или rootnoverify задают для загрузчика grldr эмулируемый дисковод в качестве корневого. rootnoverify используется в случаях, когда нужно указать загрузчику, что корневой диск не нужно монтировать. Обычно, для стандартных файловых систем используется root .
map --floppies=1 - указывает загрузчику grldr , что будет использоваться только один эмулированный флоппи-дисковод.

Иногда, полезно включить в меню загрузчика дополнительные команды

Перейти в командную строку:
title Command Line
commandline

Перезагрузить компьютер:
title Reboot PC
reboot

Выключить компьютер:
title ShutDown PC
halt


В дополнение к данной статье - пример реализации удаленной загрузки по локальной сети с использованием стандарта PXE и универсального загрузчика GRUB Во многом, процедура загрузки похожа на рассматриваемый здесь вариант, но вместо внешнего мультизагрузочного USB диска, используется PXE-сервер с загрузчиком grldr и прочими, необходимыми для обеспечения загрузки по локальной сети, файлами. Пример удаленной мультизагрузки ERD Commander и Victoria.










В начало страницы | На главную страницу сайта.