Пользователь
0,0
рейтинг
15 июля 2010 в 02:51

GRUB всемогущий, или Делаем загрузочную флешку

Про сам grub, загрузочные флешки и особенно специальные утилиты для создания дисков написано уже не мало, но выглядят они узко направленными. Например только для создания флешки Windows 7, различные PEtoUSB, есть более универсальные как в этом топике. Куча утилит по сути устанавливают загрузчик grub, isolinux (реже BCDW или lilo, еще реже свой как Win7), и затем раскладывают предложенные ему файлы (Windows7,WindowsXP, Ubuntu и т.д.) по папкам. От сюда и требовательность к образам (как писали в комментариях к этому топику).

А между тем абсолютное большинство выложенных в интернете дисков (особенно USB) как раз и используют isolinux и grub, что мешает их просто объединять? да ничего!

Я постараюсь с примерами рассказать, как сделать загрузочную, установочную и просто Live флешку, причем все в одном без заточенных под конкретный дистрибутив утилит. И иметь возможность, при необходимости, легко добавить на флешку еще что-то, без очередного ее переформатирования.
image
(С) Картинка оттуда

Демонстрация


Для пользователей Linux нет необходимости объяснять, как пользоваться командой grub-install /dev/sdb, да и преимущества grub им очевидны. Предвидя комментарии типа dd, хочу сказать, что статья нацелена в первую очередь на Windows пользователей.
Пользователям Windows я постараюсь объяснить преимущества grub, и надеюсь смогу убедить, что grub нужно держать если не первым, то вторым загрузчиком точно (флешку с grub иметь точно необходимо).
Для начала можно попробовать без затирания MBR. Достаточно прописать grub в boot.ini:
Нам понадобятся файлы из архива GRUB4DOS, копируем их в корень C:\, не обязательно что бы это был FAT, у меня работает и на NTFS:
default
grldr
grldr.mbr
menu.lst


Для Windows XP в boot.ini добавляем c:\grldr="GRUB4DOS". Все.
Либо запустить GRUB\install.bat из файла в приложении (файл install.bat взят из установщика xPUD ©, и только добавляет grub, ничего не копирует).

Для пользователей Vista и 7 установка несколько сложнее, чем в XP — делается это чрез bcdedit:

делаем резервную копию
bcdedit.exe /export "C:\BCD.bak"
bcdedit.exe /create /d "GRUB4DOS" /application bootsector
запоминаем GUID вида "{1a5b5afd-0469-110d-9a85-000103005000}", и далее заменяем в команде GUID на эту строку

bcdedit.exe /set GUID device boot
bcdedit.exe /set GUID device partition=%SYSTEMDRIVE%
bcdedit.exe /set GUID path \grldr.mbr
bcdedit.exe /displayorder GUID /addlast

Либо так же запустить GRUB\install.bat из файла в приложении.

В общем то на этом установка закончена, и можно уже перезагружаться и поиграться с командной строкой (нажать С после появления меню grub).

Например, можно начать загрузку с дисковода:
chainloader (fd0)+1
rootnoverify (fd0)
boot


С привода компакт дисков:
cdrom --init
map --hook
chainloader (cd0)
boot


Перезагрузиться:
reboot

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

Можно загрузиться с заранее вставленной флешки (если конечно там есть какой то загрузчик):
map (hd1) (hd0)
map (hd0) (hd1)
root (hd1,0)
chainloader +1
boot


А можно начать установку Windows 7, образ которой до этого просто разархивировали на флешку (и сама флешка не загрузочная):
root (hd1,0)
chainloader /bootmgr
boot


Напомню, что все это мы делали из режима командной строки. Но 1 в 1 (удалив только последнюю команду boot), эти команды можно прописать и в menu.lst, и они будут работать из меню.

Случай из жизни: Cлетел MBR первого диска, и по этому BIOS загрузил сразу grub со второго диска. Увидев привычный синий экран, я смекнул что MBR, после очередных экспериментов, повреждена и требуется восстановление. Все что потребовалось мне, это перейти в режим командной строки ( С ) и ввести:
root (hd0,0)
chainloader /bootmgr
boot


