Skip to content

Instantly share code, notes, and snippets.

@morkin1792
Last active December 28, 2018 00:05
Show Gist options
  • Save morkin1792/233564e9f3c4ad9cca11db36ec1ed2a1 to your computer and use it in GitHub Desktop.
Save morkin1792/233564e9f3c4ad9cca11db36ec1ed2a1 to your computer and use it in GitHub Desktop.
grub multiboot com tudo funcionando
#Multiboot USB - https://gist.github.com/morkin1792
#1.
#Instalar grub:
# grub-install --target=i386-pc --root-directory=/local/usb/montado /dev/sdX --force #instala grub no modo pc/bios
# grub-install --target=x86_64-efi --root-directory=/local/usb/montado /dev/sdX --removable #instala grub no modo uefi
#2.
#para instalar no modo uefi a particao do grub deve ser fat32 (esp partition), já no modo pc pode-se usar outros sistemas de arquivos
#as isos podem ficar em qualquer particao com 'qualquer' sistemas de arquivos, apenas deve-se setar o uuid dessa mais abaixo
#pode-se instalar em ambos os modos, pc/bios e uefi, se nao for feito apenas pcs com suporte para o modo escolhido bootarao o pendrive
#3.
#Por fim, coloca-se este grub.cfg configurado (trocando uuid e menus entries) em /boot/grub/ (caso utilize-se uma particao para o grub-pc e outra para o grub-efi deve-se colocar o grub.cfg em ambas)
#Fontes:
#Instalacao e menu entries - https://wiki.archlinux.org/index.php/Multiboot_USB_drive
#Fedora e Debian based menu entry - https://github.com/thias/glim/tree/master/grub2
insmod part_gpt
insmod part_msdos
insmod gzio
insmod ext2
insmod chain
insmod search_fs_uuid
insmod all_video
insmod gfxterm
insmod gettext
insmod png
insmod jpeg
set default=1
set timeout=15
if [ "${grub_platform}" == "efi" ]; then
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
set gfxpayload=keep
fi
#set gfxmode=auto
#Set Fontes
loadfont /boot/grub/fonts/unicode.pf2
set locale_dir=/boot/grub/locale
set lang=pt_BR
#Load theme
set theme=${prefix}/themes/starfield/theme.txt
export theme #para continuar em outros submenus
terminal_output gfxterm #carrega terminal grafico, necessario para mudar background
##Changing root partition
#set root=(hd0,2) || set root=(hd1,2)
set uuid="6ebf7a3b-394c-4d47-ad1e-2fc76b383d8c" #uuid partition iso's
export uuid
search --no-floppy --fs-uuid --set=root $uuid #troca particao root
set color_normal=light-green/black
set menu_color_normal=white/black
set menu_color_highlight=light-blue/white
background_image "/.default.png"
if [ "${grub_platform}" == "efi" ]; then #apenas para indicar o modo
menuentry 'Booting in UEFI Mode' {
fwsetup
}
elif [ "${grub_platform}" == "pc" ]; then
menuentry 'Booting in PC/Legacy Mode' {
reboot
}
fi
submenu 'Arch Based ->' {
menuentry 'Arch Linux 01/10/16 amd64' {
set imgdevpath="/dev/disk/by-uuid/$uuid"
set isofile="/distros/archlinux-2016.10.01-dual.iso"
echo 'Carregando Imagem ISO do sistema...'
loopback loop $isofile
echo 'Loading Kernel Image...'
linux (loop)/arch/boot/x86_64/vmlinuz root=UUID=$uuid archisodevice=/dev/loop0 img_dev=$imgdevpath img_loop=$isofile earlymodules=loop
echo 'Loading Initrd Image...'
initrd (loop)/arch/boot/x86_64/archiso.img
}
menuentry 'Manjaro Xfce 16.10.3 amd64' {
set uuid="1F0E-DB30" #a iso do manjaro esta em outra particao
search --no-floppy --fs-uuid --set=root $uuid #setando o root como a outra partição
set imgdevpath="/dev/disk/by-uuid/$uuid"
set isofile="/distros/manjaro-xfce-16.10.3-stable-x86_64.iso"
echo 'Carregando Imagem ISO do sistema...'
loopback loop $isofile
echo 'Loading Kernel Image...'
set options="misobasedir=manjaro misolabel=MJRO1610 nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 logo.nologo overlay=free"
linux (loop)/manjaro/boot/x86_64/manjaro root=UUID=$uuid archisodevice=/dev/loop0 img_dev=$imgdevpath img_loop=$isofile earlymodules=loop $options quiet splash
echo 'Loading Initrd Image...'
initrd (loop)/manjaro/boot/intel_ucode.img
initrd (loop)/manjaro/boot/x86_64/manjaro.img
}
menuentry 'Manjaro KDE 16.10.3 amd64' {
set imgdevpath="/dev/disk/by-uuid/$uuid"
set isofile="/distros/manjaro-kde-16.10.3-stable-x86_64.iso"
echo 'Carregando Imagem ISO do sistema...'
loopback loop $isofile
echo 'Loading Kernel Image...'
set options="misobasedir=manjaro misolabel=MJRO1610 nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 logo.nologo overlay=free"
linux (loop)/manjaro/boot/x86_64/manjaro root=UUID=$uuid archisodevice=/dev/loop0 img_dev=$imgdevpath img_loop=$isofile earlymodules=loop $options quiet splash
echo 'Loading Initrd Image...'
initrd (loop)/manjaro/boot/intel_ucode.img
initrd (loop)/manjaro/boot/x86_64/manjaro.img
}
}
submenu 'Ubuntu Based ->' {
menuentry 'Ubuntu 16.04.1 amd64' {
set uuid="1F0E-DB30" #iso em outra particao
search --no-floppy --fs-uuid --set=root $uuid #
set iso="/distros/ubuntu-16.04.1-desktop-amd64.iso"
echo 'Carregando Imagem ISO do sistema...'
loopback loop $iso
set bootoptions="boot=casper locale=pt_BR bootkbd=qwerty/br-abnt2 console-setup/layoutcode=br iso-scan/filename=$iso quiet splash"
echo 'Loading Kernel Image...'
linux (loop)/casper/vmlinuz.efi $bootoptions
echo 'Loading Initrd Image...'
initrd (loop)/casper/initrd.lz
}
menuentry 'Elementary OS 0.4 21/09/16 amd64' {
set iso="/distros/elementaryos-0.4-stable-amd64.20160921.iso"
echo 'Carregando Imagem ISO do sistema...'
loopback loop $iso
set bootoptions="boot=casper locale=pt_BR bootkbd=qwerty/br-abnt2 console-setup/layoutcode=br iso-scan/filename=$iso quiet splash"
echo 'Loading Kernel Image...'
linux (loop)/casper/vmlinuz $bootoptions
echo 'Loading Initrd Image...'
initrd (loop)/casper/initrd.lz
}
}
submenu 'Redes e Seguranca ->'{
menuentry 'Kali 2016.2 Xfce amd64'{
set iso="/distros/kali-linux-xfce-2016.2-amd64.iso"
loopback loop $iso
linux (loop)/live/vmlinuz boot=live findiso=$iso noconfig=sudo username=root hostname=kali
initrd (loop)/live/initrd.img
}
menuentry 'Tails i386' {
set iso="/distros/tails-i386-2.6.iso"
echo 'Carregando Imagem ISO do sistema...'
loopback loop $iso
set bootoptions="boot=live findiso=$iso components quiet splash"
echo 'Loading Kernel Image...'
linux (loop)/live/vmlinuz $bootoptions
echo 'Loading Initrd Image...'
initrd (loop)/live/initrd.img
}
}
menuentry 'Deepin 15.3 amd64' {
set iso="/distros/deepin-15.3-amd64.iso"
echo 'Carregando Imagem ISO do sistema...'
loopback loop $iso
set bootoptions="boot=live findiso=$iso components quiet splash"
echo 'Loading Kernel Image...'
linux (loop)/live/vmlinuz $bootoptions
echo 'Loading Initrd Image...'
initrd (loop)/live/initrd.lz
}
menuentry "Fedora 25 Mate Compiz x86_64" --class fedora {
set iso="/distros/Fedora-MATE_Compiz-Live-x86_64-25-1.3.iso"
search --set -f $iso
echo "Using ${iso}..."
loopback loop $iso
linux (loop)/isolinux/vmlinuz root=live:CDLABEL=Fedora-MATE-Live-25-1-3 rd.live.image iso-scan/filename=${iso} locale=pt_BR bootkbd=qwerty/br-abnt2 console-setup/layoutcode=br quiet splash
initrd (loop)/isolinux/initrd.img
}
menuentry 'openSUSE Live' {
set imgdevpath="/dev/disk/by-uuid/$uuid"
set iso="/distros/openSUSE_Krypton.x86_64-5.8.90-Build1.28.iso"
loopback loop $iso
linux (loop)/boot/x86_64/loader/linux isofrom_device=$imgdevpath isofrom_system=$iso LANG=pt_BR.UTF-8 console-setup/layoutcode=br quiet splash
echo Loading initrd...
initrd (loop)/boot/x86_64/loader/initrd
}
@morkin1792
Copy link
Author

TIP: Se for instalar o modo efi em um pc, montar o esp em /boot/efi (soh o efi-directory nao resolve)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment