Как стать автором
Обновить

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

Полезная статья, многие незнают о возможностях 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
По сути ты повторил п.3 и п.10. Параметр --mem — да, полезный иногда, но у меня с ним были проблемы, не все грузилось. Лишний раз не ставлю. А кому будет интересно надеюсь прочтут справку. там еще много интересного.

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

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

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

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

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

Лично для меня топик не потерял ни грамма полезной инфы от того что в одном слове лишний пробел стоит.
Если учебники для школы или научную литературу писать с «ашипками», они тоже не потеряют ни грамма полезной информации. Просто это ппц.
согласитесь мы не в школе, а данная статья не является научной литературой… я тоже не люблю когда в тексте много ошибок и прошу авторов их исправить в личке. но в этом случае текст меня ни разу не напряг в плане орфографии.
Именно! Мы не в школе. И такие ошибки глаз режут очень сильно.
не кормите троллоло
Мне кажется, не хватает еще такого абзаца, как разделение флешки на разделы для возможности разделения дистрибутивов схожих ОС, например, Windows 7 и 2008.
флешка разбивается точно так же как и винт. в конфиге GRUB'а разделы указываются второй цифрой в строке (hd0,0), нумерация идет с 0.
Ужасное описание. Сплошные винды.
Перемещай в тематический блог, на главную надо бы ;)
Плюсую, мне понравилось.
отличная картинка для привлечения внимания ;)
и спасибо за статью
OMG
2 темы, о которых можно писать вечно и почти всегда одно и то же:
1) Как сделать загрузочную флешку
2) мои впечатления от использования ubuntu
Спасибо.
Статью в избранное.
Вот как всегда, только собрался с силами писать о чём-либо, так тут же кто-то уже об этом написал.
От себя добавлю, что флешка с чистым 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, он не понимал таких извращений.
Да вариант для «трудных» систем не плохой. Для совсем древнего железа можно попробовать из флешки создать загрузочный MSDOS диск (т.е. sys a:\ f:\ кто помнит. Или при форматировании поставить галку «создать загрузочный диск MS-DOS» ) а уже из ДОСа запустить grub.exe (есть в архиве DGUB4DOS). Либо вообще записать только груб на дискету, а все утилиты скопировать на жесткий.

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

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

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

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

Когда сам оттачивал настройки GRUB на своей флешке, очень кстати на Хабре появилась статья «Программа для быстрого теста загрузочных дисков». С помощью описанной в статье утилиты загрузочную флешку можно тестировать мгновенно и без перезагрузки компьютера.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Too Windows. Too FAT32. Если уж писать толко об этом, так надо было и название темы писат «GRUB всемогущий, или Делаем загрузочную флешку в Windows». IMHO.
НЛО прилетело и опубликовало эту надпись здесь
Сегодня все утро провозился с тем же самым, пытаясь впихнуть Gentoo, хоть в виде образа, хоть в распакованном виде — ноль :(
Буду пробовать через syslinux
Полный, думаю, не получится (в память не влезет), но вот первое что нашел в гугле 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)

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

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

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

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

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

Попробуй дефрагментировать ISO, смотри UPD в статье.
Статью я читал + интересовался темой до данной статьи. Интересовал момент заставить груб/груб4дос нормально использовать именно фрагментированные файлы.
Уважаемый автор, быть может вы знаете, как встроить 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».

Буду признателен за любую помощь.
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

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

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

Публикации

Истории