18 Декабря 2024, 07:29

MultiBoot Flash

Автор Yuriy_Y, 02 Января 2014, 01:05

« предыдущая тема - следующая тема »

0 Пользователей и 2 Гостей просматривают эту тему.

Yuriy_Y

Решил я тут собрать себе мультизагрузочную флешку на 16Гб с несколькими системами.
Установил на флешку grub2, в нескольких разделах разместил несколько распакованных исошников с системами. Там есть bootmgr в корне. С этими проблем не возникло. Пункты меню создал и работают.
Возникла проблема с одним образом, в нем в корне нет bootmgr, но есть каталог BCDW и там уже загрузчик. Должно появиться меню с выбором вариантов загрузки. А вот какой файлик загружать и как из груб2, я хз. Там есть BCDW.BIN, isolinux.bin, LOADER.BIN.
Кто-нть встречался с таким?
С уважением, Юрий

B@F

Я делал не так. Я запулил на флеху пару исо и в грубе указал монтировать их через loop и все. У меня на флехе винда лайв, убунта лайв, пару образов для восстановления в том числе и виндовых. В общем хорошая флеха мне нравится. Если надо могу скинуть конфигурацию.
Поправьте, если я ошибаюсь, буду тока рад.

Yuriy_Y

Канеш надо. Мож я неправильно делаю вообще. У меня на фляшке уже 7 разделов. :-)
С уважением, Юрий

B@F

Закидываю На раздел /  он у меня назван linuxn iso образ прям в корень. Иду в этом разделе в boot/grub и редактирую grub.cfg добавляя в нужном месте что-то типа этого:
[spoiler]#MULTISYSTEM_MENU_FIN|11-02-2013-12:51:56-034891593|ubuntu-12.04-dvd-i386.iso|multisystem-ubuntu|1579Mio|
#MULTISYSTEM_MENU_DEBUT|11-02-2013-12:58:42-319774309|ubuntu-12.04-dvd-i386.iso|multisystem-ubuntu|1579Mio|
menuentry "ubuntu-12.04-dvd-i386.iso" {
search --set -f "/ubuntu-12.04-dvd-i386.iso"
loopback loop "/ubuntu-12.04-dvd-i386.iso"
linux (loop)/casper/vmlinuz root=UUID=3364-60C1 debian-installer/language=ru keyboard-configuration/layoutcode=us  iso-scan/filename=/ubuntu-12.04-dvd-i386.iso boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}
#ubuntu-13.10-desktop-i386.iso manual baf over gedit ;)
menuentry "ubuntu-13.10-desktop-i386.iso" {
search --set -f "/ubuntu-13.10-desktop-i386.iso"
loopback loop "/ubuntu-13.10-desktop-i386.iso"
linux (loop)/casper/vmlinuz root=UUID=3364-60C1 debian-installer/language=ru keyboard-configuration/layoutcode=us  iso-scan/filename=/ubuntu-13.10-desktop-i386.iso boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}[/spoiler]

