«Живая» флешка «многоцелевого назначения»

Я уже писал о загрузочных флешках. Тогда речь шла о создании флешки с которой загружался Linux. А тут почитал про то, как люди на одной флешке размещают несколько вариантов загрузки и сам «загорелся»…

Зачем такое нужно? С одной стороны, некоторые из утилит имеют довольно небольшой размер, а сдругой — флешки с каждым годом становятся все больше и больше. И идея на одну флешку сложить несколько разных загружаемых утлит (образов) уже не кажется лишенной здравого смысла. А в некоторых случаях, и с технической, и с экономической точки зрения, альтернативные варианты однозначно проигрывают. Например, загрузочная дискета — и сама недолговечна, и дисководов теперь во многих даже стационарных компьютерах, не говоря уже о ноутбуках, днем с огнем не сыщешь!

1. Создаем саму загрузочную флешку

Инструкция эта не моя, я прочел ее тут:

http://itbg.wordpress.com/2008/12/14/загрузочная-flash-с-помощью-grub4dos/

На указанной странице вариантов несколько. В моем случае рабочим тоже оказался второй вариант. Флешку я создавал из под Windows XP SP3. Флешка в процессе выполнения указанной инструкции форматируется, следовательно, если на ней есть критически нужные и полезные файлы, их на время нужно скопировать куда-то. Итак…

  1. Я скачал и установил HP USB Disk Storage Format Tool. На всякий случай, сложил у себя на ftp.
  2. Вставил флешку в компьютер. Запустил HP USB Disk Storage Format Tool. В поле «Device» выбрал свою флешку (право, не стОит форматировать винчестер компьютера 🙂 ). В поле «File System» выбрал «NTFS» (и это — обязательное условие, именно благодаря этому флешка после форматирования станет загрузочной). Указывать свое имя диска в поле «Disk Label» на этом этапе совсем не обязательно — это еще не последнее форматирование диска. Нажал кнопку «Start«. Программа по быстрому отформатировала флешку.
  3. После форматирования флешку из компьютера я извлек и снова вставил. Затем открыл «Мой компьютер», щелкнул правой кнопкой мыши на ярлыке флешки и выбрал «Форматировать». В этот раз при форматировании флешки средствами Windows я выбрал уже файловую систему FAT32. И вот уже при этом форматировании можно, при желании, задать свое имя диска для флешки.
  4. Теперь пришло время записать загрузочный код в MBR флешки. Для этого я скачал пакет утилит grubutil-1.1-bin-w32-19. (Его  также теперь можно найти и у меня на ftp). Распаковал архив в (произвольную) папку, перешел в нее и запустил утилиту с графическим интерфейсом — grubinst_gui.exe. В этой программе все, что я сделал — выбрал свою флешку из выпадающего списка в поле «Device Name» (вверху), и щелкнул кнопку «Install» (внизу). Выпрыгнуло окно командного интерпритатора Windows, сообщившее об успешной установке MBR, и предлагающее нажать ENTER для продолжения (The MBR/BS has been successfully installed. Press <ENTER> to continue...)
  5. Оставалось сделать последний шаг. Для этого я скачал собственно сам GRUB4DOS. (Копия архива также доступна и с моего ftp). Распаковал архив в (произвольную) папку и перешел в нее. В указанной папке я нашел два файла — grldr и menu.lst — и скопировал их в корневой каталог флешки.

Все! Перезагружаем компьютер и в его bios-е выбираем загрузку с USB-HDD. Как вариант, можно не перенестраивать bios, а воспользоваться клавишей временного выбора загрузочного устройства. У разных версий bios это могут быть различные клавиши. Мне доводилось встречать варианты — F8, F10, F11, F12. Какая кнопка используется в Вашем случае — лучше всего прочитать в документации на материнскую плату. В любом случае, при удачной загрузке с флешки примерно на секунду появляется сообщение:

Try (hd0,0): FAT32:

А после него появляется меню с возможными вариантами загрузок (определяется файлом menu.lst, который записан в корневом каталоге флешки).

ЗЫ. Эту проверку (тестовую загрузку) лучше все-таки разок выполнять перед последующими действиями. Она позволяет отсеять флешки с более старой весрсией контроллера. Для использования с grub4dos эти флешки не подходят, т.к. опредеяются bios-ами материнских плат как USB-FDD, а не USB-HDD, и как следствие, grub4dos с них загружаться не может…

2. Загружаемся с «флопика».

Точнее, не с дисковода, а с ОБРАЗОВ ЗАГРУЗОЧНЫХ ДИСКЕТ. Вопрос простой — а оно надо? Как показывает практика, а особенно  с поправкой на тот факт, что во многих новых компьютерах (не говоря уже о ноутбуках) флопик просто отсутствует, хоть иногда, но надо. Например, для прошивки нового bios-а в материнку, и т.п.

