Eu descobri que o problema é a sintaxe do grub2 alterada. siga este link e encontre sua entrada no grub para inicializar, ainda há algumas linhas que você precisará preencher para trabalhar.
http://git.marmotte.net/git/glim/tree/grub2
Eu sigo o guia de inicialização ISO do Grub2
aqui está o meu menu para inicialização iso
menuentry "Ubuntu 14.04 Live" {
set isofile="/lilw/os/ubuntu.iso"
loopback loop (hd0,10)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}
mas eu não consegui arrancar a partir do arquivo iso, ele sempre faz o meu sistema reiniciar.Nenhuma mensagem dando para fora, então eu não sei o que acontece.
Se eu entrar no menu do grub e depois usar o comando
grub >
digitando estes comandos de acompanhamento:
grub > loopback loop (hd0,10)/lilw/os/ubuntu.iso
grub > linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject
grub > initrd (loop)/casper/initrd.lz
e depois
grub > boot
ele irá inicializar o iso normalmente.
Eu não quero inicializar dessa maneira. Mas o menuentry no grub não funciona.
FYI: Eu tenho várias versões do ubuntu rodando no meu sistema, variando de 10.04 até o mais recente. Meu armazenamento de arquivo iso em sda10 que é um / home para o ubuntu atual.
Editar 1 : Eu extraio o conteúdo do arquivo iso, mas ainda não consigo inicializar com o Ubuntu. Mas eu posso inicializar com o Fedora 20 quando extraí-lo para uma pasta, estranho ...
Editar 2 : Finalmente eu encontro um site que ajuda com a nova sintaxe de comando do grub2. toda a inicialização com falha é por causa da sintaxe errada no grub2
EXPERIMENTE : resolvi meus problemas
Assim, minha entrada no menu do grub ficará assim:
menuentry "Ubuntu 14.04 (LTS) Live Desktop amd64" --class ubuntu {
set isoname="ubuntu-14.04-desktop-amd64.iso"
set isofile="/lilw/os/${isoname}"
loopback loop (hd0,10)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
initrd (loop)/casper/initrd.lz
}
se eu sentir falta dos dois '{}' do isofile ele não será inicializado. tão estranho
Eu descobri que o problema é a sintaxe do grub2 alterada. siga este link e encontre sua entrada no grub para inicializar, ainda há algumas linhas que você precisará preencher para trabalhar.
http://git.marmotte.net/git/glim/tree/grub2
Tente isso
menuentry "Ubuntu 14.04 Live" {
loopback loop (hd0,10)/lilw/os/ubuntu.iso
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/lilw/os/ubuntu.iso noprompt noeject
initrd (loop)/casper/initrd.lz
}
/live
: sudo mkdir /live
sudo cp somelinux.iso /live
grub.cfg
sudo gedit /etc/grub.d/40_custom
menuentry 'ISO Ubuntu 14.04 2014 Live' --class os --class gnu-linux --class gnu --class os --group group_main {
set isofile="/live/ubuntu-14.04-desktop-amd64.iso"
insmod ext2
insmod loopback
insmod iso9660
loopback loop (hd0,msdos5)$isofile
linux (loop)/casper/vmlinuz.efi file=(loop)/cdrom/preseed/ubuntu.seed noprompt boot=casper persistent iso-scan/filename=/$isofile quiet splash --
initrd (loop)/casper/initrd.lz
}
PARA FAZER:
altere a entrada do menu acima do nome do código da sua partição, mantendo /live/somelinux.iso
, no meu caso é hd0,msdos5
porque está em /dev/sda5
/
altere o nome do arquivo de somelinux.iso para o seu, no meu caso eu tenho: ubuntu-14.04-desktop-amd64.iso
sudo update-grub