После этого все работает. Вот весь мой конфиг
[spoiler]#insmod gpt
#insmod pc
#insmod gfxmenu
#
#insmod videotest
insmod tga
insmod png
insmod gfxterm
insmod lspci
#insmod vbeinfo
insmod vbe
insmod ntfs
insmod chain
insmod biosdisk
insmod font
#http://grub.enbug.org/ThemeFormat
#http://grub.gibibit.com/Theme_format#colors
#http://code.google.com/p/burg/wiki/InstallUbuntu
#http://code.google.com/p/burg/downloads/list
#http://ubuntuforums.org/showthread.php?t=1195275
#pour acces a grub2 du bootloader principal modifier dans fichier: /etc/default/grub
#GRUB_HIDDEN_TIMEOUT=10 #0 par defaut
#GRUB_HIDDEN_TIMEOUT_QUIET=false #true d'origine
#sudo update-grub
#echo -n "Press ESC to see the menu... "
#if sleep --verbose --interruptible 5 ; then
#set timeout=0
#fi
set default=0
set timeout=30
set fallback=1
search --no-floppy --fs-uuid --set=root 3364-60C1
set root=${root}
#http://grub.enbug.org/gfxterm
if loadfont /boot/polices/unicode.pf2 ; then
set gfxmode=640x480
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
#set gfxmode=auto
#set gfxpayload=keep
fi
fi
#set locale_dir=/boot/grub/locale
#set lang=en
#insmod gettext
if background_image /boot/splash/splash.png ; then
#text no sel/fond ecran
set color_normal=blue/black #1
#text sel/fond ecran sel
set color_highlight=green/white #1
else
set menu_color_normal=blue/black #2
set menu_color_highlight=green/white #2
set color_normal=blue/magenta #2
set color_highlight=green/white #2
fi
#set gfxpayload="1280x1024,1024x768,800x600,640x480"
#set gfxpayload=keep
#Ne supprimez pas ce marqueur! / Do not remove this marker!
#MULTISYSTEM_START
#MULTISYSTEM_MENU_DEBUT|11-02-2013-12:49:44-531183597|systemrescuecd|multisystem-systemrescue|367Mio|
menuentry "SystemRescueCd 32bit" {
linux /systemrescuecd/isolinux/rescue32 rootfs=/systemrescuecd subdir=systemrescuecd dostartx setkmap=us
initrd /systemrescuecd/isolinux/initram.igz
}
menuentry "SystemRescueCd 64bit" {
linux /systemrescuecd/isolinux/rescue64 rootfs=/systemrescuecd subdir=systemrescuecd dostartx setkmap=us
initrd /systemrescuecd/isolinux/initram.igz
}
#MULTISYSTEM_MENU_FIN|11-02-2013-12:49:44-531183597|systemrescuecd|multisystem-systemrescue|367Mio|
#MULTISYSTEM_MENU_DEBUT|11-02-2013-12:51:20-710492653|debian1|multisystem-clonezilla|128Mio|
menuentry "Clonezilla Live" {
linux /debian1/vmlinuz ro root=UUID=3364-60C1 live-media-path=/debian1 boot=live hostname=quantal config quiet union=overlayfs noswap edd=on nomodeset locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no video=uvesafb:mode_option=800x600-16 ip=frommedia  nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.blacklist=yes
initrd /debian1/initrd.img
}
#MULTISYSTEM_MENU_FIN|11-02-2013-12:51:56-034891593|ubuntu-12.04-dvd-i386.iso|multisystem-ubuntu|1579Mio|
#MULTISYSTEM_MENU_DEBUT|11-02-2013-12:58:42-319774309|ubuntu-12.04-dvd-i386.iso|multisystem-ubuntu|1579Mio|
menuentry "ubuntu-12.04-dvd-i386.iso" {
search --set -f "/ubuntu-12.04-dvd-i386.iso"
loopback loop "/ubuntu-12.04-dvd-i386.iso"
linux (loop)/casper/vmlinuz root=UUID=3364-60C1 debian-installer/language=ru keyboard-configuration/layoutcode=us  iso-scan/filename=/ubuntu-12.04-dvd-i386.iso boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}
#ubuntu-13.10-desktop-i386.iso manual baf over gedit ;)
menuentry "ubuntu-13.10-desktop-i386.iso" {
search --set -f "/ubuntu-13.10-desktop-i386.iso"
loopback loop "/ubuntu-13.10-desktop-i386.iso"
linux (loop)/casper/vmlinuz root=UUID=3364-60C1 debian-installer/language=ru keyboard-configuration/layoutcode=us  iso-scan/filename=/ubuntu-13.10-desktop-i386.iso boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}
#MULTISYSTEM_MENU_FIN|11-02-2013-12:58:42-319774309|ubuntu-12.04-dvd-i386.iso|multisystem-ubuntu|1579Mio|
#MULTISYSTEM_STOP
#Ne supprimez pas ce marqueur! / Do not remove this marker!
menuentry "______________Grub4Dos______________" {
echo
}
#http://grub4dos.sourceforge.net/
#http://grub4dos.sourceforge.net/wiki/index.php/Grub4dos_tutorial
menuentry "Grub4Dos" {
   linux /boot/grub.exe --config-file=/boot/grub/menu.lst
}
menuentry "______________Syslinux______________" {
echo
}
#solution tordue, mais qui passe partout ...
#menuentry "Syslinux" {
#search --set -f /boot/syslinux/redir.img
#   linux16 /boot/syslinux/memdisk
#   initrd16 /boot/syslinux/redir.img
#}
#http://syslinux.zytor.com
menuentry "Syslinux" {
search --set -f "/boot/syslinux/ldlinux.sys"
drivemap -s (hd0) $root
chainloader +1
}
#Autre solution pour chainer Syslinux via une copie du mbr
#dd if=/dev/sd?1 of=/media/multisystem/boot/img/syslinux.mbr bs=512 count=1
#menuentry "Syslinux" {
#search --set -f "/boot/img/syslinux.mbr"
#drivemap -s (hd0) $root
#chainloader /boot/img/syslinux.mbr
#}
menuentry "______________Windows______________" {
echo
}
## for debugging set debug=efi
#menuentry "0-testfakebios" {
#   hexdump -s 0xc0000 (mem)
#   fakebios
#   hexdump -s 0xc0000 (mem)
## deliberate error to get wait for key
#   xxx
#}
#How to test GRUB 2 on Macbook
#http://grub.enbug.org/TestingOnMacbook
#
#http://wiki.gentoo.org/wiki/GRUB2
#
menuentry "Windows 7 Live CD" {
insmod chain
insmod ntfs
set root=(hd0,2)
chainloader +1
}
menuentry "Windows 7 64 install" {
insmod chain
insmod ntfs
set root=(hd0,3)
chainloader +1
}
menuentry "______________UTIL______________" {
echo
}
#menuentry "Windows 7 BIOS/MBR" {
#     insmod part_msdos
#     insmod ntldr
#     insmod ntfs
#     ntldr (hd0,msdos1)/bootmgr
#}
#menuentry "Windows XP BIOS/MBR" {
#     insmod part_msdos
#     insmod ntldr
#     insmod ntfs
#     ntldr (hd0,msdos1)/ntldr
#}
#
#chainer un autre grub
#menuentry "grub.cfg auf /dev/sdb1" {
#   configfile (hd1,1)/boot/grub/grub.cfg
#}
#menuentry "Chain other configfile" {
#configfile /boot/grub/grub-xxx.cfg
#}
#
#menuentry "Return default menu" {
#chainloader /boot/grub/boot.img
#}
#chainer win ou autre OS
#menuentry "Chainer UUID de la partition" {
#insmod=ntfs
#set root=(hd0,1)
#search --no-floppy --fs-uuid --set=root xxx-xxx
#   drivemap -s (hd0) $root
#   chainloader +1
#}
#http://www.plop.at/en/bootmanagerdl.html
menuentry "PLoP Boot Manager" {
   linux16 /boot/img/plpbt
}
#http://www.supergrubdisk.org/
#http://developer.berlios.de/project/showfiles.php?group_id=10921
#SG2D (Floppy, CD & USB in one)
#super_grub_disk_hybrid-1.98s1.iso
menuentry "Super Grub2 Disk" {
search --set -f /boot/img/sgdh.iso
   linux16 /boot/syslinux/memdisk
   initrd16 /boot/img/sgdh.iso
}
menuentry "Super Grub Disk" {
search --set -f /boot/img/sgdfr.img
   linux16 /boot/syslinux/memdisk
   initrd16 /boot/img/sgdfr.img
}
menuentry "Smart Boot Manager" {
search --set -f /boot/img/sbootmgr.dsk
   linux16 /boot/syslinux/memdisk
   initrd16 /boot/img/sbootmgr.dsk
}
#Site: http://boot.kernel.org/index.html
#Téléchargement: http://boot.kernel.org/gpxe_images/gpxe.lkrn
menuentry "BKO (boot.kernel.org)" {
   search --set -f /boot/img/gpxe.lkrn
   linux16 /boot/img/gpxe.lkrn
}
#http://www.memtest.org/#downiso
menuentry "memtest86+" {
   linux16 /boot/img/memtest86+.bin
}
menuentry "vbeinfo" {
   vbeinfo
read
}
menuentry "lspci" {
   lspci
read
}
menuentry "gfxpayload 640x480" {
set gfxpayload=640x480
echo gfxpayload=${gfxpayload} press enter
read
}
menuentry "gfxpayload 800x600" {
set gfxpayload=800x600
echo gfxpayload=${gfxpayload} press enter
read
}
menuentry "gfxpayload 1024x768" {
set gfxpayload=1024x768
echo gfxpayload=${gfxpayload} press enter
read
}
menuentry "gfxpayload 1280x1024" {
set gfxpayload=1280x1024
echo gfxpayload=${gfxpayload} press enter
read
}
menuentry "Reboot" {
insmod reboot
reboot
}[/spoiler]
Поправьте, если я ошибаюсь, буду тока рад.

