Мультизагрузочная флешка - ни один способ не работает

Автор vicmic, 29 января 2016, 09:29:44

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

vicmic

Помогите - голову почти сломал!  :-\
Попытался сделать мультизагрузочную флешку тремя разными способами (последние, с форумов):
1) YUMI - продвинулся дальше всего - записалась папка YUMI, в которую уложились два .iso-дистрибутива (хотел ещё PuppyRus положить, но YUMI на него ругается - не могу, мол). Но при попытке загрузиться с этой флешки оказалось, что загрузчика нет. И где у неё загрузчик?
2) Multisystem - пробовал установить двумя способами - Synaptic и GDebi - оба выдают требование:
Открыть содержимое (спойлер)
Пожалуйста, вставьте диск с меткой:
Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Binary 20150908-22:49
в дисковод /media/cdrom/
[свернуть]
С чего это вдруг? У меня его не было никогда - всегда с интернета и флешки устанавливал, что ubuntu, что debian.
Нажал "отменить"
Открыть содержимое (спойлер)
3) Попробовал вот это http://blog.amet13.name/2014/02/linux-grub2.html - но даже отформатировать флешку не смог - при втыкании она монтируется, команда ругается, что не могу отформатировать - там смонтированная файловая система.
Как это побороть - пока не знаю.

Да, ещё пытался установить Multisystem из консоли, но на этапе apt-get update получил в конце выдачи вот это:
Открыть содержимое (спойлер)
E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен)
E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); он уже используется другим процессом?
root@victor:~#
[свернуть]
Но я-то под рутом эти команды давал!

Подскажите, пожалуйста, что в debian можно сделать для решения задачи - "сделать мультизагрузочную флешку".

AndGaz

Цитата: vicmic от 29 января 2016, 09:29:44что в debian можно сделать для решения задачи - "сделать мультизагрузочную флешку".
grub2

vacka

от root
geany /etc/apt/sources.list
geany замените на свой текстовый редактор. в sources.list закоментируйте # или удалите совсем
Debian GNU/Linux 8 _Jessie_ - Official Snapshot i386 LIVE/INSTALL Binary 20150908-22:49

нельзя одновременно пользоваться Synaptic и GDebi и терминалом, выбирайте что то одно, тогда не будет блокировки /var/lib/dpkg/lock

чтобы установить  multisystem  можно сделать так, в sources.list  добавьте

## MultiSystem
deb http://liveusb.info/multisystem/depot all main


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

wget -q -O - http://liveusb.info/multisystem/depot/multisystem.asc |  apt-key add -

обновите
sudo apt update

и установите
sudo apt install multisystem

добавьте пользователя
sudo usermod -a -G adm "$SUDO_USER"

$SUDO_USER замените на себя (пользователь компьютера)



I-Jurij

#3
1. Скачать grub4dos,
2. Распаковать,
3. Установить так:
/home/user/grub4dos/bootlace.com /dev/sdx

или так:
sudo dd if=/home/user/grub4dos/grldr.mbr of=/dev/sdx bs=440 count=1
sudo dd if=/home/user/grub4dos/grldr.mbr of=/dev/sdx skip=1 seek=1

4. Скопировать файлы default, grldr, grldr.mbr, menu.lst в корень флешки.
5. Не все дистрибутивы легко грузятся с iso, поэтому кое-какие придется распаковать на флешку в отдельную папку (почти все убунты, puppy, но не puppyrus-pra, грузятся с исо), arch легче распаковать.
6. Пример с puppyrus-pra:
menu.lst в корне флешки:

default 0
timeout 3
color 11 12 13 14
graphicsmode -1 640:800
font /boot/grub4dos/rus_bold.lz

title PRA12game
configfile /pragame12/menu.lst

title PRA 6406-1601
configfile /pra6406-1601/menu.lst

title stilaz
map /slitaz-rolling.iso (0xff) || map --mem /slitaz-rolling.iso (0xff)
map --hook root (0xff)
chainloader (0xff)

