Grub установка linux с флешки

Мультизагрузочная Linux-флешка

Тут описана процедура создания флешки для загрузки множества iso-образов на компьютерах с BIOS. На компьютерах с UEFI она не работает. Для компов с UEFI я делал Универсальную загрузочную флешку для BIOS/UEFI.
Хорошо иметь под рукой флешку, с которой можно загрузиться для восстановления или установки системы. Также хорошо бы чтобы на ней помещались несколько разных образов ISO, доступных из меню. Создать такую флешку можно с помощью специализированных программных средств как под Linux ( Multisystem) так и под Windows (XBOOT), и даже мультиплатформенных (Yumi). Но можно пойти true linux way™ и использовать GRUB.

Создание и форматирование раздела

Сначала нужно создать на флешке раздел и сделать его загрузочным. Запускаем fdisk и натравливаем его на нашу флешку. Нижеприведенные команды делаем с правами root. Список дисков смотрим командой:

Запускаем fdisk (указав свою флешку):

Если на диске есть разделы, то ликвидируем их. Для этого жмем d
После удаления разделов жмем n и создаем новый.
В процессе создания указваем что раздел p (primary).
После создания жмем a, чтобы сделать раздел активным.
Затем жмем t, чтобы задать тип раздела и вводим тип c (FAT32).
Жмем w и записываем изменения на флешку.

Теперь надо отформатировать созданный раздел в FAT32:

Установка загрузчика GRUB

Дальше ставим GRUB2 на флешку.
Создаем точку монтирования и монтируем флешку (не забываем sdx менять на актуальные буквы, соотвествующие флешке):

Устанавливаем GRUB (выполняем с правами root):

Старые версии GRUB вместо –boot-directory используют -root-directory. Если что-то не так, то установщик GRUB скажет что “Installation is impossible. Aborting”.

Создаем на флешку файлик grub.cfg

И заполняем его примерно так:

Этот содержит конфигурацию для загрузки с флешки KNOPPIX 7.2, SystemRescueCd 4.6.1, различных вариантов Ubuntu и CentOS 7. А дальше осталось просто положить указанные в grub.cfg образы ISO в корневую директорию флешки и переименовать их как указано в файле.

Еще немного примеров

Добавление других образов ISO

Для добавления других образов ISO нужно в файлик /boot/grub/grub.cfg прописывать параметры, которые обычно можно найти в файлах grub.cfg, syslinux.cfg и других, входящих в состав образа ISO.
То есть создаем новый раздел меню в /boot/grub/grub.cfg (копируя уже существующий), затем указываем файл ISO в строке loopback, а в строку linux указываем путь к ядру (то что append из syslinux.cfg). В строке initrd указываем путь к файлу initrd.

Скорее всего, в строке linux после пути к файлу ядра придется указать параметры загрузки ядра, которые позволят ядру работать с loop-устройством, на которое монтируется файл ISO. Для систем со схожим ядром, параметры, как правило, одинаковые. Например, для загрузки Fedora подойдут параметры от CentOS.

Много обновляемой информации о загрузке ISO образов с помощью GRUB можно тут: https://wiki.archlinux.org/index.php/Multiboot_USB_drive

Загрузка установочных образов Windows 7 и Windows 10 c помощью GRUB

Монтируем iso-образ Windows 7 или Windows 10, копируем с него все файлы на флешку с помощью cp или rsync и дописываем в grub.cfg такое:

Тут grub будет загружать модули с помощью insmod, потом search — искать раздел с меткой MULTIBOOT и когда найдет — с помощью –set укажет, что root находится на этом разделе, а затем передаст управление /bootmgr

В принципе, для красоты и удобства, было бы неплохо создать отдельный раздел на флешке (так я поступил при создании нового варианта флешки — Универсальная загрузочная флешка для BIOS/UEFI), отформатировать его с меткой Win7, распаковать файлы из iso-образа туда и указывать –label Win7. Просто в дистрибутиве windows также есть директоррия boot и если понадобится очистить флешку от инсталлятора windows, не затрагивая остальные ОС, то из этой директории файлы придется удалять вручную.

Источник

Загрузка с USB с помощью GRUB

Ноутбук моего друга попал в автомобильную аварию (он в порядке!). Однако ноутбук очень старый — это Acer Aspire 1520, дисковод для компакт-дисков сломан, а дисковод гибких дисков отсутствует.