Yuriy_Y

Я так понял, линуксовые isoшники на одном разделе, а вендовые - распакованы и на отдельных?
С уважением, Юрий

sotrud_nik

Я даже как-то писал про это
http://baurzhan.info/2010/12/06/how-to-install-grub2-on-usb-device/

Debian live скрипты поддерживают загрузку fromiso (ну и Казсид тоже).

Я также запрашивал про эту опцию у разрабов ArchLinux/openSUSE, и они ее реализовали в обоих
дистрах. Можно сказать, я косвенно повлиял на это.

Yuriy_Y

О, пасиба. Десктоп в режиме лайва загрузилась. Оказывается, на моём стареньком бамбуке 12.04.3 не может проинициализировать видяху, а я думал глюк. Взял бук новее и запустилось всё.
А как теперь сделать установку сервера из серверного образа? Там нет каталога casper.
С уважением, Юрий

sotrud_nik

Цитата: Yuriy_Y от 05 Января 2014, 00:26
О, пасиба. Десктоп в режиме лайва загрузилась. Оказывается, на моём стареньком бамбуке 12.04.3 не может проинициализировать видяху, а я думал глюк. Взял бук новее и запустилось всё.
А как теперь сделать установку сервера из серверного образа? Там нет каталога casper.


Скорее всего серверный образ - не LiveCD, а предназначен только для прямой установки.

