Sí, puede lograr esto agregando una entrada de menú al GRUB
menú 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 set
se usa para almacenar la ruta del archivo ISO en una variable, aquí isofile
.
loopback
se 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)$isofile
en 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
$isofile
tiene 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 .
linux
El 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/vmlinuz
fue 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
initrd
en 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 noeject
puede 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.gz
o initrd.lz
dependen del algoritmo / compresión utilizado.
Después de editar /etc/grub.d/40_custom
, GRUB necesita ser actualizado por update-grub2
comando. 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
.