Sim, você pode fazer isso adicionando uma entrada de menu ao menu do carregador de inicialização GRUB
.
Você pode adicionar uma entrada de menu do GRUB personalizada editando /etc/grub.d/40_custom
,
Exemplo de menus personalizados :
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
}
Instrução & Explicação:
-
O comando
set
é usado para armazenar o caminho do arquivo ISO em uma variável, aquiisofile
. -
loopback
é usado para fazer uma dispositivo a partir de uma imagem do sistema de arquivos. Para fazer isso, é necessário especificar o dispositivo e o arquivo de imagem. Aqui usamos(hd0,5)$isofile
em que(hd0,5)
representa a quinta partição do disco.- Pontos a serem observados: Em
(hd0,5)
, o dígito st representa o número do dispositivo que começa com0
(aqui: 0 = 1 st device ) e
2 nd digit representa o número da partição que começa a partir de1
(aqui 5 = 5 th partição).
Isso significa/dev/sda5
- A variável
$isofile
tem o caminho do arquivo ISO. Então, finalmente, torna-se(hd0,5)/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso
. - Para obter mais informações, visite: Como especificar dispositivos e arquivos .
- Pontos a serem observados: Em
-
O comando
linux
é usado para carregar Kernel Linux ( vmlinuz ) do arquivo. Coloque o caminho do kernel Linux no ISO.-
Leia / extraia o conteúdo do ISO para obter o caminho do exemplo do kernel:
$ 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
então,
/casper/vmlinuz
foi usado aqui.
-
-
O comando
initrd
é usado para carregar um ramdisk inicial para uma imagem do kernel do Linux e defina os parâmetros apropriados na área de configuração do Linux na memória.-
O initrd é um esquema para carregar um sistema de arquivos raiz temporário na memória. Coloque o caminho de
initrd
no ISO. -
Leia / extraia o conteúdo do ISO para obter o caminho 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
-
O initrd é um esquema para carregar um sistema de arquivos raiz temporário na memória. Coloque o caminho de
-
O parâmetro adicional, como
boot=casper iso-scan/filename=$isofile noprompt noeject
, pode ser específico de uma distribuição GNU / Linux e variar para outra família de Linux. Você pode encontrar algumas configurações para diferentes famílias / distribuições em aqui .Nota: Algumas distribuições usam
initrd.gz
ouinitrd.lz
dependendo do algoritmo / compactação usado.
Após editar /etc/grub.d/40_custom
, o GRUB precisa ser atualizado pelo comando update-grub2
. Após a reinicialização, você encontrará a lista personalizada do menu que você adicionou na tela do GRUB. E você pode usar o ambiente Live de uma distribuição GNU / Linux.
Para realizar a instalação a partir do ISO, o instalador pode precisar desmontar quaisquer partições montadas; ou seja, digamos que outro sistema esteja montado em /isodevice
, então você pode umount -l /isodevice
.
Espero que isso ajude.