Создание загрузочной USB флешки ERD Commander. Программы для восстановления флешек

Периферия

Как восстановить удаленные файлы с flash накопителя? Можно ли и как восстановить работоспособность флешки?

Мы предоставляем услуги по восстановлению данных с флешек и карт памяти при любых неисправностях. Если с помощью предложенных программ вы не смогли восстановить информацию с флешки, приносите к нам – мы поможем спасти данные.

PC3000 Data Extractor

Считыватель flash

Адаптеры для чтения микросхем памяти

Паяльные станции

Лучшие специалисты

Специалисты по восстановлению флешек:

Схема работы

Доставка

курьером бесплатно

Диагностика

быстро и бесплатно

восстановление

на профессиональном оборудовании

проверка

качества и полноты восстановления

только при успешном результате

Программы для восстановление флешек

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

1. Программы для восстановления информации с флешки и ценных данных, к примеру после случайного удаления или после форматирования, если пропали папки с файлами или даже целый раздел. Такие проблемы с флешками мы относим к категории «Логика». Если вы отформатировали карту памяти в фотоаппарате с ценными снимками, или случайно отформатировали USB-флешку с важными файлами и у вас нет резервной копии, тогда первый раздел этой статьи для вас.

2. Программы для восстановления работоспособности флешки , т.е. для ремонта flash накопителя . Если флешка не определяется, не читается, но при этом ценность данных на устройстве минимальна и вы хотите просто, чтобы флэш накопитель снова заработал, тогда для вас второй раздел этой статьи.

И так, вы определились, что именно вас интересует? Тогда переходите к нужному разделу.

Программы для восстановления данных с флешки

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

Перед тем как продолжить, определите для себя ценность данных и готовность их потерять при попытках самостоятельного восстановления. Прочитайте статью “скачать программу или отнести в компанию “. Если вы решили попробовать восстановить данные самостоятельно, то важно выполнять два правила:

1. Спокойствие . Не суетитесь и не паникуйте, даже если что-то не получается. Только паникой можно объяснить странные вещи, которые творят люди, что потом даже профессионалам становится сложно вытащить данные.

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

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

Программа R-Studio

R-Studio – одна из самых старых, надежных и проверенных программ на рынке восстановления данных. Эта программа поддерживает все файловые системы, которые используются на флэш накопителях – FAT12/16/32/exFAT, NTFS, а так же файловые системы Mac OS – HFS/HFS+ и Linux – Ext2/Ext3/Ext4 . Есть версии для Windows, Mac и Linux. Мы сами иногда используем программу R-Studio при простом восстановлении удаленных файлов с флешек и жестких дисков.

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

Программа TestDisk & PhotoRec

TestDisk & PhotoRec – это две консольные утилиты с открытым кодом, которые распространяются бесплатно. Обе программы работают как с жесткими дисками так и со съемными носителями, такими как флэшки и карты памяти.

TestDisk – программа для восстановления разделов флешки, карт памяти и других устройств. С помощью программы TestDisk вы можете исправить таблицу разделов или восстановить удаленный раздел, восстановить или перестроить загрузочный сектор FAT/FAT32/NTFS.

Для восстановления потерянных файлов, удаленных фотографий с карт цифровых камер или жестких дисков используйте программу PhotoRec. На сайте программы вы можете посмотреть инструкцию по восстановлению удаленных данных с помощью PhotoRec, там же вы можете скачать саму программу.

Программы для восстановления работоспособности флешки

Программы из этого раздела предназначены дял выполнения программного ремонта флешки, использовать их стоит только в том случае, если данные на флэш накопителе не представляют для вас ценности. Данный раздел создан только для вашего ознакомления, мы в Data Recovery специализируемся исключительно на восстановлении информации и не занимаемся ремонтом и восстановлением работоспособности флешек.

Алгоритм восстановления работоспособности флешек следующий:

  • определяем VID/PID флешки
  • определяем контроллер
  • ищем утилиту для прошивки контроллера
  • перепрошивка контроллера

Кроме утилит JetFlash Recovery для флешек Transcend и Dr. UFD для флешек PQI, где эти этапы любезно автоматизированы и скрыты от пользователя производителем.

JetFlash Recovery Tool

