¿Cómo puedo iniciar en un archivo ISO en GRUB? El archivo ISO está en una partición reiserfs y GRUB puede acceder a él (ya lo probé).
¿Cómo puedo iniciar en un archivo ISO en GRUB? El archivo ISO está en una partición reiserfs y GRUB puede acceder a él (ya lo probé).
Respuestas:
El mayor problema con el inicio de un archivo ISO es que los ISO diseñados para iniciarse casi siempre están diseñados para iniciarse desde un CD . Como se explica en el blog de Marco sobre Grub 2 (el énfasis es mío):
GRUB puede leer imágenes ISO9660 ("iso"). Puede, por ejemplo, cargar los primeros sectores y arrancarlo. Pero la mayoría de las personas no se dan cuenta es "¿qué, entonces? ¿Qué haría el sistema operativo cargado? Lo más probable es que busque un CDROM, que no encontrará, y fallará.
Entonces, la forma más simple de arrancar desde un archivo ISO aleatorio es cargarlo en una máquina virtual (VirtualBox, VMware o Virtual PC) como un CD virtual y arrancarlo allí. Eso casi siempre debería funcionar, porque para la VM, no es un archivo ISO, es un CD real en hardware de CD real.
Arrancar desde un archivo ISO en metal desnudo es mucho más difícil. La forma de hacerlo depende de la versión de Grub que esté usando, y los resultados pueden diferir dependiendo de qué ISO esté usando y cómo se configuró para arrancar. Esta es la razón por la cual la mayoría de las herramientas de arranque ISO desde USB (Unetbootin, WinToFlash, etc.) generalmente extraen los contenidos ISO en la unidad, porque de esa manera se puede acceder directamente, sin confundir el sistema operativo que se está iniciando.
... no es seguro. Si es posible, las entradas del menú probablemente se parecerán mucho a Grub4DOS, aunque creo que el comando "map - gancho" es una mejora de Grub4DOS. En el lado positivo, Grub tiene un soporte de sistema de archivos más amplio que Grub4DOS.
Una nota sobre Grub con reiserfs (sin confirmar) indica que "tiene que montar su partición notail
para que funcione".
Memdisk es una opción; vea abajo.
Grub4DOS ofrece algunas "emulaciones de CD" experimentales que funcionan con algunos ISO. Desafortunadamente, Grub4DOS solo lee los sistemas de archivos FAT32 / NTFS. Descargar Grub4DOS.
Aquí hay una entrada de muestra ( fuente ):
title fdfullcd.iso (0xFF)
find --set-root /fdfullcd.iso
map /fdfullcd.iso (0xFF)
map --hook
root (0xFF)
kernel /isolinux/data/memdisk
initrd /isolinux/data/fdboot.img
Supuestamente, el ISO de Win7 se puede iniciar con esta entrada :
title Windows 7
map (hd0,0)/win7.iso (hd32)
map --hook
chainloader (hd32)
Se pueden arrancar otros ISO con Memdisk :
title Boot Hardware Detection Tool from iso image (with 'iso' parameter)
kernel /memdisk iso
initrd /hdt.iso
También puede usar un configurador de menú como MultiBootISOs.exe de PenDriveLinux . Coloque los ISO en la unidad flash y ejecute la utilidad para instalar el gestor de arranque y configurar el menú de arranque.
Aquí hay un episodio de Hak5 sobre la instalación de Grub4DOS.
Aquí hay un par de entradas Grub2 de ejemplo. chainloader no funciona para iniciar un ISO en este momento, por lo que estas entradas deben (1) usar loopback para "montar" el ISO y (2) agregar algo como iso-scan o findiso a la línea de Linux que especifica el archivo ISO.
Desafortunadamente, no hay una forma genérica de hacer esto. Cada entrada de arranque diferente debe personalizarse según el contenido del ISO de destino. La mayoría de los LiveCD de Linux usan ISOLINUX como gestor de arranque; encuentre el isolinux.cfg y examine esa entrada de arranque para ver qué suele arrancar.
Entradas de ejemplo ( fuente ):
menuentry "Ubuntu Live 9.10 32bit" {
loopback loop /boot/iso/ubuntu-9.10-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-9.10-desktop-i386.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
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
}
Si está intentando arrancar un LiveCD que no sea Linux, puede que no tenga suerte. De nuevo, Memdisk puede ayudar :
menuentry "Boot Hardware Detection Tool from iso" {
linux16 /memdisk iso
initrd16 /hdt.iso
}
Puede usar dd desde el terminal para escribir un archivo iso en una partición. Solo tenga cuidado, si usa dd incorrecto, puede borrar todo. Debería verse así: dd if = Desktop / LinuxCDFile.iso of = / Path / To / Partition