Меню Рубрики

Установка grub4dos из под linux

Загрузка c iso образов при помощи memdisk и grub4dos

Вы наверняка слышали о таких девайсах как нетбук. И знаете, что в них не предусмотрен оптический привод (CD\DVD).
Приобретя нетбук я столкнулся с проблемой — мне необходимо было выложить еще 60$ за внешний оптический привод, что для бедного студента в условиях кризиса было немного накладно. Девайс наотрез отказался грузится с флешки с карточки (почему — до сих пор не пойму. ) и тут мне в голову пришла мысль: «А если загрузится с образа?» — так начались поиски…

Далее я предлагаю почитать как я решил проблему при помощи grub4dos и memdisk. Конечная цель — загрузить образ нетинсталла openSUSE 11.3.

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

Шаг первый: подготовка

Мне попался нетбук с предустановленной Windows XP, поэтому вся статься отталкивается от наличия установленной Win XP.
Я использовал grub4dos, хотя всё изложенное в этой статье применимо и к обычному GRUB (в данный момент всё работает на обычном).
Нам нужен один раздел с поддерживаемой загрузчиком файловой системой (любой, кроме NTFS).
*Я использовал FAT32, но подойдет и ext2\ext3.
Копируем на наш раздел образ.

Шаг второй: установка grub4dos

Читаем документацию или продолжение статьи 😉
Качаем grub4dos отсюда.
Распаковываем архив, копируем grub4dos-*\grldr в корневой каталог системного диска (обычно — C:\, далее — %sysdisk%); открываем %sysdisk%\boot.ini и дописываем в секции [operating system]
C:\grldr=»Grub4Dos»
Адрес «C:\grldr» должен быть использован даже если установленная ОС имеет другую букву диска.
*В документации описана установка на более современный загрузчик.
Получится что-то вроде:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=»Microsoft Windows XP Professional» /noexecute=optin /fastdetect
C:\grldr=»Grub4Dos»

Содержимое папки grub4dos-* складываем в %sysdisk%\Grub4Dos
Конфиг из %sysdisk%\Grub4Dos\MENU.LST перекладываем в %sysdisk%\MENU.LST
*Важно понимать, что grub4dos изначально пытается считать (hd0,0)\MENU.LST, поэтому лучше либо использовать ключ —config-file=%CONFIG% либо положить MENU.LST в корень раздела (hd0,0). Обычно это C:\ или /dev/sda1
**Важно также понимать как GRUB нумерует диски, об этом можно почитать либо в официальной, либо в переведенной документации.
***Согласно документации существует еще вариант, который предусматривает прописывание конфига в ключе —config-file=%CONFIG% следующим образом —config-file=»find —set-root /openSUSE-11.3-NET-i586.iso; kernel /memdisk iso raw; initrd /openSUSE-11.3-NET-i586.iso» но у меня почему-то он так работать не хочет (вероятно из-за того, что штатный GRUB прописан в MBR).

Шаг третий: memdisk

У вас есть 2 варианта: скачать syslinux и собрать memdisk самостоятельно или скачать собранный мной memdisk с dropbox’a.
Memdisk сохраняем на разделе с образом (для простоты).
*Вообще говоря мы можем держать образ и memdisk на разных разделах, но тогда нам придется использовать абсолютный путь до memdisk (или образа, что менее вероятно).

источник

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

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

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

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

(С) Картинка оттуда

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

Для пользователей 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 GU > 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

Можно загрузиться с заранее вставленной флешки (если конечно там есть какой то загрузчик):
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

Теперь 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

В последней версии 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 из любого дистрибутива.

источник

menu.lst — примеры использования меню grub4dos

Для начала мы должны иметь флешку или внешний жесткий диск с установленным на него загрузчиком grub4dos, если еще не имеем, то перейдем к руководству, как это сделать — http://nikiton21.ru/blog/post/bootice-flash

Можно начинать, примеры использования menu.lst ниже:

Файл menu.lst начинается с данных строк:

где таймаут — это задержка перед выполнением пункта (если не нажать клавишу), дефолт — он везде дефолт, а вот третий пункт интереснее — он содержит графическое окружение. Без него наш grub будет работать в консольном режиме — разницы, практически, никакой, но мне приятнее смотреть на графический интерфейс + таким образом я получаю возможность отображения кириллицы в пунктах меню. hd0,0 — это всегда то устройство, с которого осуществляется загрузка.

Картинка splashimage grub4dos

Установка цвета меню grub4dos

Установка по умолчанию пункта меню

Раз уж пошла речь про разделение, то давайте создадим подменю, специально для разных разрядностей наших образов семерки. На флешке уже должен быть файл menu_win7.lst — ознакомившись с его структурой, вы сами поймете что к чему. Но как к нему перейти? Магическая строка в menu.lst творит чудеса

Ниже меню для прямой загрузки с ISO образа без записи в память ПК образа

Сразу хочется предупредить про hd32 — это для образов, объемом менее 4 гб 0xff — я так понимаю что с поддержкой файлов более 4 гб.

Загрузка с дискеты, floppy дисковода
Загрузка с CD/DVD-рома
Перезагрузка
Выключение
Найти и загрузить NTLDR загрузчик Windows NT/2K/XP
Найти и загрузить BOOTMGR загрузчик Windows Vista/7/8
Найти и загрузить IO.SYS загрузчик Windows 9x/Me

Установка Windows XP из ISO образа на загрузочном носителе (флешке, usb-hdd) — в 2 этапа. Образ грузится в память.

Запуск Windows XP с 1 раздела

Запуск Windows XP со 2 раздела

Запуск Windows с HDD (первой попавшейся)

Запуск установки Windows 7 c ISO образа с загрузочного носителся — потребуются дополнительные действия по монтированию образа при необходимости (Sift+F10 и т.д. ну народ в курсе) — Образ не грузится в память, как думают некоторые.

Запуск Aklid Live USB/CD (с распакованного)

Запуск Aklid Live USB/CD с ISO образа на диске — образ мапится в память

Запуск Live USB/CD основанных на WIM — образы мапятся напрямую, не в память. (xalex, Sonya, VasAlex, zhuk, nikiton21)

Запуск систем с образов Floppy — дисководов

Запуск Kaspersky Rescue live

Запуск Reset Windows Password

Установка Ubuntu-server 9.10 с ISO образа с флешки или usb-hdd — образ должен находиться в корне. Файлы для установки с ISO образов: boot.img.gz initrd.gz vmlinuz берутя отсюда: http://archive.ubuntu.com/ubuntu/dists/

Запуск Ubuntu Desctop и установка с ISO образа на флешке или usb-hdd

Запуск консоли восстановления XP из ISO образа на флешке

Запуск консоли восстановления для Windows Vista & 7 из ISO образа на флешке

Второй этап установки при установке методом winsetup from usb (также запуск Windows XP)

Первый этап установки при установке методом winsetup from usb

Установка Mandriva с распакованного дистрибутива

источник

Добавить комментарий

Adblock
detector