Jet Flash Recovery Tool – программа для восстановления работоспособности флешек Transcend. Если флешка фирмы Transcend взглючила, читается с ошибками, на нее невозможно ничего записать и при этом на ней не было ценной информации, тогда не спешите ее выбрасывать. Вполне возможно, что после использования JetFlash Recovery флешка еще вам послужит. Эта программа предназначена для восстановления работы сломавшейся флешки, она не восстанавливает данные и не восстанавливает файлы. Наоборот, как и остальные программы, назначение которых – ремонт флэш накопителя, JetFlash Recovery уничтожит всю информацию, которая была на флешке. У программы есть опция ремонта флешки с сохранением данных, но в многих случаях это не помогает, и тогда нужно выбирать ремонт с удалением информации.

У программы Jet Flash Recovery простой и понятный интерфейс, так что несмотря на то, что она только на английском с ней легко справиться. Скачать JetFlash Online Recovery Tool можно на официальном сайте Transcend . После использования программы вы сможете пользоваться флешкой снова.

Dr. UFD

Dr. UFD (Uni Flash Drive)- фирменная утилита для ремонта и диагностики флешек PQI. Программу можно взять на официальном сайте PQI . Запустите программу с правами администратора и подключите флешку к компьютеру. Программа предложит вам на выбор либо быстрое либо полное восстановление флешки, при этом все данные будут уничтожены. Далее начнется процесс форматирования и восстановления флешки.

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

Как определить VID/PID и перепрошить контроллер флешки?

Если вы столкнулись со стандартными проблемами – флешка отказывается копировать информацию, не удается ее отформатировать стандартными средствами, то весьма вероятно, что произошел программный сбой контроллера. Чтобы узнать какой контроллер расположен в нашей флешке запускаем программу CheckUDisk, чтобы узнать VID и PID производителя контроллера нашего USB устройства.

Теперь нам необходимо найти утилиту для перепрошивки именно этого типа контроллеров. Для этого идем в базу данных iFlash на flashboot , в которую добросовестные пользователи занесли информацию по флешкам.

В соответствующих полях указываем наши VID и PID, в появившихся результатах поиска, ищем похожую флешку. Нас интересует информация из столбцов «Контроллер» и «Утилита». На этом же сайте в разделе “файлы ” введите в поиске название утилиты целиком для нашей флешки, если вам повезло, то вы найдете утилиту и к ней будет прилагаться инструкция, следуя которой вы сможете перепрошить контроллер и вернуть флешку к жизни.

Удачи вам в воскрешении флешек!

Остались вопросы?

Оставьте телефон и менеджер перезвонит Вам

Эта статья посвящена созданию загрузочной флешки. Для примера мы запихнём на флешку программу парагон домашний эксперт. Для этого нам придётся создать загрузочный сектор на флешке, записать туда загрузчик и менеджер загрузки.


Для начала скачайте все необходимые файлы.

Запись загрузчика на флешку

Перед началом работы убедитесь, что на вашей флешке нет никакой ценной информации. Все данные на флешке будут стёрты.


1. Нужно создать загрузочный сектор на флешке. Грубо говоря, сделать флешку активной. Делается это следующим образом. Запускаем файл «BOOTICE.exe», который мы уже скачали.





Убеждаемся, что выбрана та флешка, которую мы хотим сделать загрузочной. Жмём на кнопку «Parts Manage».





В «Parts Manage» нам нужно выполнить команду «ReFormat USB disk». Это означает изменение формата USB флешки. В нашем случае перевести её в формат HDD. Другими словами сделать из флешки внешний жёсткий диск, с помощью записи на неё загрузочного сектора.


После успешной операции, ваша флешка перейдёт в режим жёсткого диска. Теперь загрузочный сектор в ней присутствует. Но теперь неплохо бы было нам её отформатировать. Для этой цели предусмотрена кнопка «Format this part».





Форматируем флешку в формате FAT32.


2. Теперь нам нужно в этот загрузочный сектор записать загрузчик. То есть у нас есть загрузочный сектор, но пока в нём нет никакой информации. Нам нужно запихнуть туда загрузчик. Как нам это сделать? Всё в той же программе «BOOTICE.exe» есть кнопочка «Process MBR». Нажимаем на неё.





Здесь выбираем какой загрузчик будет записан в загрузочный сектор. Это всё программы, которые пишутся в нулевой сектор. Мы выберем загрузчик «Grub4dos» и жмём на кнопку «Install».





