MultiBootISOs é uma ferramenta que permite instalar o Grub em uma unidade flash USB. Eu realmente gosto disso, porque me permite inicializar a partir de arquivos ISO e me permite colocar um monte de ISOs no meu USB e escolher qual inicializar.
O problema é que esta é uma ferramenta do Windows e não sei como fazê-lo através das linhas de comando. Também gostaria de saber como instalar o Grub (2) dessa maneira, o Grub Legacy parece ser mais fácil ...
Edição: Eu não estou pedindo uma ferramenta (e definitivamente não é uma ferramenta do Windows). Quero conhecer os comandos que tenho que executar para ter os mesmos efeitos. Estou com o Ubuntu em mente agora, mas se houver uma maneira geral de inicializar qualquer ISO no USB, isso seria melhor.
Você me deixou curioso como isso seria feito. O site do Pendrivelinux teve um tutorial Eu fiz isso na minha instalação do Mint 9 em vez de um CD ao vivo, como o site sugere.
Comecei com a localização da minha unidade USB em um terminal em que corri df
ela retornou a localização do dispositivo como
/dev/sdg1 /media/LINUXUSB
depois disso eu corri
Sudo su
e depois instalar o grub 2
grub-install --no-floppy --force --root-directory=/media/LINUXUSB /dev/sdg1
Eu tive que usar --force adicionalmente, o exemplo no site não. Então eu fiz
cd /media/LINUXUSB/boot/grub
O site forneceu um link para baixar uma cópia do grub.cfg no diretório/boot/grub na minha unidade USB. O link foi
wget http://pendrivelinux.com/downloads/grub.cfg
Depois disso, editei o grub.cfg para refletir os iso na minha unidade USB.
set timeout=10 set default=0
menuentry "Run Fedora" {
loopback loop /Fedora13.iso
linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=/Fedora13.iso splash --
initrd (loop)/isolinux/initrd0.img
}
menuentry "Run Ubuntu" {
loopback loop /ubuntu-10.04-netbook-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-netbook-i386.iso splash --
initrd (loop)/casper/initrd.lz
}
menuentry "Run Clonezilla" {
loopback loop /clonezilla.iso
linux (loop)/live/vmlinuz boot=live iso-scan/filename=/clonezilla.iso splash --
initrd (loop)/live/initrd.img }
Eu descobri que nos diferentes iso's, vmlinuz e initrd estavam localizados em um diretório diferente. Consegui que os três iniciassem o processo de inicialização; mas, apenas o Ubuntu realmente carrega. Se eu descobrir o que preciso para que os outros dois terminem o carregamento, acrescentarei isso mais tarde. Eu não tentei nenhum outro iso é apenas esses três.
Tutorial completo do GRUB2 Bootloader é um bom local para iniciar configurações de inicialização múltipla com o GRUB2.
Se você estiver familiarizado com o GRUB, vá direto para a seção 5th ou 6th .
Há também uma pergunta de superusuário em Configurando um sistema de inicialização múltipla com o GRUB .
Há também uma página da comunidade Ubuntu MultiOSBoot , que sugere que você deve seguir o Legacy GRUB.
A técnica funciona em unidades flash muito desde que sua máquina possa inicializá-las.
Eu tenho trabalhando com flash drives há algum tempo .
Finalmente encontrei um script que realmente funciona ao inicializar o Fedora 18 iso do usb: http://git.marmotte.net/git/glim/plain/Fedora18-fromiso
Os detalhes estão aqui: http://git.marmotte.net/git/glim/plain/README
passei horas na internet tentando descobrir como gerar um grub.cfg funcionando para um disco removível.
finalmente, com base no script de aqui , criei meu script de trabalho (o conteúdo abaixo é do grub.cfg):
### inputs ###
set UUID_ESP="E8C0-B8AE"
set UUID_ISO="c11f533e-a298-4381-950a-5d6d1f7f5907"
### end ###
search --no-floppy --set=ESP --fs-uuid $UUID_ESP # the address of the ESP
set ESP=($ESP) # add parentheses
echo "The address of the ESP is $ESP"
search --no-floppy --set=ISO_PART --fs-uuid $UUID_ISO # the address of the ISO partition
set ISO_PART=($ISO_PART) # add parentheses
echo "The partition on the flash drive with the iso is $ISO_PART"
echo "the prefix is $prefix" # GRUB folder with modules
sleep 5
insmod efi_gop
insmod font
if loadfont $ESP/boot/grub/fonts/unicode.pf2
then
insmod gfxterm
set gfxmode=auto
set gfxpayload=keep
terminal_output gfxterm
fi
menuentry "Arch_linux_iso" {
set ISOFILE="/archlinux-2019.10.01-x86_64.iso"
loopback loop ${ISO_PART}${ISOFILE}
linux (loop)/Arch/boot/x86_64/vmlinuz img_dev=/dev/disk/by-uuid/$UUID_ISO img_loop=$ISOFILE
initrd (loop)/Arch/boot/intel_ucode.img (loop)/Arch/boot/AMD_ucode.img (loop)/Arch/boot/x86_64/archiso.img
}