Last active
December 28, 2018 00:05
-
-
Save morkin1792/233564e9f3c4ad9cca11db36ec1ed2a1 to your computer and use it in GitHub Desktop.
grub multiboot com tudo funcionando
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
TIP: Se for instalar o modo efi em um pc, montar o esp em /boot/efi (soh o efi-directory nao resolve)