В появившемся окне можно ничего не менять. По желанию можно поставить галочку на «Don’t search floppy for GRLDR». Это означает, что загрузчик не будет искать дискету. Зачем загрузчику тратить время на дискету, если их уже не используют.


И ещё можно поменять название менеджера загрузки. Максимум пять символов.


Жмём на кнопку «Save to disk» для записи загрузчика на флешку.


Подведём предварительный итог. Мы создали на флешке загрузочный сектор и записали на неё загрузчик. Всё, два пункта мы выполнили. Теперь нам программа «BOOTICE.exe» больше не нужна.


Теперь через «Мой компьютер» открываем флешку. В ней ничего нет. Потому что мы её отформатировали и в ней нет никакой информации. Нам нужно записать в неё «бутменеджер», на которую будет ссылаться загрузчик, записанный в загрузочный сектор.

Где взять «бутменеджер»?

Мы будем использовать «grub4dos-0.4.4», который есть в скачанном архиве. Из всех фалов «grub4dos-0.4.4» нам нужен только файл «grldr».





Если помните, при установке загрузчика мы могли поменять имя менеджера загрузки. Так вот это и есть менеджер загрузки, и её имя должно соответствовать тому, что вы написали.


Скопируем файл «grldr» на флешку.


Менеджер загрузки сам по себе не сможет работать, потому что ему нужен ещё один файл. Это файл «menu.lst». Это файл, откуда менеджер загрузки черпает информацию для построения меню. Так как мы будем загружать только парагон, этот файл будет выглядеть очень просто.



«map /PHE.iso (hd32)» - указываем какой образ смонтировать. «map --hook» - указываем мапингу стать глобальным. «chainloader (hd32)» - выполнить сейчас.


Данный файл поместите на флешку.


Теперь нам осталось поместить на флешку сам парагон. Это файл PHE.iso. В итоге на флешке у нас стало три файла.


Вот и всё, флешка готова. Теперь наша программа способна запускаться с флешки. Таким способом можно создать загрузчики многих других подобных программ. Эти программы в основном используются для восстановления системы после сбоев.

Мое почтение читающему!
Топик мог бы получиться просто катастрофически огромным, поэтому перейдем сразу к делу. Впереди вас ждет рассказ, о том, как можно одну флешку сделать одновременно загрузочной как для ОС семейства Windows, так и *nix, а также сделать из нее live-usb. Заранее прошу прощения за жаргон, не сторонник, но так короче.

Аннотация

Как-то пришлось много раз подряд устанавливать на одну и ту же машину кучу разных операционных систем, как от товарищей господ из Майкрософт, так и любимых всеми нами *nix`ов. При этом инсталляторы вновь устанавливаемых ОСей периодически терли загрузчики ранее установленных, так что приходилось их восстанавливать вручную, загружаясь с live-usb. Но самое ужасное, что при всем при этом под рукой была всего одна флешка (и еще 15 компьютеров правда, но толку от них было мало, так как разбирать их по причинам гарантии в надежде на лишний жесткий диск было нельзя). Флешка к счастью была большого объема. Вот тут-то и возникла идея сделать из одной флешки две, а лучше три (хотя можно и 4) разных девайса.

Немного теории

Как сделать из одной флешки несколько с целью последующей установки на нее одновременно нескольких установщиков ОС и еще live-операционки? Ответ очевиден - сделать на флешке несколько разделов!

Покопавшись в интернете глубинах подсознания вспомнил из институтского курса, что информация о разделах хранится в первом секторе диска флешки, называющемся Master Boot Table (MBR), а точнее в отдельной его части, называемой partitions. Находится эта часть по смещению 0x01BE и представляет собой 4 поля по 16 байт, каждое из которых представляет собой запись об отдельном разделе. При этом в принципе возможно на одном устройстве иметь и большее количество разделов, но это сложнее и нам для флешки хватит и четырех.

Инструментарий
В форточных ОС существует неприятное ограничение на количество разделов флешки. Оно не должно превышать 1 . Точнее разделов может быть сколько угодно, но ОСь будет видеть только первую из записей в partitions. Собственно это и определило выбор средств для форматирования флешки. Будем работать с линуксовым fdisk`ом!

