¿Cómo arrancar desde imágenes ISO en vivo que no son de Ubuntu como Fedora o CentOS?

24

Descubrí que se puede hacer con loopback de la siguiente manera

menuentry "Lucid ISO" {
loopback loop (hd0,1)/boot/iso/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-10.04-desktop-i386.iso noprompt noeject
initrd (loop)/casper/initrd.lz
}

Pero solo funciona con ubuntu o sus derivados. ¿Cómo debería escribirse si quiero iniciar otras imágenes en vivo como fedora, ciento, opensuse, etc.?

Editar: encontré algunas otras entradas, pero probablemente todas estén basadas en Debian.

menuentry "Linux Mint 10 Gnome ISO" {
 loopback loop /linuxmint10.iso
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint10.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "DBAN ISO" {
 loopback loop /dban.iso
 linux (loop)/DBAN.BZI nuke="dwipe" iso-scan/filename=/dban.iso silent --
}


menuentry "Tinycore ISO" {
 loopback loop /tinycore.iso
 linux (loop)/boot/bzImage --
 initrd (loop)/boot/tinycore.gz
}


menuentry "SystemRescueCd" {
 loopback loop /systemrescuecd.iso
 linux (loop)/isolinux/rescuecd isoloop=/systemrescuecd.iso setkmap=us docache dostartx
 initrd (loop)/isolinux/initram.igz
}

Edit2: ¿Cómo encadenar grub y syslinux desde grub2 ?

Edit3: quiero iniciar otras imágenes en vivo sin ningún dispositivo extraíble y usar grub2 , así que necesito entradas de menú específicas para grub2 .

    
pregunta Rahul Virpara 25.05.2012 - 04:19

7 respuestas

19

Arrancar desde iso es una característica que debe ser admitida por la distribución, y la opción iso-scan/filename= no funcionará en Fedora u otros. Esos podrían tener otras opciones de kernel para esta característica o la característica puede no ser compatible en absoluto.

Encontré un método para arrancar el DVD de Fedora 16, aquí abajo.

Iniciando la ISO de DVD de Fedora 15 desde grub

menuentry "Fedora 15 (DVD)" {
 insmod loopback
 insmod iso9660
 set isofile="/Fedora-15-x86_64-DVD.iso"
 loopback loop (hd0,2)$isofile
 linux (loop)/isolinux/vmlinuz rootfstype=auto  root=live:UUID=:$isofile ro quiet
 initrd (loop)/isolinux/initrd.img
}

Supone que su archivo iso está en la raíz de la segunda partición del disco duro interno.

fuente: esta página

Puede buscar otra distribución en google, ya que no es una función independiente de la distribución.

Nota 1: También funcionó con Fedora 16, recién lo he probado.
Nota 2: parece que el método funcionó cuando colocaste el iso archivo en una partición grasa o ext4.

Arranque grml small iso desde grub2

Grml también se puede arrancar desde grub2. Tenga en cuenta que utiliza la opción findiso en lugar de iso-scan/filename , lo que indica que Booting from iso se implementa como diferentes opciones en diferentes distribuciones.

(menuentry "Grml small 2009.10" {
  loopback loop /boot/iso/grml-small_2009.10.iso
  linux (loop)/boot/grmlsmall/linux26 findiso=/boot/iso/grml-small_2009.10.iso apm=power-off lang=us vga=791 boot=live nomce noeject noprompt --
  initrd (loop)/boot/grmlsmall/initrd.gz
}

Esta página tiene varios ejemplos de otras distros que arrancan desde Grub2.

Arrancando openSUSE 13.1 en vivo desde iso

Esta es la única solución que funcionó (todos los demás me dieron un Error al encontrar el identificador de MBR y se detuvieron). En este ejemplo, la iso se coloca en la tercera partición del primer disco en el directorio /home/username/ .

menuentry "openSUSE_13.1_GNOME_Live" {
  load_video
  insmod gzio
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos3)'
  set isofrom_device='/dev/sda3'
  set isofrom_system='/home/username/openSUSE-13.1-GNOME-Live-i686.iso'
  set loader='/boot/i386/loader'
  loopback loop $isofrom_system
  linux   (loop)$loader/linux isofrom_device=$isofrom_device isofrom_system=$isofrom_system ramdisk_size=512000 ramdisk_blocksize=4096 ro quiet splash $vt_handoff preloadlog=/dev/null showopts
  initrd  (loop)$loader/initrd
}

Fuente es comentario de janeppo .

Fedora 17 Gnome Live Iso

Aquí está la entrada grub.cfg del menú de inicio para Fedora 17. la iso se coloca en la tercera partición del primer disco. También se cambia el nombre del archivo.

menuentry "Fedora Live" {
    loopback loop (hd0,3)/fedora.iso
    linux (loop)/EFI/BOOT/vmlinuz0 root=live:/fedora.iso rootfstype=auto ro liveimg quiet rhgb rd.luks=0 rd.md=0
    initrd (hd0,3)/initrd-fromiso
}

Última nota: creo que esta respuesta sirve de ejemplo. No debería elaborarse más con ejemplos.

    
respondido por el Anwar 27.05.2012 - 09:26
3

Aquí están los archivos iso que resolví arrancar usando grub2 .

He iniciado satisfactoriamente los siguientes ISOs

  • Ubuntu Precise Pangolin 12.04 ISO
  • SystemRescueCd
  • Herramienta de detección de hardware de arranque
  • Dos gratis
  • CD de arranque de Hiren
  • Ultimate Boot CD

Descubrí que si quieres arrancar otros ISO como Hiren's Boot CD, etc. puedes usar MEMDISK utility como kernel.

¿Dónde conseguir MEMDISK?

Descargue Syslinux desde aquí . Moverlo al escritorio.

¿Cómo hacer que funcione?

cd ~/Desktop/
tar xvif syslinux-4.05.tar.xz 
cd syslinux-4.05/memdisk/
sudo mkdir /customboot
sudo mv memdisk /customboot/
cd /customboot/
sudo mv memdisk memdisk4.05
gksudo gedit /etc/grub.d/40_custom 

Luego pegue las entradas debajo en gedit. Deberá cambiar set isofile="/path/to/iso-file.iso" .

Luego, emita update-grub . Reiniciar y verificar.

Mis entradas en 40_custom archivo.

menuentry "Ubuntu Natty Narwhal 11.04 ISO" {
    set isofile="/OS/ubuntu-11.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "Ubuntu Precise Pangolin 12.04 ISO" {
    set isofile="/OS/ubuntu-12.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "SystemRescueCd" {
    set isofile="/OS/systemrescuecd-x86-2.7.0.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/isolinux/rescuecd isoloop=$isofile setkmap=us docache dostartx
    initrd (loop)/isolinux/initram.igz
}
menuentry "Boot Hardware Detection Tool from iso using memdisk 4.05" {
    linux16 /customboot/memdisk4.05 iso
    initrd16 /customboot/hdt.iso
}
menuentry "Free Dos from iso using memdisk 4.05" {
    set isofile="/OS/fdbasecd.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Hiren's boot CD using memdisk 4.05" {
    set isofile="/OS/Hiren's.BootCD.10.1.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Ultimate Boot CD iso using memdisk 4.05" {
    set isofile="/OS/ubcd511.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}

Todos los ISO se mantienen en sda6/OS y MEMDISK en la partición donde ubuntu está instalado (en la raíz) y renombrado a memdisk4.05 por lo que la ruta es /customboot/memdisk4.05

nota: Fedora no funcionaba con la otra respuesta dada. Todavía estoy tratando de arrancar fedora :(.

    
respondido por el Rahul Virpara 09.06.2012 - 14:43
1

Lo que está preguntando está fuera de tema aquí, ya que requiere conocimiento de esos otros sistemas para poder configurar las entradas de grub para iniciarlas correctamente. Sí, es posible.

Sin embargo ... Encontrarás que Multi System es una herramienta competente para tener muchos ISO de distribución diferentes en una unidad USB grande. Creo que funciona muy bien, pero tendrás que instalarlo desde un PPA:

enlace

Lo uso para que pueda tener Gparted LiveUSB y otras herramientas, así como las de Ubuntu en un pendrive para InstallFests. Como extra, permite una pantalla de presentación personalizada para el menú, que he configurado para el logotipo del equipo australiano de LoCo.

Chris

Como se dijo, Multisystem usa Grub2 para hacer lo que quiera. Dado que este hilo fuera de tema se permite, o al menos se tolera, aquí está la entrada de Fedora desde mi Grub2 de Multisystem:

 menuentry "Fedora-15-i686-Live-Desktop.iso" {
 linux /fedora1/isolinux/vmlinuz0 live_locale=en_AU.UTF-8 live_keytable=us live_dir=/fedora1 root=UUID=493A-D2EF rootfstype=auto ro liveimg quiet rhgb rd_NO_LUKS rd_NO_MD noiswmd
 initrd /fedora1/isolinux/initrd0.img
 }

Tenga en cuenta que no puede iniciar directamente desde el ISO, ya que no es compatible, como lo es con las distribuciones basadas en Debian. Necesitará los archivos desempaquetados del ISO disponible en el disco duro de la siguiente manera:

chris@chris-office:/media/RED8/fedora1$ ls -l
total 563972
drwx------ 2 chris chris      4096 Feb 11  2011 isolinux
-rw-r--r-- 1 chris chris     43503 May 14  2011 livecd-iso-to-disk
-r--r--r-- 1 chris chris      8192 May 14  2011 osmin.img
-r--r--r-- 1 chris chris 577449984 May 14  2011 squashfs.img

Por supuesto, necesitará cambiar la ubicación del directorio / fedora / y el UUID de la partición desde la que está arrancando Fedora. Probablemente también deba cambiar el modo de montaje de ro a rw, así como cualquier otra cosa apropiada, como los permisos en los squashfs.

También es probable que pueda configurar un disco de persistencia virtual, aunque no veo ninguna razón por la cual no pueda montar su partición normal / doméstica. De nuevo, solo puedo sugerir que instales Multidisk y hagas la configuración tú mismo para aprender cómo hacerlo.

Chris

    
respondido por el fabricator4 27.05.2012 - 09:13
1

Parece que 13.04 requiere una sintaxis diferente para lograr esto. ¿Alguien ha ejecutado con éxito el ubuntu-13.04-desktop-amd64.iso desde un disco físico y le gustaría compartir la sintaxis de grub?

EDITAR: Respondió mi propia pregunta. Necesita cambiar el nombre de vmlinuz a mvlinuz.efi y funciona.

menuentry "Ubuntu-13.04-desktop-amd64.iso" --class ubuntu {
set isofile="/archives/ubuntu-13.04-desktop-amd64.iso"
loopback loop (hd1,6)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noeject noprompt --
initrd (loop)/casper/initrd.lz
}
    
respondido por el user130567 27.04.2013 - 13:03
1

Me parece que utilizar el loopback de grub2 es invaluable para probar nuevos isos sin requerir un dispositivo USB o grabarlo en un CD. Se han presentado errores contra Fedora para que funcione algo similar. Seguir el estado actual es un poco lento.

respondido por el grantbow 15.05.2013 - 21:58
0

Pruebe usar Multisystem, instale los CD en vivo que desee y luego copie los archivos a su / y combine grub.cfgs. (¡Realmente tengo curiosidad por ver si funcionaría!).

    
respondido por el WindowsEscapist 29.05.2012 - 22:23
0

desafortunadamente, ninguna de estas recomendaciones no me ayudó. Así que he encontrado el camino y me encantaría compartirlo contigo. Para arrancar centos, por ejemplo, necesita: Pon la imagen iso en el directorio. si su directorio raíz se montó en / dev / sda1, entonces cree dir / iso y ponga iso allí. vaya a la consola grub (cuando aparezca grub menú, presione 'c'.)

Elija el dispositivo apropiado: hd0 significa sda. Debe elegir uno donde se encuentra iso.

loopback loop (hd0,msdos1)/iso/Redhat.iso 
linux (loop)/isolinux/vmlinuz inst.repo=hd:sda1:/iso/Redhat.iso 
initrd (loop)/isolinux/initrd.img 
boot

¡Y arranca!

    
respondido por el Дмитрий Бод 23.08.2017 - 19:48

Lea otras preguntas en las etiquetas