it-swarm-es.tech

Instalación de Grub 2 en una unidad flash USB

MultiBootISOs es una herramienta que le permite instalar Grub en una unidad flash USB. Realmente me gusta porque me permite arrancar desde archivos ISO y me permite poner un montón de ISO en mi USB y elegir cuál arrancar.

El problema es que esta es una herramienta de Windows y no sé cómo hacerlo a través de las líneas de comando. También me gustaría saber cómo instalar Grub (2) de esta manera, Grub Legacy parece ser más fácil ...

EDITAR: no estoy pidiendo una herramienta (y definitivamente no una herramienta de Windows). Quiero saber los comandos que tengo que ejecutar para tener los mismos efectos. Estoy pensando en Ubuntu en este momento, pero si hay una forma general de arrancar cualquier ISO en el USB, sería mejor.

30
phunehehe

Me tienes curiosidad de cómo se haría esto. El sitio Pendrivelinux tenía un tutorial Hice esto desde mi instalación de Mint 9 en lugar de un CD en vivo como sugiere el sitio.

Comencé a encontrar la ubicación de mi unidad USB en un terminal que ejecuté df devolvió la ubicación del dispositivo como

/dev/sdg1   /media/LINUXUSB

después de eso corrí

Sudo su

y luego instalar grub 2

grub-install --no-floppy --force --root-directory=/media/LINUXUSB /dev/sdg1

Tuve que usar --force adicionalmente, el ejemplo en el sitio no lo hizo. Entonces lo hice

cd /media/LINUXUSB/boot/grub

El sitio proporcionó un enlace para descargar una copia de grub.cfg al directorio/boot/grub en mi unidad USB. El enlace fue

wget http://pendrivelinux.com/downloads/grub.cfg

Después de eso edité grub.cfg para reflejar las iso en mi unidad 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 }

Descubrí que en las diferentes iso, vmlinuz e initrd estaban ubicadas en un directorio diferente. Pude obtener los tres para iniciar el proceso de arranque; pero, solo Ubuntu para cargar realmente. Si descubro lo que necesito para que los otros dos terminen de cargar, lo agregaré más tarde. No he probado ninguna otra iso, solo estas tres.

18
Steve Burdine

Tutorial completo de GRUB2 Bootloader es un buen lugar para comenzar en configuraciones de arranque múltiple con GRUB2.
Si está familiarizado con GRUB, salte directamente a la sección 5to o 6to .

También hay una pregunta de Superusuario sobre Configuración de un sistema de arranque múltiple con GRUB .
También hay una página de la comunidad Ubuntu MultiOSBoot que sugiere que debes apegarte al Legacy GRUB.

La técnica también funciona en unidades flash siempre que su máquina pueda arrancar desde ellas.
He estado trabajando en unidades flash por algún tiempo .

5
nik

Finalmente encontré un script que realmente funciona iniciando Fedora 18 iso desde usb: http://git.marmotte.net/git/glim/plain/Fedora18-fromiso

Los detalles están aquí: http://git.marmotte.net/git/glim/plain/README

0
valentt

pasé horas en Internet tratando de encontrar cómo generar un grub.cfg que funcione para un disco extraíble.

finalmente basado en el script de aquí , hice mi script de trabajo (el siguiente es el contenido de 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
}
0
user3804598