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.
Grub 1
... 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 notailpara que funcione".
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 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.
@albert: estoy usando Grub2 en una unidad flash y estoy frustrado por las mismas cosas, así que no fue difícil armarlo. Estoy investigando su otra pregunta, pero nunca he intentado "grabar" un ISO en una partición antes, por lo que puede ser ... interesante.
quack quijote
Ofc puedo arrancarlo dentro de VMware (y ya lo hice) pero eso no me ayuda mucho porque es Windows y cuando lo instalo a través de VMware en mi disco, no arrancará más tarde (Windows estúpido ...).
Albert
¿Me puede sugerir qué opción debería probar primero, es decir, Grub1, Grub2 o Grub4DOS? Solo puedo instalar lo que sea necesario, ese no será realmente el problema.
@quackquixote, con respecto a sus palabras en negrita "¿Qué haría el sistema operativo cargado? Lo más probable es que busque un CDROM, que no encontrará, y fallará" , ¿Por qué el sistema operativo necesita buscar un CDROM? Ya es un archivo iso perfecto y todo lo que se necesita para cargar el sistema operativo ya está dentro del archivo iso, entonces, ¿por qué no puede omitir la búsqueda de CDROM?
Pacerier
1
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
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):
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.
Grub 1
... 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
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 ):
Supuestamente, el ISO de Win7 se puede iniciar con esta entrada :
Se pueden arrancar otros ISO con Memdisk :
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.
Grub 2
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 ):
Si está intentando arrancar un LiveCD que no sea Linux, puede que no tenga suerte. De nuevo, Memdisk puede ayudar :
fuente
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
fuente