Сам загрузчик будем писать на FASM`е , так как для программирования кода, выполняющегося вне ОС он наиболее удобен на мой взгляд.

Работать с флешкой в виде блочного устройства можно с помощью ужасной destroy data (dd ), но раз уж тут выходит такая мешанина операционок, то воспользуемся более дружественной оконной DMDE .

Краткое лирическое отступление
На самом деле особенность работы ОС семейства Windows с флешками позволяет используя предлагаемую мной технологию абсолютно безболезненно по отношению к дальнейшему использованию флешки в качестве ординарного накопителя данных. Отрезав от имеющихся у меня в наличии 16 GB парочку в конце, я стал обладателем 14-гиговой флешки, работающей с точки зрения винды как и прежде (т. е. другие разделы были не видны), но при этом при попытке загрузки с нее из BIOS позволяющей устанавливать ОСи из двух гигабайтных разделов, созданных в конце.

Зубо флешко-дробильный аппарат
Начнем с самого простого, разметим файловую систему на нашей флешке. В частности я использовал флешку Transcend JetFlash 16 GB (была получена в качестве подарка, а дареному коню как известно… Хотя нареканий в ее адрес у меня за 1,5 года использования нет). Как я уже говорил, пользоваться будем линуксовым fdisk`ом (под рукой оказалась старенькая виртуальная машина Ubuntu 9).

Итак, монтируем флешку (так как сидим под X-ми, то просто втыкаем ее в порт). Получаем устройство /dev/sdb.

Запускаем fdisk, натравив его на новое устройство:
[email protected]:/# fdisk /dev/sdb

Имеем выхлоп:
The number of cylinders for this disk is set to 1953. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition"s system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
Считаем, что диск чистый и не содержит ни одного раздела. В противном случае командой d исправляем этот недостаток (не забыв скопировать нужные данные заранее).