Yuriy_Y

Ну да, вот его и хочу запилить, чтоб на флешке был. Будет супер-пупер-мега установочная фляшка, где будет всё, что мне надо.
С уважением, Юрий

B@F

Цитата: Yuriy_Y от 05 Января 2014, 00:26Там нет каталога casper.

А для чего этот каталог? Разве нельзя любой исо закидывать и устанавливаться с него?
Поправьте, если я ошибаюсь, буду тока рад.

Venhard

Давно искал возможность сделать мультизагрузочную флешку. Открыл для себя вот это: http://forum.runtu.org/index.php/topic,2774.0.html
На убунте работает прекрасно, другие дистрибутивы не проверял.
Программа проста в использовании. Делаем загрузочный раздел на флешке, форматируем под fat, монтируем в /media, в окно программы кидаем (drag & drop) iso-образ любого дистрибутива и мультизагрузочная флешка готова. :)

Yuriy_Y

Цитата: B@F от 05 Января 2014, 14:18
Цитата: Yuriy_Y от 05 Января 2014, 00:26Там нет каталога casper.

А для чего этот каталог? Разве нельзя любой исо закидывать и устанавливаться с него?

В этом каталоге как раз и лежат загрузчик и ядро. А в серверной версии, как-то по другому грузится.

Цитата: Venhard от 05 Января 2014, 15:34Программа проста в использовании. Делаем загрузочный раздел на флешке, форматируем под fat, монтируем в /media, в окно программы кидаем (drag & drop) iso-образ любого дистрибутива и мультизагрузочная флешка готова. :)

Пробовал. Какие мне образы надо, эта прога не поддерживает. Не умею, грит. Да и не очень понравилось, что после каждого драга исошника надо ждать, пока он запишется на фляшку.
С уважением, Юрий

sotrud_nik

Ubuntu mini cd прекрасно грузится с помощью memdisk и grub2.
Бросаем memdisk и mini.iso в корень флешки с установленным grub2,
затем грузимся с нее и в командной строке загрузчика пишем
linux16 /memdisk raw
initrd16 /mini.cd
boot

Правда оно потом требует сеть для установки. Я полагаю как-нибудь можно
натравить на АПТ репозиторий на флешке. Главное что загружается.
С большим образом ubuntu server iso возиться неохота.

Yuriy_Y

Цитата: sotrud_nik от 05 Января 2014, 19:53С большим образом ubuntu server iso возиться неохота.

Зато подкупает, что можно просто залить свежий образ, исправить две строчке в конфиге и у тебя опять свежий инсталлер. Так что, повозиться стОит.
С уважением, Юрий

sotrud_nik

Цитата: Yuriy_Y от 05 Января 2014, 20:45
Цитата: sotrud_nik от 05 Января 2014, 19:53С большим образом ubuntu server iso возиться неохота.

Зато подкупает, что можно просто залить свежий образ, исправить две строчке в конфиге и у тебя опять свежий инсталлер. Так что, повозиться стОит.


Я имел в виду неохота качать. Заставить то его ставиться с флешки можно.
А еще я к тому веду что дистр на букву у не нужен. Совсем не нужен. Ни разу.

Yuriy_Y

А какой нужен?
С уважением, Юрий

Rubik

ну естественно дебиан, а точнее казсид, верно?

sotrud_nik

Цитата: Rubik от 05 Января 2014, 21:23
ну естественно дебиан, а точнее казсид, верно?


Казсид - демонстрационный СД, нужен для тестирования/показа что есть казахского в СПО.
После установки превращается в чистый Дебиан sid.
Так что нужен чистый Дебиан.

А для навыков администрирования советую Centos/RHEL/Fedora.

B@F

Цитата: sotrud_nik от 05 Января 2014, 21:42А для навыков администрирования советую Centos/RHEL/Fedora.

А яА советую Дебиан/Убунту. Последняя для новичков рай, почти все пакеты сразу из коробки делают то что ты хотел от них. Не знаю как в последних версиях федоры, но в тех что юзал я приходится долго и упорно искать конфиг где-то в /usr/shara, копировать в etc и править под себя. В убунту только править, намного проще. И работает не хуже вышесказанных кстате, а может и лучше. В общем тут дело выбора, а на вкус и цвет каждый сам по себе. Кто-то вообще по соляре прется или ораклу и ни че устраивает их.
Поправьте, если я ошибаюсь, буду тока рад.

sotrud_nik

Еще раз *А для навыков администрирования*

Где будет новичок завтра искать работу со своим знанием Убунты?