LinuxForum.Fans
Тема

GRUB2+оффтопичные ISO

Автор: Cruiser78 11 сообщений 2872 просмотров
#352515

Привет всем!

Колхожу для личного употребления внешний USB HDD. Решил сделать его мултизагрузочным. Чтобы нёс на борту Live-образы нескольких нужных мне операционных систем. Ну и соответсвенно - всё это должно быть идеологически чистым (из религиозных соображений). Посему выбор загрузчика - GRUB2. После небольшого с ним траха понял, что он не любит работать с файловой системой NTFS. Фиг с ним, пусть будет FAT32 (или extX). Научил его грузить различные федоры (14, 17, 19) и СентОСи (6.4, 6.5). То есть, как разруливать в GRUB2 линкусовые образы - понятно. Далее нужна помощь зала:
Надо добавить на "флешку" оффтопичные образы, например, ERD... И вот здесь - не соображу как. В Инете есть ссылки на загрузку этого дела в Grub4Dos. Но я хочу добиться того же в чистом GRUB-2. Это возможно? И если возможно, то как?

#352516

Cruiser78, у меня grub 1.99 стоит на разделе NTFS....
Сперва ставил винду (она создала отдельный раздел в 100Мб под это хозяйство), а потом уже накатывал федорчука.

#352518

Cruiser78, могу поделиться конфигами для Grub 1, сможешь подправить - хорошо.

#352523
Показать
"Cruiser78" написал:
Научил его грузить различные федоры (14, 17, 19) и СентОСи (6.4, 6.5). То есть, как разруливать в GRUB2 линкусовые образы - понятно.

А можно пример конфига?

#352559
A.T.W.A. написал:
Показать
[quote="Cruiser78"]Научил его грузить различные федоры (14, 17, 19) и СентОСи (6.4, 6.5). То есть, как разруливать в GRUB2 линкусовые образы - понятно.

А можно пример конфига?

[/quote]

Grub2 умеет работать с ISO-образами. Но не все ISO умеют работать, если загрузка идет из них. Итак, Ferdora-19 работает из образа беспроблемно. А вот иные - с проблемами. Отсюда по шагам:
1. Устанавливаем GRUB-2 на USB-HDD стандарным способом, grub2-install bla-bla-bla. Файл grub.cfg при этом (автоматически) не создается.
2. Складываем образы в отдельный каталог. А отдельные, проблемные, распаковываем. У меня - так:
Показать

CentOS-6.4-x86_64-LiveCD (folder)
CentOS-6.5-x86_64-LiveCD (folder)
RFRemix-14.1-i686-Live-GNOME (folder)
RFRemix-17.1-i686-Live-GNOME (folder)
RFRemix-17.1-x86_64-Live-GNOME (folder)
RFRemix-19.1-i686-Live-GNOME.iso (file)
RFRemix-19.1-x86_64-Live-GNOME.iso (file)
RFRemix-19-i386-netinst.iso (file)
RFRemix-19-x86_64-netinst.iso (file)

3. Пишем grub.cfg в каталоге grub2:

Показать

# Путь до свалки с образами
set isopath="/boot/iso"
# Метка диска
set drive_label="AGESTAR"
# UUID диска. Поолучааем его с помощью blkid
set drive_UUID="938B-9EB2"
# загружаем шрифт и включаем графическое меню
loadfont /boot/grub2/fonts/unicode.pf2
# Можно еще что по вкусу добавить
.....
# Теперь прописываем пункты меню:
menuentry "Boot from first hard disk" {
# hd0 - это то, с чего загрузились, это наша флешка (если она одна).
set root=(hd1)
chainloader +1
}
# Для систем, что загружаются из фолдера
menuentry "Fedora 14.1 Live" {
set isoname="RFRemix-14.1-i686-Live-GNOME"
echo "Using ${isoname}..."
set root=(hd0,1)
#Дополнительные параметры ядра можно посмотреть в файле isolinux.cfg соответсвующей оси
linux /$isopath/$isoname/isolinux/vmlinuz0 root=UUID=$drive_UUID ro liveimg quiet nodiskmount nolvmmount live_dir=/$isopath/$isoname/LiveOS
initrd /$isopath/$isoname/isolinux/initrd0.img
}

# Для систем, что загружаются из ISO-образа
menuentry "Fedora 19.1-x86_64" --class fedora {
set isoname="RFRemix-19.1-x86_64-Live-GNOME"
set isofile="$isopath/${isoname}.iso"
echo "Using ${isoname}..."
loopback loop $isofile
# Правильные параметры берем из isolinux.cfg
linux (loop)/isolinux/vmlinuz0 root=live:CDLABEL=${isoname} rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 iso-scan/filename=${isofile}
initrd (loop)/isolinux/initrd0.img
}

Вроде исчерпывающе ответил. По крайней мере у меня работает. Проверять настройку удобно в виртуалке, в KVM.

По поводу плохой поддержки NTFS. Полдня потратил на заморочку. Отформатировал диск в NTFS, надо класть на него файлы большие чем 4Г, образы виртуалок. Была еще недоделанная мультизарузочная флешка (FAT32). С неё операционки грузились. А вот с USB HDD то же самое грузиться отказывалось. Почему - не знаю, но это было. Переформатировал HDD в FAT32 - заработало.

#352562
rizado написал:
Cruiser78, могу поделиться конфигами для Grub 1, сможешь подправить - хорошо.

Было бы неплохо...

#352607
rizado написал:
Cruiser78, выкладывал в этой теме: http://linuxforum.ru/viewtopic.php?pid=267048#p267048.

У меня до сегодняшнего дня было стойкое убеждение, что линкусовый GRUB начал работать с ISO-образами только со второй версии. Ну и читая Ваш конфиг (я уже подзабыл синтаксис меню первого груба) мне кажется, что пользуется там не линуксовый GRUB-1, а его модификация Grub4Dos. По крайней мере - синтаксис один и тот же.
Я же, похоже, проблему решил чуть иначе - первичный загрузчик GRUB-2, а из него можно запустить и Grub4Dos'овский grub.exe. Который и запустит из своего меню нужные оффтопики.

#352608

Cruiser78, если честно, я не смог пока решить одного вопроса - монтировать образ Win 7/8 и передавать загрузку на него, а без этого можно записать на флэшку только один дистрибутив.

#352685
rizado написал:
Cruiser78, если честно, я не смог пока решить одного вопроса

С DrWeb не кувыркался? Я никак не могу заставить его грузиться из произвольной папки на USB-HDD.
А именно - скачиваю с ихнего сайта инсталлятор DrWebLiveUSB, екзешник, инсталлирую его на обычную флешку. Инсталлятор пишет на флешку каталог /boot и ставит свой загрузчик. Загрузка с флешки идет нормально. Далее переносим этот /boot на свой мультизагрузочный USB-HDD, в, например, /boot/iso/DrWeb. Туда, где все остальные образы лежат. И опаньки... Никак не заставить DrWeb'а стартовать, зависает на загрузке. Но, если содержимое флешечного /boot скопировать в каталог /boot USB-HDD - всё стартует нормально. Что из GRUB-2, что из Grub4Dos'а.
Но писать содержимое в свой /boot - это сильно не красиво. Все-таки диски должны лежать раздельно, каждый на своей полочке, а не лезть в "системный каталог". Вдруг еще кому захочется полежать в /boot? Что тогда делать?

#352688
"Cruiser78" написал:
С DrWeb не кувыркался? Я никак не могу заставить его грузиться из произвольной папки на USB-HDD.

Пробовал когда-то, но грузился через раз.

Войдите или зарегистрируйтесь, чтобы ответить.