Задача проста - создать три раздела. Разделы будем создавать основные (primary), чтобы вся информация о них хранилась в partitions MBR`а. Воспользуемся командой n.
Первый раздел самый большой (14 ГБ), так как его потом будет видеть Windows, и его будем использовать в качестве обычной флешки:
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-15320, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-15320, default 15320): +14336M
Второй и третий по гигабайту:
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (13674-15320, default 13674): Using default value 13674 Last cylinder or +size or +sizeM or +sizeK (13674-15320, default 15320): +1024M Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (14652-15320, default 14652): Using default value 14652 Last cylinder or +size or +sizeM or +sizeK (14652-15320, default 15320): Using default value 15320
Проверим полученные результаты, распечатав сформированную таблицу разделов командой p:
Command (m for help): p Disk /dev/sdb: 16.0 GB, 16064184320 bytes 64 heads, 32 sectors/track, 15320 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Disk identifier: 0x0dee0000 Device Boot Start End Blocks Id System /dev/sdb1 1 13673 14001136 83 Linux /dev/sdb2 13674 14651 1001472 83 Linux /dev/sdb3 14652 15320 685056 83 Linux
Как видим имеем три раздела: 14 ГБ, 1ГБ и остатки (чуть меньше гига). Остается сохранить полученные изменения командой w:
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [email protected]:/#
Отключаем флешку от виртуальной машины и моментально лицезреем всплывающее окошко следующего вида:

Видно, что флешка стала восприниматься Windows, как устройство значительно меньшего размера. Что ж, форматируем! Получаем первый раздел, готовый к использованию. Но что делать с двумя другими? Первое, не факт, что самое умное (но главное, что рабочее!), что пришло на ум - это обмануть старушку Windows и поменять местами записи в таблице разделов.

Итак, воспользуемся программой DMDE, откроем флешку, как блочное устройство и покопаемся в байтиках загрузочного сектора.


Выбрали подходящее по размеру устройство.


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


Красным выделена запись о первом разделе. Далее делаем ход конем! Сохраняем все три записи куда-нибудь в блокнотик, а на место первой записи записываем вторую (crtl+e, записываем, ctrl+w сохраняем). Закрываем DMDE, перетыкаем флешку и… бинго! Видим следующее окошко:

Windows на этот раз увидела второй раздел в гигтар размером. Потираем руки и форматируем.

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

Способом, аналогичным способу форматирования разделов, на флешку легко устанавливаются всевозможные операционки. Я на свою установил следующие:

  • Раздел 1 (14 ГБ) - установщик Windows 7 (+ также используется как обычная флешка)
  • Раздел 2 (1 ГБ) - live-usb Windows (bartPE)
  • Раздел 3 - live-usb Linux (backtrack)
А где же код?
Что дальше? Имеем прекрасную флешку с тремя операционками и… огромным минусом! Чтобы после загрузки BIOS компьютер начинал грузиться с флешки, один из ее разделов должен быть активным (значение первого байта в записи partitions 0x01). Легко, скажите вы, воспользуемся все той же любимой DMDE. Возможно, но тут сталкиваемся с очередной проблемой - что, если мы часто меняем мнение по поводу того, с какого раздела флешки грузиться? Не редактировать же каждый раз таблицу разделов из DMDE вручную. Конечно нет, автоматизируем этот процесс!
Еще немного теории
Из чего состоит MBR? MBR - это загрузчик + запись таблицы разделов. После того, как микропрограмма BIOS проверит компьютер (POST), она производит копирование первого сектора диска, с которого предполагается проводить загрузку операционной системы в память по адресу 0x7С00 (процессор работает в реальном режиме адресов) и передает туда управление. Далее кодом загрузчика MBR (все, что до 446го байта) осуществляется проверка готовности диска, проверка записей таблицы разделов (активной должна быть только одна!) и выбор активного раздела с последующей передачей управления загрузчику ОС.
Что сделаем мы
Чтобы избавиться ограничения на количество одновременных активных разделов на диске подменим код загрузчика из MBR своим собственным, который будет проверять записи, находить отмеченные как активные и ждать от пользователя нажатия клавиши с цифрой, соответствующей номеру раздела, с которого стоит производить загрузку.

Как я уже говорил, код будем писать на FASM (а отладка осуществлялась в ). Далее представлен листинг без особых пояснений, иначе топик никогда не закончится. Хотелось бы только отметить, что так сложилось, что это моя первая программа на ассемблере, поэтому не судите строго. Что делает код было описано выше.
;регистр dl cодержит номер загрузочного диска! use16 ;======== Копируем самого себя по адресу 0000:0600h =================== mov ax, 7C0h mov ds, ax xor si, si mov ax, 60h mov es, ax xor di, di mov cx, 0FFh ;в cx лежит число повторений функции копирования слов; => ; SI += 2; DI += 2; rep movsw ;Передаем управление на новое расположение кода jmp 0000:0618h ;======== Приветствуем пользователя =================================== mov ax, hello_msg_1 call print mov ax, hello_msg_2 call print ;======== Проверяем таблицу разделов =================================== mov si, mov bh, 80h mov cl, -1 partitions_chek: cmp cl, 3 ;если уже было проверено 4 записи, выходим из цикла и переходим к обработке записей je partition_select add si, 10h inc cl mov bl, cmp bl, bh jne partitions_chek ;запись не является загрузочной call partitions_process ;запись загрузочная! ; содержит адрес записи в таблице разделов;cl - номер раздела jmp partitions_chek ;======== Подпрограмма вывода инофрмации об активном разделе ============================= partitions_process: mov ax, boot_part_msg call print mov di, part_num add , cl mov ax, part_num call print sub , cl mov di, boot_flags mov ch, 0 add di, cx mov byte, 1 ret; ;======================================================================= partition_select: ;Обрабатываем пользовательский ввод mov ax, select_part_msg call print choise: mov di, boot_flags mov si, mov ah, 0 int 16h p0: cmp al, 48 jne p1 add si, 10h jmp disk p1: cmp al, 49 jne p2 add si, 20h jmp disk p2: cmp al, 50 jne p3 add si, 30h jmp disk p3: add si, 40h cmp al, 51 je disk wrong_choise: mov ax, wrong_input_msg call print jmp choise disk: mov ah, 0 sub al, 48 ; сначала проверка, выбрал ли пользователь действительно загрузочный раздел add di, ax cmp byte , 0 je wrong_choise ; по содержится запись таблицы разделов; о выбранном загрузочном диске mov ah, 41h ; проверка поддержки диском расширенного режима (> 8 GB) ; dl содержит номер диска mov bx, 55AAh int 13h jc ext_not_present_error shr cx, 1 jnb ext_not_present_error cmp bx, 0AA55h je read_boot_sect ext_not_present_error: mov ax, ext_not_pres_msg call print int 18h read_boot_sect: mov ah, 42h mov di, DAP_structure add di, 8 add si, 8 mov ebx, mov , ebx mov si, DAP_structure int 13h jc ext_not_present_error jmp 0000:7C00h ;======== Подпрограмма вывода сообщений ================================ print: push si push bx mov bx, ax xor si, si mov ah, 0Eh p: mov al, cmp al, 0Ah int 10h je end_print inc si jmp p end_print: pop bx pop si ret ;======================================================================= hello_msg_1 db "************************", 0Dh, 0Ah hello_msg_2 db "*WELL`s LOADER (c) 2011*", 0Dh, 0Ah boot_part_msg db "Find bootable partitions:", 0Dh, 0Ah select_part_msg db "Select part to boot from (press 0 ... 3)", 0Dh, 0Ah wrong_input_msg db "Wrong choise. Try again", 0Dh, 0Ah ext_not_pres_msg db "a disk read error occured", 0Dh, 0Ah part_num db "0", 0Dh, 0Ah part_adr dw 1AEh boot_flags db 4 dup (0) DAP_structure db 10h, 0, 1, 0, 0, 7Ch, 0, 0, 8 dup (0)
Как видно, программа загрузчика представляет из себя чистый бинарник без всяких точек входа, секций и прочей сложноты. Режим работы процессора - реальный (16-разрядный).
Чтобы использовать этот загрузчик, его необходимо залить на флешку в первый сектор (с помощью DMDE, например), при этом сохранив нетронутой таблицу разделов. Размер скомпилированного бинарного файла 442 байта.