Я сделал его загрузочным USB, прежде чем я взглянул на него и обнаружил, что его BIOS не может загрузиться с USB. Только , что у меня есть это GRUB консоль , но он стремится просто установить XP (на USB) и использовать его только для фильмов.

Можно ли с помощью консоли GRUB получить доступ к USB и начать установку Windows? Это сложный заказ, но я думаю, что это может быть способ или попытка установки через локальную сеть, что, я не думаю, будет достижимо.

Вот краткий пример команд grub, которые могут просто работать, пояснения и предостережения ниже.

grub2

Скорее всего для установки после 2010 года.

Скорее всего, для установки до 2005 года.

На период 2005-2010 гг. Ваше предположение такое же, как и мое, но если вы используете команду для неправильной версии, вы получите только безопасную синтаксическую ошибку в первой команде.

Читайте также:  Windows server запуск linux

Выбор правильного корня

При запуске grub проверит ваши устройства и назначит им номера. Всем устройствам, которые разбиты на разделы (жесткие диски и флэш-накопители), также будут назначены номера. Формат есть ( ,

) . В grub2 , индексы секций изменились, поэтому два приведенных выше примера имеют одинаковый эффект, несмотря на то, что они ищут разные корни.

Ваше первое устройство ( hd0 ) — это устройство, из которого только что загружен grub. После этого вы обычно можете предполагать, что все внутренние устройства будут предшествовать вашим внешним устройствам. Скорее всего, они будут в виде hd числа.

После запятой указывается раздел раздела. Жесткие диски и флэш-накопители почти всегда будут разбиты на разделы, поэтому вы должны выбрать правильный (и, скорее всего, только) раздел. Компакт-диски обычно не разбиты на разделы.

При выборе корневого раздела вы можете использовать клавишу Tab для поиска имен устройств и индексов разделов. Просто откройте скобки и начните нажимать Tab, чтобы увидеть список.

Источник

Загрузка с USB Drive через GRUB, или как быть когда компьютер не умеет загружаться с USB


Недавно оказался в такой вот ситуации. У меня есть Linux на машине и понадобилось переустановить/или установить другой дистрибутив. Отлично, это же легко! Загрузили дистрибутив с USB диска и вперед! Однако некоторые (особенно старые) машины не умеют загружаться с USB. Это было неприятно (особенно если учесть что я больше не записываю CD/DVD ни для каких нужд). Однако, если у вас есть GRUB1 установленный на машину, вы можете использовать его для загрузки с USB диска и даже переписать что-либо на жестком диске. Это вам конечно не поможет, если у вас компьютер без операционной системы или если у вас какой-нибудь Windows -> тогда, возможно, вам стоит посмотреть в сторону загрузки PXE. Я до сих пор не смог заставить так же работать GRUB2, некоторые вещи там делаются сложнее однако для старых машин этого может вполне хватить.

  1. Сначала определитесь с дистрибутивом (какой хотите загрузить/установить). Я использовал Linux Mint Debian записанный на USB через Unetbootin.
    Они (как и другие дистрибутивы) хранят это в syslinux.cfg, посмотрите пункт default и затем измените подчеркнутые места.
    [code]label unetbootindefault
    menu label Default
    kernel /ubnkern
    Добавить
    initrd=/ubninit boot=live config live-media-path=/casper quiet splash
    [/code]
  1. Загрузите целевую машину со вставленным USB приводом. После загрузки GRUB нажмите Escape и затем C для входа в командную строку GRUB.
  2. Если у вас всего два привода (включая тот что USB) на машине то внутренний будет обозначаться (hd0,0) и внешний (hd1,0), ну или что-то похожее.
    Я набрал следующее, измените у себя так как я показывал выше, нажимая Enter после каждой команды.
    [code]root (hd1,0)
    kernel /ubnkern
    initrd /ubninit boot=live config live-media-path=/casper quiet splash[/code]
  3. Готовы? Наберите boot и нажмите enter.

Так же в GRUB замечательно работает автодополнение по кнопке Tab. Вы можете набрать root (hd нажать Tab и получить список доступных приводов, root (hd0, и получите доступные на приводе разделы и типы файловых систем, и наконец список целевых ядер и initrd образов.

Источник

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 на эту строку

Читайте также:  Best format software windows

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

Выключить компьютер:
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

Теперь 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 дсика на флешку на «большом» компе, загрузился с флешки и восстановил.

Читайте также:  Yandex browser windows download

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

Источник

Оцените статью