И началась загрузка Windows7 После загрузки выполнил bootsect /nt60 c: /mbr И все (!)
Никакого безопасного режима или режима восстановления, ни каких 2-3 перезагрузок, и тем более ни каких дисков восстановления (да и нет у меня CD привода на нетбуке). После процедуры даже не понадобилось лишний раз перезагружаться, Windows загрузилась уже в штатном режиме (одно время я неделю ее так запускал, забывал восстановить MBR после загрузки).
Так же в архиве GRUB4DOS есть примеры автоматического поиска Windows XP и Windows 7/Vista, и даже если вы не знаете где у вас установлена Windows — все равно можно загрузиться при слетевшей MBR.

Установка


И так, Вы прониклись и хотите сделать себе такую флешку, но у Вас уже есть флешка на 16Гб и форматировать ее крайне не желательно, а большинство распространенных утилит (и инструкций) для изготовления бут-флешек предлагают ее предварительно отформатировать, что бы, полагаю, убедиться, что на создаваемой флешке точно файловая система FAT32. А потом устанавливают туда опять же grub или isolinux.

Установить grub можно без форматирования (при условии, конечно, что у вас уже FAT32, коих абсолютное большинство). Есть утилитка Winrub (любителям GUI), а в архиве GRUB4DOS есть bootlace.com. Рассмотрим вариант WinGrub. Раньше это был sfx архив, который сам себя распаковывает в %programfiles% и создавал ярлык на рабочем столе, что мне не нравилось. Достаточно было его самостоятельно распаковать, запустив потом grubinst_gui.exe. Когда писал статью, скачал последнюю версию, там уже инсталятор более менее полноценный. Качаем, ставим. Либо смотрим приложенный файл в конце статьи, я выложу свой комплект для сборки архивом. Запускаем, далее выбираем флешку (ориентируясь по размеру), и в partition list выбираем MBR или Whole disk. Жмем Install. Появляется окно консоли "The MBR/BS has been successfully installed", с предложением нажать Enter, После нажатия которого — оно закрывается. В случае если написал "grubinst: Should be a disk image" поставьте галочку «Floppy image» и повторно нажмите Install

imageimage

Теперь GRUB4DOS прописан в MBR.
После (хотя можно и ДО), копируем файлы из архива GRUB4DOS в корень флешки:
default
grldr
grldr.mbr
menu.lst

И редактируем menu.lst по желанию, параллельно наполняем флешку (часть пунктов уже можно посмотреть в статье выше, да и сам архив содержит примеры).

Наполняем


1. Alkid live
В полной раздаче есть архив multiboot.7z, где есть пример файла для grub, от туда его и возьмем, а сам ISO просто разархивируем в корень. Переименовываем i386 в minint, если забудем то не запустится, но скажет что не найден minint (что и стало столь не очевидной подсказкой).
Добавляем в menu.lst
title Alkid Live CD
root (hd0,0)
chainloader (hd0,0)/minint/setuplns.bin


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

2. Hiren's BootCD
Открываем ISO и видим, что в папке HBCD лежит конфиг загрузчика isolinux.
Разархивируем папку HBCD в корень флешки, открываем isolinux.cfg:
menu label Start BootCD
kernel /HBCD/memdisk
append initrd=/HBCD/boot.gz


что легко преобразуется в синтаксис grub
title Start BootCD
root (hd0,0)
kernel /HBCD/memdisk
initrd /HBCD/boot.gz


добавляем и его в menu.lst
Установка закончена.

3. Некоторые мелкие утилиты уже есть готовые в интернете. обычно это образ дискеты с memtest, Ghost, DOS, PQMagic. Грузиться с них так же не составляет труда. Прописываем в menu.lst:
title Ghost 11
map --mem /Ghost.ima (fd0)
map --floppies=1
map --hook
chainloader (fd0)+1
rootnoverify (fd0)


У меня EEEPC без CD привода и когда вдруг встала необходимость восстановить его, я даже не задумался где взять внешний привод. Переписал Ghost образ с DVD дсика на флешку на «большом» компе, загрузился с флешки и восстановил.