Перспективы

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

Скачать исходный код и бинарник загрузчика можно

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

    При включении электропитания компьютера выполняется общий сброс оборудования и управление передается специальной программе, прошитой в постоянном запоминающем устройстве (ПЗУ) 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, сколько признаком наличия каких-либо разделов на диске. Если изменить, например, с помощью редактора дисков, сигнатуру сектора, то и BIOS, и операционная система, будут считать такой диск "неформатированным".

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

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

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

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

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

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

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

    На сегодняшний день существует немалое количество различных программных продуктов, в том числе и не предназначенных напрямую для решения задачи создания загрузочной флэшки, и тем не менее, позволяющих, при умелом использовании, ее решить. Наиболее просто и быстро создать загрузочный USB-диск, можно с использованием бесплатной программы Rufus , описанию которой посвящена отдельная статья . Процесс создания загрузочной флэшки с ERD Commander"ом ничем не отличается от процесса создания загрузочной флэшки для установки Windows, разница - только в используемых файлах iso-образов.

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

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

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

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

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

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

и пункт Write Disk Image (Записать образ на диск)


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

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


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


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

    Подобная методика позволяет легко создавать загрузочные 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. Процесс загрузки системы с жесткого диска в данном случае происходит следующим образом:

- считывается загрузочный сектор(ы) активного раздела и управление передается ему.
- выполняется поиск и загрузка с передачей управления файлу загрузчика системы.
Механизм загрузки 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 и загрузочного сектора раздела можно воспользоваться, например, простой и бесплатной программой , позволяющей выполнять форматирование USB носителей c записью загрузочных секторов. Программа не требует инсталляции и очень проста в использовании.

После завершения форматирования, у нас будет пустая флэшка с записью 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 и старше, нужно, чтобы на флешке имелся активный раздел с загрузчиком bootmgr . Для записи кода загрузочных секторов, обеспечивающих переключение загрузки на bootmgr можно воспользоваться служебной утилитой bootsect.exe которая имеется в каталоге boot , или может быть взята из комплекта установочного диска Windows Vista и старше.

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

DISKPART >

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

list disk

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

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

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

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

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

create partition primary

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

select partition 1

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

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

format fs=fat32

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

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

