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

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

  • Нужен ПК с установленным Linux. Только для метода 1,2.
  • Образ загрузчика (в PuppyRus /usr/lib/grub4dos/grldr)
  • Образ загрузочной записи grldr.mbr (в PuppyRus /usr/lib/grub4dos/grldr.mbr). Только для метода 2.

Установка

1. dd

  • Способ первый, дедовский, веками проверенный, полезный для понимания сути процесса.
  • Итоговый результат - как в 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

2. bootlace.com

  • Способ второй, bootlace.com, ну очень простой. Не работает на ext4
/usr/lib/grub4dos/bootlace.com /dev/sd?

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

3. weesetup

Способ третий, weesetup, не сложнее.

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

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

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

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

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