4. Запуск дистрибутива. Возьмем для примера образ Parted Magic. Качаем образ для USB. Он уже на grub и имеет очень большое меню различных вариантов загрузки. Для его установки распаковываем архив, папка pmagic должна оказаться в корне, и из boot\grub файл menu.lst копируем в \pmagic, а в наш груб добавляем:
title PМagic
configfile /pmagic/menu.lst


Эта команда загрузит меню из родного menu.lst от pmagic, и нам не придется вообще ничего изобретать. Разве что добавить в \pmagic\menu.lst пункт для возврата обратно в наше:
title <<main menu
configfile /menu.lst


В последней версии PМagic добавилась еще куча утилит, в т.ч. memtest, восстановление grub, hardware analyzer. Рекомендую самостоятельно потренироваться в «переселении» их на свою флешку, подглядывая в п.3 или menu.lst.

5. Запуск Live Ubuntu. У меня лежал "ubuntu-9.10-desktop-i386.iso", на его примере и рассмотрим. Так же, разархивируем в корень. В папке isolinux (ее после можно удалить), в файле text.cfg находм как запускается Live режим, и соответственно добавляем свои строки в menu.lst (сравните что там было и что получилось)
title Try Ubuntu without any change to your computer
root (hd0,0)
kernel /casper/vmlinuz file=/preseed/ubuntu.seed boot=casper
initrd /casper/initrd.lz


6. Установка Debian (точно так же ставится и Ubuntu):
Для этого нам понадобится файлы HD-Media (или графический инсталятор) из репозитория, и ISO образ DVD1. Складываем все это в корень, а в grub добавляем:
title Debian Install
kernel /vmlinuz
init /initrd.gz


После начала установки будет найден образ ISO DVD1 и продолжится установка без сети, без CD приводов.

7. Установка на флешку Антивирусов сильно сложнее, например установку Dr.Web Live CD я расписывал тут.