#title Porteus-v3.1 64bit from ISO
#map --heads=0 --sectors-per-track=0 /Porteus-LXQt-v3.1-x86_64.iso (0xff)
#map --hook
#root (0xff)
#kernel /boot/syslinux/vmlinuz from=/Porteus-LXQt-v3.1-x86_64.iso autoexec=startx
#initrd /boot/syslinux/initrd.xz

#title Runtu lite 14.04 + rus
#find --set-root /runtu-lite-14.04.1_20140914.iso
#map /runtu-lite-14.04.1_20140914.iso  (0xff) || map --mem /runtu-lite-14.04.1_20140914.iso (0xff)
#map --hook
#root  (0xff)
#kernel /casper/vmlinuz  boot=casper iso-scan/filename=/runtu-lite-14.04.1_20140914.iso ignore_uuid locale=ru_RU.UTF-8 console-setup/layoutcode=ru quiet splash --
#initrd /casper/initrd.lz

#title Slacko ISO
#find --set-root /slacko-6.3.0.iso
#map /slacko-6.3.0.iso  (0xff) || map --mem /slacko-6.3.0.iso (0xff)
#map --hook
#root  (0xff)
#kernel /vmlinuz iso-scan/filename=/slacko-6.3.0.iso
#initrd /initrd.gz

# For booting GNU/Linux on /dev/sda1 (U.S.B. flash drive partition)
#title Slacko
#rootnotify (hd0,0)
#kernel (hd0,0)/slacko/vmlinuz pmedia=usbflash psubdir=slacko
#initrd (hd0,0)/slacko/initrd.gz

#title tahr-6.0.2_PAE
#kernel /tahr/vmlinuz pmedia=usbflash psubdir=tahr
#initrd /tahr/initrd.gz

title       Перезагрузка
reboot

title       Выключить
halt



Первые два пункта с title отправляют в меню в подпапках модификаций puppyrus-pra.
Потом slitaz, porteus, Runtu-lite, Slacko из iso в корне флешки, потом slacko и tahr из подпапок на флешке.

В папках puppyrus-pra, slacko и tahr нужно подправить menu.lst - указать пути к файлам:
например:
Цитировать
title ▒▒ XFCE+Sd
set l=XFCE
set v=load=Xfce;Systemd
set x=noload=Mini
configfile /pra6406-1601/menu0.lst

PS: в puppyrus-pra есть установщик на флешку. Можно сначала с его помощью установить PRA, а потом в меню дописать другие оси. Но вышеизложенный вариант для меня удобнее.
Да, пункты меню для загрузки других дистров можно выдрать из того же yumi, multiboot.

PSS: флешка - fat32?

vicmic

#4
Отчитываюсь:
Флешка FAT32.
Multisystem установил, но при попытке записи на флешку выдаёт ошибку:
"Выбранный раздел не имеет метки файловой системы - программа присвоила ему метку.
Пожалуйста переподключите раздел чтобы изменения вступили в силу."
Переподключаю, ничего не происходит.
Нажимаю ОК, Multisystem закрывает окно - и тишина... :-\

Переходим к другому способу: http://blog.amet13.name/2014/02/linux-grub2.html
Здесь дошёл до шага 4. и споткнулся о конфигурационый файл.
Если вот с этими командами всё более-менее понятно - пути, имена файлов, etc...
Открыть содержимое (спойлер)
menuentry "CentOS-6.5-x86_64-minimal" {
    loopback loop /boot/iso/CentOS-6.5-x86_64-minimal.iso
    linux (loop)/isolinux/vmlinuz boot=casper iso-scan/filename=/boot/iso/CentOS-6.5-x86_64-minimal.iso noeject noprompt --
    initrd (loop)/isolinux/initrd.img
}
[свернуть]
То вот что с последней строчкой делать - не пойму:
    initrd (loop)/isolinux/initrd.img

Дело в том, что эти файлы initrd.img, а также initrd.gz и initrd.lz видны только в распакованных .iso, а grub разберётся в .iso?