Смотрим в файл menu.lst. в нем есть такой вот пример:

title MAXDOS.IMG
find --set-root --ignore-floppies /boot/MAXDOS.IMG
map --mem /boot/MAXDOS.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

Прекрасно, образец есть, осталось найти и загрузить образы интересующих дискет, записать их на флешку и добавить аналогичные пункты в меню загрузки grub4dos (файл menu.lst). Лично я первым делом нашел образ загрузочной дискеты «старого-доброго» Windows 98. Именно для случаев прошивки новых bios-ов в материнские платы. Для этого записал в корень флешки файл winb98se.IMA (сам образ дискеты), а в файл menu.lst добавил следующие строки:

title Windows 98 boot floppy
find --set-root --ignore-floppies /winb98se.IMA
map --mem /winb98se.IMA (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

Как видим, от приведенного выше образца из исходного файла menu.lst, мой вариант отличается именем строки в меню загрузки (задается параметром title и в моем случае строка будет выглядеть как «Windows 98 boot floppy»), а также указанием на имя и месторасположение самого файла образа дискеты.

Загрузившись с такого «флопика» в первый раз, я подумал и решил, что неплохо было бы добавить файловый менеджер. По этому, на флешку перекочевал «старый-добрый» VC. А можно и NC — кому как больше нравится. Впоследствии, также на флешку была записана dos-версия программы Victoria, которую можно скачать с сайта автора. Ведь зачастую «лечить» приходится такие винчестеры, с которых загружаться уже не получается 🙁 .

Что стоит учесть при такой загрузке. Главное — это тот факт, что первым «винчестером» в системе становится … флешка. А как же, мы же ведь загружались с «USB-HDD»… В итоге, диск C после такой загрузки — это Ваша флешка, а первый раздел винчестера компьютера — это уже диск D.

Какие еще можно использовать варианты загрузочных дискет? Можно порыться в дебрях файлов, установленных программой Nero (или Вы такой не пользуетесь?). С ней идет файл образа загрузочной дискеты, которая позволяет получить доступ к разделам жесткого диска, отформатированным в файловую систему NTFS. Правда, увы, только в режиме чтения, но это все же больше, чем упоминавшийся ранее «Windows 98 boot floppy», который такие разделы не видит вообще. Можно еще нагуглить в интернете такой диск — «Emergency Master Rescue Disk». Меню на нем много и всяких, но я так толком в них и не вник. В своих меню эта дискета указывает на следующий сайт авторов. Но и там я ничего вразумительного не нашел. Плюс дискеты — в поддержке NTFS и наличии файловых менеджеров… Нашел я еще вот такой проект — All In One Boot Floppy. Из того, что заинтересовало — тест памяти, поддержка NTFS, возможность снятия паролей с bios-а, тест максимальной нагрузки процессора. Ну и еще один возможно полезный вариант я нашел тут. Образ дискеты, позволяющей устанавливать и рулить GRUB-ом на жестком диске компьютера…

3. Немножко образов CD.

Ну не только же с «дискет» грузиться! Хорошо бы и с CD, причем без «разворачивания» в файлы, а непосредственно с самого ISO-образа… Снова смотрим в файл menu.lst — есть там примерчик вот такой:

title find and boot 0PE.ISO
fallback 5
find --set-root /0PE/0PE.ISO
map /0PE/0PE.ISO (0xff) || map --mem /0PE/0PE.ISO (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2

Ладно! Что такое OPE, я не знаю, а вот, допустим, Acronis True Image Home запустить не помешало бы. (Кстати, владельцы винчестеров Seagate и Maxtor могут пользоваться им абсолютно бесплатно, и не нарушая авторских прав. Достаточно на сайте Seagate спросить про DiscWizard)… Итак, создал я образ загрузочного CD, записал его на флешку, создал в menu.lst пункт по образу и подобию приведенного выше, но указывающего на нужный мне образ, и … не пошло…

Чтож, «гугл в помощь!» Буквально через пару минут я уже читал тему на этом форуме, где был предложен немного иной вариант:

title Acronis media
find --set-root /acronis10.iso
map /acronis10.iso (hd32)
map --hook
root (hd32)
chainloader (hd32)

Попробовал, и все прекрасно запустилось! Так и оставил. В последствии из «интересного» на флешку добавил образ загрузочного диска программы Paragon Hard Disk Manager 8 Special Edition (одно время они раздавали его у себя на сайте бесплатно), а также совсем маленький образ CD, скачанный вот тут. Последний позволяет сбрасывать или устанавливать свои собственные пароли, а также менять привилегии для пользователей Windows NT/2k/XP/Vista. Иногда и такое бывает нужно…

Тем кто любит много читать (ссылка):