A maioria das distros Linux oferece um ambiente live, que você pode inicializar de uma unidade USB, para testar o sistema sem instalar. Você pode usá-lo para avaliar a distro ou como um sistema operacional descartável. Embora seja fácil copiá-los para um disco USB, em certos casos pode-se querer rodar a mesma imagem ISO com freqüência ou rodar diferentes regularmente. GRUB 2 pode ser configurado para que você não precise gravar os ISOs em disco ou usar uma unidade USB, mas precisa executar um ambiente ao vivo diretamente do menu de inicialização.
Obtenção e verificação de imagens ISO inicializáveis
Para obter uma imagem ISO, normalmente você deve visitar o site da distribuição desejada e fazer o download de qualquer imagem compatível com sua configuração. Se a imagem pode ser iniciada a partir de um USB, também deve ser possível iniciar a partir do menu GRUB.
Quando o download da imagem terminar, você deve verificar sua integridade executando uma verificação simples do MD5. Isso resultará em uma longa combinação de números e caracteres alfanuméricos
que você pode comparar com a soma de verificação MD5 fornecida na página de download. Os dois devem ser idênticos.
Configurando GRUB 2
As imagens ISO contêm sistemas completos. Tudo que você precisa fazer é direcionar o GRUB2 para o arquivo apropriado e informar onde ele pode encontrar o kernel e o initramdisk ou sistema de arquivos initram (dependendo de qual deles sua distribuição usa).
Neste exemplo, um ambiente live Kubuntu 15.04 será configurado para rodar em uma caixa Ubuntu 14.04 como um item de menu do Grub. Deve funcionar para a maioria dos sistemas e derivados mais recentes baseados no Ubuntu.
Neste exemplo, o arquivo kubuntu-15.04-desktop-amd64.iso
mora em /home/maketecheasier/TempISOs/
em /dev/sda1
.
Para fazer o GRUB2 procurar por ele no lugar certo, você precisa editar o
/etc/grub.d/40_custom
arquivo que permite adicionar suas próprias entradas de menu. O arquivo já deve existir e conter algumas linhas.
Para iniciar o Kubuntu a partir do local acima, adicione o seguinte código (depois de ajustá-lo às suas necessidades) abaixo da seção comentada, sem modificar o conteúdo original.
menuentry "Kubuntu 15.04 ISO" { set isofile="/home/maketecheasier/TempISOs/kubuntu-15.04-desktop-amd64.iso" loopback loop (hd0,1)$isofile echo "Starting $isofile..." linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash initrd (loop)/casper/initrd.lz }
Quebrando o código acima
Primeiro configure uma variável chamada $menuentry
. É aqui que o arquivo ISO está localizado. Se você quiser mudar para um ISO diferente, você precisa mudar a parte onde diz set isofile="/path/to/file/name-of-iso-file-.iso"
.
A próxima linha é onde você especifica o dispositivo de loopback; você também precisa fornecer o número de partição correto. Esta é a parte onde diz
loopback loop (hd0,1)$isofile
Note o hd0,1
mordeu; é importante. Isso significa primeiro HDD, primeira partição (/dev/sda1
)
A nomenclatura do GRUB aqui é um pouco confusa. Para HDDs, ele começa a contar a partir de “0”, tornando o primeiro HDD # 0, o segundo # 1, o terceiro # 2, etc. No entanto, para partições, ele vai começar a contar a partir de 1. A primeira partição é # 1, o segundo é o # 2, etc. Pode haver uma boa razão para isso, mas não necessariamente sensata (em termos de UX, é um desastre, com certeza).
Isso torna o primeiro disco, a primeira partição, que no Linux normalmente seria algo como /dev/sda1
tornar-se hd0,1
em GRUB2. O segundo disco, a terceira partição seria hd1,3
, e assim por diante.
A próxima linha importante é
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
Ele irá carregar a imagem do kernel. Em CDs mais novos do Ubuntu Live, isso seria no /casper
diretório e chamado vmlinuz.efi
. Se você usar um sistema diferente, seu kernel pode estar faltando o .efi
extensão ou estar localizado em outro lugar (Você pode facilmente verificar isso abrindo o arquivo ISO com um gerenciador de arquivos e olhando dentro /casper.
) As últimas opções, quiet splash,
seriam suas opções regulares do GRUB, se você quiser alterá-las.
Finalmente
initrd (loop)/casper/initrd.lz
vai carregar initrd
, que é responsável por carregar um RAMDisk na memória para inicialização.
Inicializando em seu sistema ao vivo
Para fazer tudo funcionar, você só precisa atualizar o GRUB2
sudo update-grub
Ao reinicializar o sistema, você verá uma nova entrada do GRUB que permitirá que você carregue na imagem ISO que acabou de configurar.
Selecionar a nova entrada deve inicializar você no ambiente ao vivo, da mesma forma que inicializar de um DVD ou USB faria.