Образы антивирусов не все удалось нормально «подселить» на флешку, если кто то сможет и поделится опытом буду рад (сам давно их не качал, возможно в последних версиях это уже делается сильно проще). В образе от Dr.Web, например, лежит даже инструкция по установке на флешки.
Для справки Live образы антивирусов:
Dr.Web
BitDefender
Avast! уже платный :(
Symantec NAV
Panda
Avira

8. DOS. Тут стоит разделить, если нам нужен ДОС для какой то серьезной работы, то имеет смысл найти DOS-Live образы, например этот, и грузить как в п.3. Мы же запускаем DOS что бы потом из него запустить установку Windows XP. От ДОСа нам понадобятся:
AUTOEXEC.BAT
COMMAND.COM
CONFIG.SYS
EMM386.EXE
HIMEM.SYS
IO.SYS
SMARTDRV.EXE


желательно, но не обязательно:
Mouse.com
MOUSE.INI
OAKCDROM.SYS


Копируем все это в корень флешки, а в menu.lst добавляем
title DOS (Install WinXP?)
root (hd0,0)
makeactive
chainloader /io.sys

Тут можно либо насладиться DOS, либо заранее в AUTOEXEC.BAT прописать (файл ответов конечно по желанию):
smartdrv
cd \WinXP\i386
winnt /U:\WinXP\i386\winnt.sif


9. Установка Windows 7. Как уже писал выше достаточно разархивировать ISO в корень флешки, а в menu.lst добавить (уже с hd0,0)
root (hd0,0)
chainloader /bootmgr
boot


10. Ну и для ровного счета расскажу еще об одном типе утилит. Некоторые (не все!) ISO образы могут быть загружены прямо из grub. Среди таких у меня нашлись: Acronis True Image, Acronis Disk Director, Active Password Changer. Это особым образом подготовленные образы (не простой слепок с CD), их загружать следующим образом:
title Active Password Changer
map (hd0,0)/Pwdchanger.iso (hd32)
map --hook
chainloader (hd32)


Удаление


Что делать если случайно установили grub в MBR основного диска, а не флешки, либо нужно удалить с флешки? Можно воспользоваться утилитой bootsect.exe как я писал выше.
В случае если еще не перезагрузились (если перезагрузились, то при помощи grub загрузите Windows, способом описанным выше), и запустите bootsect.exe
Для восстановления Windows XP bootsect /nt52 c: /mbr
Для восстановления Windows Vista/7 bootsect /nt60 c: /mbr
bootsect находится в папке boot диска Windows, а так же есть в моем выложенном архиве в конце статьи.
Флешку же достаточно просто отформатировать.

Заключение


Надеюсь что примеры помогут кому то разобраться, а кому то заинтересоваться данным загрузчиком, а утилиты для создания загрузочных флешек будут вызывать улыбку (ни кого не хочу обидеть, уважаю всех разработчиков, больше того сам с таких утилит начинал). Ну и конечно же очень рекомендую изучить подробнее сам grub, и GRUB4DOS, например вот русское руководство по последнему.
Перед добавлением очередного дистрибутива или утилитки, следите что бы папки не совпадали. Часть Linux дистрибутивов, при определенной сноровке и хорошем владении grub, позволяет безболезненно переименовать свою папку. Особенно не большие, на подобии pmagic, puppy, xpud.
В общем, не бойтесь экспериментировать, и удачи!

Так же ресурсы, которые могут быть полезны тем, кто хочет создать свою загрузочную флешку:
greenflash.su
flashboot.ru
lexapass.narod.ru

Приложение — мой архивчик со всем необходимым: bootsect, DOS, grub install скипт, WINGRUB, grub4dos. А так же список файлов на моей флешке c описаниями (некоторые просили).

UPD:
  • Форум где обсуждают варианты создания и загрузки ISO-образов.
  • В этой статье, от savvateev, он расказывается как решить некоторые возникающие проблемы, в том числе и фрагментацию образов ISO.
  • Статья «Программа для быстрого теста загрузочных дисков». С помощью описанной в статье утилиты загрузочную флешку можно тестировать мгновенно и без перезагрузки компьютера.
  • Скрипт для создания LiveLinux из любого дистрибутива.
Денис @DeeZ
карма
39,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (62)

  • +2
    Полезная статья, многие незнают о возможностях Grub.

    «Это особым образом подготовленные образы (не простой слепок с CD)»
    Вот с этим не согласен — как раз это обычные загрузочные исошники, и все они начнут грузится с граба. Но не все заработают. Например WinPE образ спокойно загрузится так как система изначально расчитана на загрузку с диска. А вот установка WinXP начнется но оборвется на определенном этапе, потому что юсб устройства переинициализируются во время установки. В общем любой загрузочный образ который расчитан на работу с диска будет работать и с граба, а загрузочные установочные образы работают выборочно.

    Еще небольшие образы можно мапить в оперативку чтобы быстрее работали
    title * 1. Boot from small ISO
    find --set-root /smallcd.iso

    map --mem /smallcd.iso (hd32)

    map --hook

    chainloader (hd32)

    boot

    Также еще можно грузится с флоппи-образов *.ima
    title * 4. Boot from floppy IMA

    find --set-root /floppy.ima

    map --mem /floppy.ima (fd0)

    map --hook

    chainloader (fd0)+1

    rootnoverify (fd0)

    map --floppies=1

    boot
    • +1
      По сути ты повторил п.3 и п.10. Параметр --mem — да, полезный иногда, но у меня с ним были проблемы, не все грузилось. Лишний раз не ставлю. А кому будет интересно надеюсь прочтут справку. там еще много интересного.

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

      «boot» пункт для меню (в файле menu.lst) добавлять не нужно.
      «find --set-root /floppy.ima» зачем искать? мы знаем где он лежит. Он на флшке с которой грузимся. можно сразу написать «root /floppy.ima»
      • 0
        C --mem у меня были проблемы только когда образ в оперативу не влазил.

        Честно говоря я использую оригинальный GRUB, а не GRUB4DOS и форумы их не читал, просто проверял на практике десятки разных образов и сделал выводы.

        «boot» был в конфиге с которого я начинал знакомство с мультизагрузкой для флешек на основе граба, потому так и остался…

        на счет образа флопа, я не помню для чего это уже делал(2 года прошо). возможно образ лежал на винте и я не знал каким по порядку винт будет при загрузке.
        • 0
          Стараюсь указывать жестко от куда грузиться (иногда даже (hd0,0)/floppy.img), особенно если это флешка, с которой ходишь по «гостям». Может так случиться, что у владельца есть свой floppy.img (маловероятно но возможно), и найдется он раньше моего. По этому использовать find --set-root стараюсь только когда совсем заблудился в дисках и только из командной строки, тогда есть возможность посмотреть что установилось как root.
          Самое же досадное недоразумение может случиться если ты через find --set-root будешь искать, например, bootmgr, и вместо установки Windows 7, загрузишь Vista хозяина компьютера ;)
        • +1
          К слову о ISO в памяти. В этой статье, от savvateev, он расказывается как решить некоторые возникающие проблемы, в том числе и фрагментацию образов ISO. Считаю тоже может быть полезно.
    • +3
      зачем засорять коменты сообщениями об орфографических ошибках? нельзя в личку написать?
      • –7
        Я комментирую ваш топик. Высказываю своё мнение. Зачем писать об этом в личку? Это ведь не опечатка, а просто неграмотность.
        • +3
          Вы коментируете не мой топик. А в личку писать для того чтобы остальным читателям было проще читать полезные коменты. Вообще проблема ошибок в посте касается автора и тех читателей которых эти ошибки напрягают поэтому я считаю что такие проблемы надо решать через ЛС.

          Лично для меня топик не потерял ни грамма полезной инфы от того что в одном слове лишний пробел стоит.
          • –7
            Если учебники для школы или научную литературу писать с «ашипками», они тоже не потеряют ни грамма полезной информации. Просто это ппц.
            • +3
              согласитесь мы не в школе, а данная статья не является научной литературой… я тоже не люблю когда в тексте много ошибок и прошу авторов их исправить в личке. но в этом случае текст меня ни разу не напряг в плане орфографии.
              • –9
                Именно! Мы не в школе. И такие ошибки глаз режут очень сильно.
              • 0
                не кормите троллоло
  • 0
    Мне кажется, не хватает еще такого абзаца, как разделение флешки на разделы для возможности разделения дистрибутивов схожих ОС, например, Windows 7 и 2008.
    • 0
      флешка разбивается точно так же как и винт. в конфиге GRUB'а разделы указываются второй цифрой в строке (hd0,0), нумерация идет с 0.
  • –2
    Ужасное описание. Сплошные винды.
  • 0
    Перемещай в тематический блог, на главную надо бы ;)
    Плюсую, мне понравилось.
  • 0
    отличная картинка для привлечения внимания ;)
    и спасибо за статью
  • –4
    OMG
    2 темы, о которых можно писать вечно и почти всегда одно и то же:
    1) Как сделать загрузочную флешку
    2) мои впечатления от использования ubuntu
  • 0
    Спасибо.
    Статью в избранное.
  • +1
    Вот как всегда, только собрался с силами писать о чём-либо, так тут же кто-то уже об этом написал.
    От себя добавлю, что флешка с чистым grub4dos в упор не запускается на IBM ThinkCentre MT-M 8424-7DG, из-за чего в своё время и пришел к варианту bootmgr в качестве основного загрузчика + grub4dos через bce, дало 100% возможность загрузки.
    Так же, drweb мне не получилось запустить, в отличае от KAV, который нужно просто распаковать в корень флешки, что даёт ~1000 файлов антивирусных баз, что не очень хорошо.
    Так же, в «моём» Hiren bootCD никакого memdisk и bootgz не наблюдалось, так что его просто развернул на флешку и запускал как:

    title Start Hiren's BootCD
    find --set-root /HBCD/hiren.ima
    map --mem /HBCD/hiren.ima (fd0)
    map --hook
    chainloader (fd0)+1
    rootnoverify (fd0)
    map --floppies=1
    boot

    Лежащий рядом с ним mini winxp (на базе bartPE, насколько я понимаю) можно запустить так же:
    title Mini Windows Xp
    find --set-root /HBCD/XPLOADER.BIN
    chainloader /HBCD/XPLOADER.BIN

    Единственное что не получилось: Debian Live CD, он не понимал таких извращений.
    • 0
      Да вариант для «трудных» систем не плохой. Для совсем древнего железа можно попробовать из флешки создать загрузочный MSDOS диск (т.е. sys a:\ f:\ кто помнит. Или при форматировании поставить галку «создать загрузочный диск MS-DOS» ) а уже из ДОСа запустить grub.exe (есть в архиве DGUB4DOS). Либо вообще записать только груб на дискету, а все утилиты скопировать на жесткий.

      Образы антивирусов и Hiren меняются, и даже среди актуальных есть с разной структуры файлов. При написании статьи специально все качал и смотрел, что там лежит сейчас, проверял что бы все работало. Потому что моему диску уже пара лет, и тот же Hiren у меня старый русский, в папке BOOTCD лежал. Каспер, когда я смотрел (и это есть на форуме greenflash.su) имел другую структуру, все складывалось в папку KAV и не засоряло корень. Возможно сейчас что то изменилось, надо как то выбрать время, попробовать только антивирусную флешку создать, подселить всех на 1 диск (хотя бы физический. Вероятно придется разносить по партициям).

      memdisk — это ядро (часть пакета syslinux) для поддержки .zip формата образов. Вероятно просто у Вас образы не запакованы, либо запакованы gz (которые GRUB4DOS понимает сам). Опять таки «другой комплект».
    • 0
      попробуйте перед установкой GRUB форматнуть флешку утилитой HP Format Tool, после этого чаще всего она перестает в биосе видится как Removable Device и работает как USB HDD. Вполне может решить проблему загрузки на некотором железе.
  • 0
    у вас в нетбуке 2 hdd? =\
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Хорошая, годная статья. GRUB — отличная штука.
  • 0
    хм… я вот это сделал с помощью лишь syslinux picasaweb.google.ru/lh/photo/WTgCfOgSY7tjYGAN8XJqzA?feat=directlink
    имхо для бутовой флэшки граб излишне фичаст
    • 0
      я тоже делал раньше через syslinux
      но прочитав статью форматнул флешку — накидал iso-шников. полчаса повозился с настройками и у меня теперь флешка с Ubuntu Zvercd и Hiren's Boot CD. Потом еще чего нибудь туда накидаю
      а вариант с syslinux — привязан только к одной ОС — это минус. единственный плюс в нем это «persistant mode»
      • 0
        это да. удобно. просто у меня флешка /*краснеет*/ на один гиг :) кстати такая работа с образами дает накладные расходы на RAM?
        • 0
          если подключать с параметром --mem то весь образ сначала в оперативку копируется и уже оттуда монтируется. Так что накладные расходы получаются как раз по размерам сопоставимы с размером образа. Если оперативы мало то вообще не стоит так подключать
          я сначала на все образы поставил этот параметр — но потом пожалел)) приходится ждать пока весь образ скопируется в память — а для больших образов это несколько минут. так что лучше пойти на компромисс — если образ не превышает пары сотен метров то смело в оперативку. в противном случае прям с флешки.

          П.С. на гиг можно накатать один образ «любимой» ОС и еще один образ какого нибудь маленького «rescue» диска.
          • 0
            да пользовался вначале systemrescuecd, но потом оказалось удобней накидать самому то, чем действительно пользуешься и обновлять отдельно. конечно всем что есть на скрине я не пользуюсь — делал просто из спортивного интереса :)
  • 0
    А помогите мне. У меня старый ноут на хорошем проце от компании iRU.
    CD_ROM не работает, загрузка с флешки в BIOS не предусмотрена.
    Что делать, чтобы поставить на этот еще довольно шустренький комп какую-либо операционку?
    • 0
      как так не предусмотрена загрузка с флешки? наверно флешка определяется как винт еще один. вставьте флешку и зайдите в винты. должна там быть — просто поставьте ее первой.
      • 0
        читайте внимательно «загрузка с флешки в BIOS не предусмотрена»
    • 0
      при загрузке F12 или F10 или какая там у вас клавиша для вызова boot menu.
      выбираете в меню пункт Usb-HDD или USB-Key или там будет пункт с названием вашей флешки
      если таких пунктов нет — то попробуйте обновить биос
      если и это не помогло, то скорее всего на загрузку с флешки придется забить
  • 0
    Давно хочу поставить на флешку grub. Но есть пара вопросов:
    1. флешка всегда будет определятся как root (hd0,0)? Если нет, то как определить эти цифры?
    2. можно ли свои обычные файлы (различные проги) оставить там где они есть? т.е. флешка будет как рабочей, так и загрузочной.
    • 0
      1. если стартуешь с флешки то она определится как root(hd0,0)
      2. можно
      • 0
        Спасибо, сегодня и займусь :)
    • 0
      1. Да как сказали выше, если загрузиться с флешки — то всегда (hd0,0).
      2. В случаях когда GRUB стоит на одном диске, а нужный дистрибутив на другом, и Вы не знаете какие у него «номера», а знаете точное имя какого-то файла (лучше самому положить уникальный маркер, например, MyFlashRoot.flg) вставьте первой строкой
      find --set-root /MyFlashRoot.flg

      GRUB найдет где лежит и установит диск с этим файлом как root. Соответственно, дальше уже вставляйте свои команды.
      • 0
        Цифру «2» я конечно зря поставил, это продолжение первого пункта.
      • 0
        Уникальный маркер это файл (любое название, но расширение flg) такой или можно любой файл так искать? Файл должен быть в корне диска?
        • 0
          Абсолютно любой файл. Расширение flg только ради удобства, что бы не забыть, что это файл — «флаг» и не удалить случайно. Можно и без расширения, можешь свое выдумать, у меня рефлекс с FIDO к этому расширению :)
          Можно искать любой файл, если ты точно знаешь его имя. Например можно найти и начать загрузку XP
          title Find and load “ntldr”
          find --set-root /ntldr
          chainloader /ntldr
          • 0
            Спасибо. Пригодится :)
  • +2
    «В общем то на этом установка закончена, и можно уже перезагружаться и поиграться с командной строкой…»

    Когда сам оттачивал настройки GRUB на своей флешке, очень кстати на Хабре появилась статья «Программа для быстрого теста загрузочных дисков». С помощью описанной в статье утилиты загрузочную флешку можно тестировать мгновенно и без перезагрузки компьютера.
  • 0
    А может ли кто-нибудь подсказать статью\мануал\ресурс где объясняется процесс создания маленьких дистрибутивов? Хочется иметь свой debian, со своим набором программ. Пытался обычный дистрибутив обрезать, но результат не радует, т.к. не знаю как архивировать дистрибутив и не смог нормально собрать ядро с нужными мне модулями. Спасибопожалуйста.
    • 0
      • 0
        Спасибо за ссылки, ночью ознакомлюсь.
        А еще пару дней назад начал собирать LFS. Стоит ли продолжать или все-же можно из готового дистриба каким-нибудь образом все лишнее вырезать?
        И еще вопрос по LFS, какая там система пакетов?
        • НЛО прилетело и опубликовало эту надпись здесь
    • 0
  • 0
    Too Windows. Too FAT32. Если уж писать толко об этом, так надо было и название темы писат «GRUB всемогущий, или Делаем загрузочную флешку в Windows». IMHO.
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Сегодня все утро провозился с тем же самым, пытаясь впихнуть Gentoo, хоть в виде образа, хоть в распакованном виде — ноль :(
    Буду пробовать через syslinux
    • 0
      Полный, думаю, не получится (в память не влезет), но вот первое что нашел в гугле install-x86-minimal-20100216.iso запустился. Образ лежит на sdb1 (hd1,0). GRUB4DOS установлен на первый диск sda1 (hd0,0). Запустился и работает, но без иксов правда.
      Menu.lst:
      title Gentoo
      root (hd1,0)
      map --mem /install-x86-minimal-20100216.iso (hd32)
      map --hook
      chainloader (hd32)

  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Знать, как самому склепать и как оно работает очень важно :).
    А для ленивых, есть уже хорошо сделанный полноценный солюшн:
    Multiple ISO from USB (MultiBoot USB)
  • 0
    Интересно. В своей «сборке» флехи в качестве лоадера юзаю syslinux, а один из пунктов меню — запуск grub4dos с конфигом, путь к которому передан параметром. Так избавился от отсутствия конфигов в корне флехи.
    По моему грубу не хватает офигительной возможности юзать фрагментированные исошники, и из-за этого приходится тупо дефрагментить флеху. В случае распространения своей «сборки» приходится добавлять:

    Перед использованием взболтать проверьте факт фрагментации ISO файлов и при необходимости выполните дефрагментацию.

    Что есть гуано.
    Поэтому вопрос к широкой массе:
    Кто знает фикс/патч/багу/еще какая-то херь, ч помощью которой можно подружить груб (или груб4дос) с фрагментированными исошниками?

    З.Ы. Вариант copy2ram исошника не рассматривается в виду высокой вероятности соизмеримости размеров ОЗУ и файла.

    Заранее спасибо.

    • 0
      Попробуй дефрагментировать ISO, смотри UPD в статье.
      • 0
        Статью я читал + интересовался темой до данной статьи. Интересовал момент заставить груб/груб4дос нормально использовать именно фрагментированные файлы.
  • 0
    Уважаемый автор, быть может вы знаете, как встроить Redo backup на загрузочную флэшку?

    Для Clonezilla на последних страницах зарубежного треда нашлось
    заклинание
    find --set-root /iso/clonezilla-live-2.1.2-20-amd64.iso
    map --heads=0 --sectors-per-track=0 /iso/clonezilla-live-2.1.2-20-amd64.iso (0xff)
    map --hook
    root (0xff)
    loopback loop /iso/clonezilla-live-2.1.2-20-amd64.iso
    kernel /live/vmlinuz boot=live live-config union=aufs nolocales noprompt vga=788 ip=frommedia toram findiso=/iso/clonezilla-live-2.1.2-20-amd64.iso
    initrd /live/initrd.img
    .

    А вот для Redo Backup
    решение
    find --set-root --ignore-floppies /iso/redobackup-livecd-1.0.4.iso
    map /iso/redobackup-livecd-1.0.4.iso (0xff) || map --mem /iso/redobackup-livecd-1.0.4.iso (0xff)
    map --hook
    root (0xff)
    kernel /casper/vmlinuz cdrom-detect/try-usb=true noprompt floppy.allowed_drive_mask=0 ignore_uuid boot=casper iso-scan/filename=/iso/redobackup-livecd-1.0.4.iso vga=791 locale=ru_RU bootkbd=ru console-setup/layoutcode=ru quiet splash
    initrd /casper/initrd.lz
    не сработало. В этом случае попадаешь на вход в дебиан, а не в интерфейс программы.

    В случае
    базового решения
    map (hd0,0)/iso/redobackup-livecd-1.0.4.iso (hd32)
    map --hook
    root (hd32)
    chainloader (hd32)
    boot
    вообще пишет нечто в духе «Unable to find a medium containing a live file system».

    Буду признателен за любую помощь.
    • 0
      1. Скачиваешь ISO.
      2. Распаковываешь в корень флешки папку casper
      3. добавляешь в:
      menu.lst
      title Start Redo Backup
      kernel /casper/vmlinuz append boot=casper initrd=/casper/initrd.lz vga=791 quiet splash — - (тут 2 минуса без пробела, но парсер лох, заменяет на тире)
      initrd /casper/initrd.lz

      4…
      5. profit

      • 0
        Спасибо. Что-то не вижу никаких упоминаний iso в командах из menu.lst.

        Наверное, распаковать в корень нужно не только папку casper, а весь iso-образ?
        • 0
          Нет. нужна только папка из образа.
          Папка из образа должна оказаться на флешке в корне. Расспаковать можешь конечно все, но нужна только эта папка (только что проверил. работает).

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