Установка grub4dos средствами Linux, или как сделать флешку загрузочной?

Что потребуется,

Разметка носителя

  1. Вся информация на носителе будет удалена!
  2. Запускаем gparted
  3. Выбираем флэшку - например sdb
  4. Правый клик по носителю - отмонтировать
  5. Меню - Устройство - Создать таблицу разделов - ms-dos - Применить. Если носитель больше 2TB вместо ms-dos нужно gpt и grub4dos работать не будет
  6. Раздел - Новый - fat32 - Добавить
  7. Меню - Выполнить все операции
  8. Правый клик по разделу - Управление флагами - boot
  9. Закрыть gparted
  10. Вынуть флэшку (перезагрузить компьютер)

Установка

1. bootlace.com

  • На gpt (п.5 предыдущего раздела) не устанавливается. Выдает ошибку. Используйте grub2
  • bootlace.com работает в 32 и 64 битном linux, windows (запускать от Администратора)
  • Начиная с этой версии работает и на ext4
    • Скачать архив с bootlace.com, распаковать, запустить в консоле с правами root:
./bootlace.com /dev/sdX

, где sdX - название устройства (флэшка , hdd). Посмотреть : blkid

  • На первый раздел /dev/sdX (в корень) переписать grldr (старые версии не увидят ext4) и menu.lst
  • Отредактировать menu.lst согласно рекомендаций Вашего дистрибутива

2. dd

Не годится при использовании gpt (п.5 предыдущего раздела). Вся информация будет утеряна

  • Способ первый, дедовский, веками проверенный, полезный для понимания сути процесса.
  • Итоговый результат - как в 3

Все действия выполняются в консоли с правами рута.

1). Куда устанавливаем?

При установке на жёсткий диск будет затёрта загрузочная запись предыдущего загрузчика. Будьте осторожны с выбором!

При установке на жёсткий диск выбираем

DEV=/dev/sda

Флешку или usb-жёсткий диск можно определить такой командой (есть и другие способы)

udevadm info -a -p /sys/class/block/sd? | egrep 'events}|model' 

Вместо знака »?» подставляем предполагаемую букву устройства (b, c, d…), если ответ ATTR{events}==«media_change», значит это сменное устройство, второй строкой будет название устройства, например ATTRS{model}==«USB Flash Drive »

Флешки отформатированные в Windows могут не иметь разделов, как например дискета (так называемые «суперфлоппи»)

Проверить можно например

ls -d /sys/class/block/sd?1

Не забываем вместо »?» подставить букву. На «неправильную» флешку лучше не устанавливать загрузчик или отформатируйте её средствами линукс.

2). Копируем образ загрузочной записи grldr.mbr в /tmp

cp -f /usr/lib/grub4dos/grldr.mbr /tmp/wee.mbr

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

dd if=$DEV bs=1 skip=439 count=72 2>/dev/null | dd of=/tmp/wee.mbr bs=1 seek=439 conv=notrunc

4). Делаем резервную копию старой MBR, на случай, если что пойдёт не так.

dd if=$DEV of=/root/backup.mbr bs=512 count=1

5). Записываем загрузочную запись.

dd if=/tmp/wee.mbr of=$DEV

3. weesetup

/usr/lib/grub4dos/weesetup /dev/sd?

Требуется наличие файла weesetup, причём не обязательно в /usr/lib/grub4dos/

  • Недостаток: сначала загружается меню Wee, и только из него можно выбрать загрузчик. Иными словами - загрузка в две ступени. Решается конфигом wee c дефолтным grldr и нулевым ожиданием
  • Есть weesetup.exe для windows

Что получаем в результате

  • Флешка становится «загрузочным ключиком».
  • Загрузочная запись ищет загрузчик grldr на всех доступных разделах. Поэтому не обязательно копировать grldr на первый раздел флешки, можно поместить на второй. Или вообще на жёсткий диск. Главное. Чтобы раздел был основным.
Печать/экспорт