upd:
Снова попробовал YUMI.
Сначала отформатировал в GParted в FAT32.
Потом в YUMI записал три .iso образа, но нигде не увидел как записать загрузчик.
Видимо должен записываться автоматически - подумал я, и перезагрузился - но флешка не грузится.
GParted показывает, что флаг boot поднят.
Что не так?

vic5710

#5
может поможет syslinux?
https://wiki.archlinux.org/index.php/Syslinux_(Русский)

Cообщение объединено 30 января 2016, 13:12:26

Цитата: vicmic от 30 января 2016, 06:28:54initrd (loop)/isolinux/initrd.img

Дело в том, что эти файлы initrd.img, а также initrd.gz и initrd.lz видны только в распакованных .iso, а grub разберётся в .iso?
(loop) не значит, что образ подмонтирован? непримонтированные диски не грузятся

vacka

vicmic, возможно флешку отформатировать надо.. теоретически в multisystem это можно сделать. если не получится то есть GParted  и терминал, там же и метку можно сделать
см.  флешку
df -h
форматируем
sudo mkfs.vfat -n 'usb drive' -I /dev/sdb
у вас  /dev/sdХ может быть другим.
ЗЫ себя в пользователи добавили?

vicmic

vacka,
Флешку-то я отформатировал в GParted, и себя в пользователи sudo добавил...
vic5710,
syslinux - попробую разобраться.
Вы говорите: "(loop) не значит, что образ подмонтирован?" - вот мне и интересно, если образ подмонтирован, то GRUB2 его видит как папку с файлами (ну или как-то находит отдельные файлы в .iso по именам)? Или нет?
Т.е., если я в этом HowTo (http://blog.amet13.name/2014/02/linux-grub2.html) заменю пути к файлам на свои - то всё должно работать?
Или как-то по-другому нужно задачу решать?
I-Jurij,
в grub4dos пока не разобрался.

Мне хотелось бы на флешку 4Гб уместить:

  • debian-live-8.2.1-i386-hamradio
  • ubuntu-14.04.3-desktop-i386
  • ubuntu-14.04.3-desktop-amd64
  • puppyrus-203-FF-m
Это чтобы иметь систему на случай падения, ну, и чтобы пробовать на "вновь прибывших" компьютерах.
Интересно, что на DELL Latitude D820 сходу не пошла ubuntu 14.04.3 - при загрузке с флешки на экране появились чёрно-белые полосы в шахматном порядке и всё - halt.
А вот Debian 8 прижилась. Я установил драйвера на nvidia, и - о, чудо! - ubuntu 14.04.3 стала грузиться с флешки, как и на других компьютерах. Это обнаружилось случайно, т.к. на одном из компьютеров рухнула 14.04 (после экспериментов с wacom-планшетом и krita - сначала всё заработало, но после перезагрузки - стала зависать - загрузится вроде нормально, но экран растянутый и не реагирует ни на клавиатуру, ни на мышку). Пришлось переустанавливать, но решил попробовать сделать мультизагрузочную флешку...
Вот такие пироги с котятами. ???

vic5710

#8
Цитата: vicmic от 30 января 2016, 20:41:17Вы говорите: "(loop) не значит, что образ подмонтирован?" - вот мне и интересно, если образ подмонтирован, то GRUB2 его видит как папку с файлами (ну или как-то находит отдельные файлы в .iso по именам)? Или нет?
ну примонтируй образ и посмотри где что лежит, и пути впиши. ИМХО так


Cообщение объединено 30 января 2016, 22:39:26

Цитата: vicmic от 30 января 2016, 20:41:17Т.е., если я в этом HowTo (http://blog.amet13.name/2014/02/linux-grub2.html) заменю пути к файлам на свои - то всё должно работать?
ИМХО да

BULATUS

Как вариант... установите в виртуалке систему. Клонируйте. Образ залейте на флешку.

vicmic

#10
Цитата: BULATUS от 30 января 2016, 22:53:00
Как вариант... установите в виртуалке систему. Клонируйте. Образ залейте на флешку.
Одну-то систему на флешку залить не проблема.
Вопрос в том, как сделать и записать "правильный" загрузчик для нескольких систем.

Ну, вот.
Сделал, как написано в "Блоге начинающего сисадмина" http://blog.amet13.name/2014/02/linux-grub2.html
Нашёл в каждом .iso свой initrd.gz, lz, ...
"Ура! Заработало!" (с)
Но вот только PuppyRus поискал чего-то на диске, не нашёл и завис. Может его распаковать надо было?
Ubuntu и Debian отлично загрузились, но только на amd64-машине, на Dell Latitude D820 ubuntu-i386 зависла с чёрным экраном  :(
И вот ещё, Debian в live-режиме не грузится, а сразу начинает установку.
Но то что есть - уже что-то.
Спасибо откликнувшимся.

vacka

Цитата: vicmic от 30 января 2016, 06:28:54Multisystem установил, но при попытке записи на флешку выдаёт ошибку:
"Выбранный раздел не имеет метки файловой системы - программа присвоила ему метку.
Пожалуйста переподключите раздел чтобы изменения вступили в силу."
Переподключаю, ничего не происходит.
Нажимаю ОК, Multisystem закрывает окно - и тишина... :-\
можно как вариант попробовать самому поставить метку. у меня было такое как то, решилось если не ошибаюсь именно форматированием флешки с присвоением метки. например, если форматировать флешку в терминале
sudo mkfs.vfat -n 'usb drive' -I /dev/sdb
то 'usb drive' и есть энта самая метка. в принципе Multisystem сам всё это должен сделать и обычно делает..
ЗЫ если windows под рукой имеется, то с помощью WinSetupFromUSB можно сделать мультизагрузочную флешку.

vic5710

#12
таки попробуйте syslinux memdisk. ЕМНИП там просто передача управления непосредственно на iso-образ



/boot/syslinux/syslinux.cfg

LABEL some_label
    LINUX memdisk
    INITRD /path/to/image.iso
    APPEND iso

Цитата: vicmic от 31 января 2016, 03:48:44Но вот только PuppyRus поискал чего-то на диске, не нашёл и завис. Может его распаковать надо было?
Porteus, к примеру ищет на диске файл porteus.sgn и если не находит - не грузится. Папирус тоже может что-то такое

menuentry "debian-7.4.0-amd64-netinst" {
    loopback loop /boot/iso/debian-7.4.0-amd64-netinst.iso
    linux (loop)/install.amd/vmlinuz boot=casper iso-scan/filename=/boot/iso/debian-7.4.0-amd64-netinst.iso noeject noprompt --
    initrd (loop)/install.amd/initrd.gz
}

а вы не скопипастили /install/initrd.gz? для live-режима есть каталог /live. initrd и vmlinuz надо брать отттуда
и параметр boot=live надо

vicmic

#13
Цитата: vacka от 31 января 2016, 10:05:57
ЗЫ если windows под рукой имеется, то с помощью WinSetupFromUSB можно сделать мультизагрузочную флешку.
С некоторых пор на домашних компьютерах принципиально не пользуюсь Windows.

vic5710, в кусочке syslinux.cfg, который Вы привели, именно такая структура для каждого .iso? Или там что-то ещё должно быть?
Я почитал ту ссылку, но ещё не разобрался...
Попробовал установить grub2, вот его grub.cfg
Открыть содержимое (спойлер)
### ubuntu-14.04.3-desktop-i386.iso
### ubuntu-14.04.3-desktop-amd64.iso
### debian-live-8.2.1-i386-hamradio.iso
### puppyrus-203-FF-m.iso

menuentry "ubuntu-14.04.3-desktop-i386" {
    loopback loop /boot/iso/ubuntu-14.04.3-desktop-i386.iso
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-14.04.3-desktop-i386.iso noeject noprompt --
    initrd (loop)/casper/initrd.lz
}

menuentry "ubuntu-14.04.3-desktop-amd64" {
    loopback loop /boot/iso/ubuntu-14.04.3-desktop-amd64.iso
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/boot/iso/ubuntu-14.04.3-desktop-amd64.iso noeject noprompt --
    initrd (loop)/casper/initrd.lz
}

menuentry "debian-live-8.2.1-i386-hamradio" {
    loopback loop /boot/iso/debian-live-8.2.1-i386-hamradio.iso
    linux (loop)/install/vmlinuz boot=casper iso-scan/filename=/boot/iso/debian-live-8.2.1-i386-hamradio.iso noeject noprompt --
    initrd (loop)/install/initrd.gz
}

menuentry "puppyrus-203-FF-m" {
    loopback loop /boot/iso/puppyrus-203-FF-m
    linux (loop)/vmlinuz boot=casper iso-scan/filename=/boot/iso/puppyrus-203-FF-m noeject noprompt --
    initrd (loop)/initrd.gz
}
[свернуть]

Цитата: vic5710 от 31 января 2016, 13:51:41
а вы не скопипастили /install/initrd.gz? для live-режима есть каталог /live. initrd и vmlinuz надо брать отттуда
и параметр boot=live надо
Конечно, скопипастил, спасибо, попробую поправить.

UPD:
Интересно, а у меня в debian-live-8.2.1-i386-hamradio.iso в каталоге /live лежат vmlinuz1 и vmlinuz2, а также initrd1.img и initrd2.img
"И который из них от кашля?" (с)
Попробовал оба - ни один не помогает. Получаю в итоге такую катрину:
Открыть содержимое (спойлер)
BusyBox v1.22.1 (Debian 1:1.22.0-9+deb8u1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't sccess tty: job control turned off
(initramfs) Unable to find a medium contsning a live file system
modprobe: module ehci-orion not found in modules.dep
[свернуть]
Вот вам и live-образ debian8...
Ладно, попробуем что-нибудь ещё - кеды, например...

А в Папирусе вообще нет casper или live. И какой тогда нужен параметр boot?

I-Jurij

#14
Это не в debian причина, а вот в этом:
menuentry "debian-live-8.2.1-i386-hamradio" {
    loopback loop /boot/iso/debian-live-8.2.1-i386-hamradio.iso
    linux (loop)/install/vmlinuz boot=casper iso-scan/filename=/boot/iso/debian-live-8.2.1-i386-hamradio.iso noeject noprompt --
    initrd (loop)/install/initrd.gz

там ну точно-точно нет папки casper. Она не нужна в debian и puppyrus, а вы все дистрибутивы грузите одинаково.
Debian:
Изучите menu.lst или isolinux.cfg в папке boot. В итоге придете приблизительно к такому:
menuentry '[loopback]debian-live-7.8.0-amd64-xfce-desktop' {
   set isofile='/boot/iso/debian-live-7.8.0-amd64-xfce-desktop.iso'
   loopback loop $isofile
   linux (loop)/live/vmlinuz boot=live config fromiso=/dev/sdb2/$isofile
   initrd (loop)/live/initrd.img

Puppyrus:
Отсюда для grub4dos (для grub в принципе то же самое):
ЦитироватьДобавляем Live-USB PuppyRus-203 на основе Linux.
Скачиваем PuppyRus-203 и извлекаем все файлы и папки из этого архива в корень USB-носителя
Прописываем в Menu.lst следующие строчки
title Запустить Live-USB PuppyRus-203-FF-m
configfile (hd0,0)/boot/Puppy/menu.lst
и дальше
ЦитироватьОткрываем для редактирования файл puppy203/menu.lst
а) добавляем в начало запись: root (hd0,0)/puppy203
б) через поиск находим и удаляем все записи (cd) (со скобками)
в) заменяем все записи типа pmedia=cd на pmedia=usbflash
г) сохраняем изменённый файл.

Cообщение объединено 01 февраля 2016, 20:45:36

Цитата: vicmic от 31 января 2016, 19:47:04
С некоторых пор на домашних компьютерах принципиально не пользуюсь Windows.
А что случилось-то? Религию поменяли? ???