Você pode conseguir algo com kexec
.
Sim, kexec
se destina a inicializar os kernels, mas nada o impede de kexec
'para qualquer binário (um binário "estaticamente linkado" que não dependa de bibliotecas ou de um sistema operacional existente e se destina a executar sob condições de pré-inicialização) que você quer, seja um gerenciador de inicialização ou mesmo memtest86 - essa página fala sobre alguns das armadilhas em que você pode cair. Por exemplo, se for um carregador de inicialização no modo de texto, você deve voltar ao modo de texto antes de emitir kexec
.
Se você estiver usando Debian, o kexec-tools
ou o que quer que seja, executa praticamente todas as etapas normais de desligamento, incluindo a mudança para o modo de texto, antes de emitir o comando kexec
.
O que o kexec
não fará é inicializar uma imagem de disco ou disco, mas você pode extrair o bootloader do CD e passá-lo para o kexec. Se o CD de boot estiver na unidade, não vejo por que não funcionaria, mas ainda não tentei.
Descompactar um .iso na RAM e fazer com que o bootloader do .iso seja executado a partir dele sem que o bootloader esteja ciente da situação seria tecnicamente possível, mas extremamente difícil. Não conheço nenhum utilitário capaz disso e não acredito que exista algum.