Sí, puede lograr esto agregando una entrada de menú al GRUBmenú del cargador de arranque.
Puede agregar una entrada de menú GRUB personalizada editando /etc/grub.d/40_custom,
Ejemplo de menuentry personalizado :
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Trisquel ISO" {
set isofile="/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso"
loopback loop (hd0,5)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
initrd (loop)/casper/initrd
}
Instrucción y explicación:
El comando setse usa para almacenar la ruta del archivo ISO en una variable, aquí isofile.
loopbackse usa para hacer un dispositivo a partir de una imagen del sistema de archivos. Para hacer eso, es necesario especificar el dispositivo y el archivo de imagen. Aquí utilizamos (hd0,5)$isofileen el que (hd0,5)representa la quinta partición del disco.
- Puntos a Nota: En
(hd0,5),
1 st dígito representa el número de dispositivo que comienza a partir de 0(aquí: 0 = 1 st dispositivo) y
2 nd dígito representa el número de partición que se inicia a partir de 1(aquí 5 = 5 º partición).
Eso significa/dev/sda5
- Y variable
$isofiletiene la ruta del archivo ISO. Entonces, finalmente se convierte (hd0,5)/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso.
- Para obtener más información, visite: Cómo especificar dispositivos y archivos .
linuxEl comando se utiliza para cargar el kernel de Linux ( vmlinuz ) desde el archivo. Ponga la ruta del kernel de Linux en la ISO.
Lea / extraiga el contenido de ISO para obtener la ruta del ejemplo del núcleo:
$ 7z l trisquel_7.0_i686.iso | grep vmlinu
2014-10-29 21:41:43 ..... 5841680 5841680 casper/vmlinuz
2014-11-03 00:45:09 ..... 5844176 5844176 casper/vmlinuz.netinst
entonces, /casper/vmlinuzfue usado aquí.
initrd El comando se utiliza para cargar un disco RAM inicial para una imagen del kernel de Linux y establecer los parámetros apropiados en el área de configuración de Linux en la memoria.
- initrd es un esquema para cargar un sistema de archivos raíz temporal en la memoria. Ponga el camino de
initrden el ISO.
Lea / extraiga el contenido de ISO para obtener la ruta de initrd:
$ 7z l trisquel_7.0_i686.iso | grep initrd
2014-11-03 00:45:19 ..... 16851900 16851900 casper/initrd
2014-11-03 00:45:09 ..... 9398592 9398592 casper/initrd.netinst
El parámetro adicional tal como boot=casper iso-scan/filename=$isofile noprompt noejectpuede ser específico para una distribución GNU / Linux y puede variar para otra familia de Linux. Puede encontrar algunas configuraciones para diferentes familias / distribución desde aquí .
Nota: Algunas distribuciones usan initrd.gzo initrd.lzdependen del algoritmo / compresión utilizado.
Después de editar /etc/grub.d/40_custom, GRUB necesita ser actualizado por update-grub2comando. Al reiniciar, encontrará el menú personalizado que ha agregado en la pantalla GRUB. Y puede usar el entorno Live de una distribución GNU / Linux.
Para realizar la instalación desde ISO, el instalador puede necesitar desmontar cualquier partición montada; es decir, si hay otro sistema montado /isodevice, entonces puede hacerlo umount -l /isodevice.