После этого, нужно определить букву диска с помощью проводника или, например "Управление дисками" панели управления (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 в самом начале работы загрузчика. На экране появится приглашение к вводу команд

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

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

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-архив, . Установка не требуется.

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

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

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

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

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


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

В случае, если установка загрузочных секторов не выполняется и соопровождается сообщением Should be a disk image , поставьте галочку Floppy image в разделе "Options" и повторно нажмите кнопку Install

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

Теперь осталось скопировать на флешку загрузчик grldr , файл меню и файлы образов.iso. Для удобства использования, я собрал все это в архив, .
После разархивирования нужно записать все файлы на флешку.
Для тех, у кого уже имеются файлы 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. Скачать архив с подготовленными образами можно по ссылке:

Архив содержит 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

В дополнение к данной статье:

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

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

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

Пример использования бесплатной программы Rufus для создания загруочной флэшки с дистрибутивом Windows.

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

Инструкция

Скачайте программу WinSetupFromUSB и установите ее на компьютер. Она включает в себя пару важных функций. Выберите USB-накопитель, на который будут записаны установочные файлы операционной системы Windows XP. Учтите, что его размер не должен быть меньше 1 Гб.

Подключите выбранный накопитель к USB-порту компьютера или ноутбука. Скопируйте с него важную информацию, потому что в процессе создания загрузочного сектора этот накопитель будет отформатирован. Запустите утилиту WinSetupFromUSB. В первом поле укажите флешку или внешний жесткий диск, на который необходимо записать установочные файлы Windows.

Теперь приступите к созданию загрузочного сектора. Нажмите кнопку BootIce. В появившемся меню проверьте выбранный накопитель и нажмите кнопку Perform Format. В новом окне выделите параметр Single Partition (USB-HDD Mode) и нажмите кнопку Next Step. В поле File System выберите формат файловой системы. Лучше использовать FAT32 или NTFS. Несколько раз нажмите кнопки OK для подтверждения создания загрузочного сектора.

Закройте утилиту BootIce и вернитесь к программе WinSetupFromUSB. Найдите пункт Windows 2000/XP/2003 и выделите его флажком. Скопируйте все содержимое установочного диска Windows XP или его образа в отдельную папку. Укажите этот каталог в выделенном флажком пункте.

Проверьте правильность заданных параметров и нажмите кнопку GO. Дождитесь завершения копирования требуемых файлов на ваш USB-накопитель. Выполните его безопасное извлечение. Подключите его к другому компьютеру или ноутбуку и включите это устройство.

Нажмите клавишу F8 и выберите пункт USB-HDD. Выполните установку операционной системы Windows XP привычным методом. Помните о том, что материнская плата должна поддерживать возможность запуска системы с USB-накопителя.


Внимание, только СЕГОДНЯ!

Все интересное

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

Многие пользователи уже отказались от использования CD и DVD дисков в пользу более экономичных и быстрых USB-накопителей. Современные программы позволяют создавать даже установочные флешки с различными системами. Вам понадобится- программы…

Для установки операционной системы на мобильный компьютер, у которого отсутствует DVD-привод, принято использовать USB-накопители. Данный метод позволяет сэкономить на приобретении внешнего DVD-привода. Вам понадобится- Диск с Windows Seven или…

Для установки операционной системы Windows на нетбуки рекомендуют использовать внешние DVD-приводы. Если возможность воспользоваться подобным устройством отсутствует, необходимо создать UBS-накопитель, содержащий архивы установочных файлов. Вам…

Чаще всего установку операционной системы Windows выполняют с загрузочного диска. Основная его особенность в том, что программы с данного носителя можно запустить в DOS-режиме. Вам понадобится- ISO File Burning;- образ установочного…

Удобство Windows Live CD подтверждено многими пользователями, которым приходилось несколько раз переустанавливать операционную систему Windows версии XP. Удобной опцией является и возможность создания загрузочной флешки. Вам понадобится-…

Нередко пользователи сталкиваются с ошибками загрузочного сектора операционной системы. Причины таких неполадок могут быть совершенно разными. Важно уметь быстро и правильно восстанавливать загрузочные файлы Windows. Вам понадобится- Диск…

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

Для установки операционной системы на нетбуки рекомендуют использовать USB-накопители. Важно уметь настроить параметры флешки таким образом, чтобы она определялась как загрузочное устройство. Вам понадобится- USB-накопитель;- установочный диск…

Для тех пользователей, кто решил наотрез отказаться от использования CD и DVD-дисков, очень остро стоит вопрос создания USB-накопителя, с которого можно устанавливать или восстанавливать операционную систему. Вам понадобится-…

Существует способ установки операционной системы без использования диска. Он идеально подходит для всех нетбуков, а также для компьютеров и ноутбуков, у которых отсутствует дисковод. Вам понадобитсяWinSetupFromUSB, Bootice.Инструкция 1К…

Для установки операционной системы на определенные мобильные компьютеры существует два варианта. В первом случае вам потребуется внешний DVD-привод, а во втором – подготовленный USB-накопитель. Вам понадобится- внешний DVD-Rom;-…