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

26

Descubrí que se puede hacer de la loopbacksiguiente 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 se debe escribir si quiero arrancar 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 gruby syslinuxdesdegrub2 ?

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

Rahul Virpara
fuente
1
Esto no está fuera de tema, aún así el intercambio de la pila de Unix y Linux es mejor unix.stackexchange.com
Tachyons
@Rinzwind, ¿cómo?
Tachyons
2
La pregunta es sobre fedora, centOS y opensuse. No se trata de Ubuntu. @abcd
Rinzwind
2
Por cierto: Fedora no es capaz de hacer esto. CentOS es básicamente Fedora. dracuttiene una solicitud de función en su contra y necesita ser parcheado para esto. Puede encontrar este parche en
bugzilla.redhat.com
2
Posible duplicado? askubuntu.com/questions/121212/…
fossfreedom

Respuestas:

19

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

He encontrado un método para arrancar el DVD de Fedora 16, aquí está abajo.

Arrancando Fedora 15 DVD iso desde grub

menuentry "Fedora 15 (DVD)" {
 bucle invertido insmod
 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
}

Se 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 característica independiente de la distribución.

Nota 1: También funcionó con Fedora 16, lo acabo de probar.
Nota 2: Parece que el método funcionó cuando coloca el archivo iso en una partición fat o ext4.


Arranque grml small iso de grub2

Grml también se puede iniciar desde grub2. Tenga en cuenta que usa la findisoopción en lugar de la iso-scan/filenameopción, lo que indica que el arranque desde 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 distribuciones de arranque desde Grub2.


Arranque de openSUSE 13.1 Live desde iso

Aquí está la única solución que funcionó (todos los demás me dieron un error al encontrar el identificador 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" {
  carga_video
  insmod gzio
  insmod part_msdos
  insmod ext2
  establecer 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
}

La fuente es el comentario de janeppo .


Fedora 17 Gnome Live Iso

Aquí está la entrada del menú de arranque grub.cfg 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 como ejemplo. No debería elaborarse más con ejemplos.

Anwar
fuente
Intenté la entrada anterior para fedora 15 pero no funcionó. ¿Alguna conjetura?
Rahul Virpara
mis miradas entrada como esta pastebin.com/1ksBVu21
Rahul Virpara
3

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

He arrancado con éxito los siguientes ISO

  • 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 ISOs como Hiren's Boot CD, etc., puedes usar la MEMDISKutilidad como kernel.

¿Dónde obtener MEMDISK?

Descarga 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 siguientes entradas en gedit. Tendrás que cambiar set isofile="/path/to/iso-file.iso".

Entonces emitir update-grub. Reiniciar y verificar.

Mis entradas en el 40_customarchivo.

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 sda6/OSy MEMDISKse mantienen en la partición donde está instalado ubuntu (en la raíz) y se le cambia el nombre para memdisk4.05que la ruta sea/customboot/memdisk4.05

nota: fedora no funcionó con la otra respuesta dada. Todavía estoy intentando arrancar fedora :(.

Rahul Virpara
fuente
Tenga en cuenta que al cargar archivos ISO con memdisk y grub initrd16, el archivo ISO debe ser menor de 462 MB. Mensajes de error relacionados: grub: error: no se pudo encontrar el destino de memoria adecuado , memdisk: MEMDISK: no se especificó ninguna imagen de ramdisk . Para más detalles ver aquí y aquí .
gregn3
2

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: Ponga la imagen iso en el directorio. si su directorio raíz está montado en / dev / sda1, cree dir / iso y coloque iso allí. vaya a la consola de grub (cuando aparezca grub de menú, presione 'c').

Elija el dispositivo apropiado: hd0 significa sda. Debe elegir uno donde se encuentra su 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 bota!

Дмитрий Бод
fuente
1

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

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

http://www.pendrivelinux.com/multiboot-create-a-multiboot-usb-from-linux/

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

Chris

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

 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 arrancar directamente desde la ISO ya que no es compatible ya que es con distribuciones basadas en Debian. Necesitará los archivos desempaquetados de la ISO disponibles 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, deberá cambiar la ubicación del directorio / fedora / y el UUID de la partición desde la que está arrancando Fedora. Probablemente también debería cambiar el modo de montaje de ro a rw, así como cualquier otra cosa apropiada, como los permisos en los squashfs.

Probablemente también pueda configurar un disco de persistencia virtual, aunque no veo ninguna razón por la que no pueda montar su partición normal / doméstica. Nuevamente, solo puedo sugerirle que instale Multidisk y haga la configuración usted mismo para aprender cómo hacerlo.

Chris

fabricante4
fuente
la pregunta es cómo crear una entrada en el existente, GRUB2no cómo hacer un pendrive de arranque o un disco duro externo que tenga diferentes distribuciones. Por cierto, requiere un mejor conocimiento GRUB2que otras distribuciones, por lo que en realidad es una cuestión relacionada con GRUB(porque algunas distribuciones todavía usan GRUB) o GRUB2.
Rahul Virpara
1
Diría que hacer entradas de grub para distribuciones como Fedora, Centos y Suse están mucho más relacionadas con esas distribuciones que con grub, y ciertamente no tiene nada que ver con Ubuntu.
fabricator4
1
@virpara: Tampoco especificó que está iniciando ISO desde el disco duro; la razón más razonable para querer arrancar varios LiveISO es tener un dispositivo de instalación que haga todo. No somos lectores de la mente, ni expertos en otras distribuciones. Por último, si realmente instala y usa MultiSystem para hacer un pendrive de esta manera, le mostrará cómo hacerlo: usa grub2 para lograr los resultados que desea.
fabricante4
1

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

EDITAR: Respondí 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
}
usuario130567
fuente
0

¡Intente usar Multisystem, instale los liveCD que desee y luego copie los archivos en su / y combine grub.cfgs! (¡Tengo curiosidad por ver si funcionaría!).

WindowsEscapist
fuente