Existe alguma maneira de inicializar a partir do iso durante a execução do sistema a partir do disco ativo?

8

Esta é uma pergunta complicada, deixe-me explicar o que é esperado:

Eu sei que podemos adicionar GRUB menuentry com a localização do arquivo ISO e inicializar a partir do ISO usando a entrada do GRUB. (ou seja, este método )

Mas suponha que:

  • Eu tenho um arquivo ISO de um GNU / Linux (digamos, Trisquel 7.0) armazenado em um computador (disco rígido), digamos, em /dev/sda3/
  • Desejo instalá-lo em /dev/sda4
  • Eu tenho o disco de instalação do Ubuntu 14.04 (inicializável) do qual eu posso instalar ou experimentar o sistema live.
  • Considere que não tenho nenhum sistema operacional instalado atualmente ou o sistema instalado está com falha / corrompido (nada a ver com o carregador de inicialização atual)

A pergunta é: Com o disco de instalação, rodando o ambiente ao vivo (por exemplo, tente sem instalar o Ubuntu 14.04), posso inicializar do ISO (do Trisquel 7.0) de /dev/sda3 e instalar esse sistema em /dev/sda4 ? Como eu faço?

Nota: Eu concordo que é melhor criar / gravar disco / USB ao vivo do sistema que eu quero instalar a partir do ISO, mas se não houver nenhum disco / USB disponível agora, então eu posso fazer tal operação mencionada no pergunta?

Eu acho que existe uma técnica possível: Instale o GRUB no ambiente ao vivo do Ubuntu no HDD apontando o caminho da ISO (Trisquel) que eu finalmente quero inicializar! Como?

    
por Pandya 13.12.2015 / 10:07

1 resposta

2

Testado na VM. Foi capaz de inicializar a partir do ISO Trisquel Live (residindo no disco rígido) usando este método.

As etapas necessárias seriam assim:

  1. Após inicializar no seu disco Ubuntu Live, inicie o processo de instalação. Você precisaria fazer pelo menos uma instalação mínima do sistema em /dev/sda4 para obter um GRUB de trabalho e inicializável. Mas é mais fácil apenas fazer a instalação completa (é bem rápido).

    1.a. Certifique-se de restringir a instalação para alterar apenas o conteúdo de /dev/sda4 . Para fazer isso, você precisa selecionar "Outra coisa" quando for perguntado sobre as configurações do disco rígido.

  2. Teste se o seu GRUB novo está funcionando, inicializando no sistema instalado.

    2.a. Nota: No Ubuntu para mostrar o menu do GRUB, pressione e segure a tecla Shift no início do sistema. Esta questão contém instruções sobre como ativar a exibição do menu do GRUB em cada inicialização.

  3. Agora você precisa adicionar o menuentry necessário, conforme explicado em este método mencionado por você. Fornecendo adaptação:

    3.a. Eu assumo que o ISO Trisquel está localizado na raiz de /dev/sda3/ .

    O menuentry para a imagem ISO precisa ser adicionado ao arquivo /etc/grub.d/40_custom . Edite o arquivo por:

    sudo apt-get install gksu
    gksudo gedit /etc/grub.d/40_custom
    

    E substitua o texto nesse arquivo por este:

    #!/bin/sh
    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="/trisquel_7.0_amd64.iso"
            loopback loop (hd0,3)$isofile
            linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
            initrd (loop)/casper/initrd
    }
    

    Onde está:

    • Trisquel ISO = O nome que você deseja exibir no menu do Grub.
    • /trisquel_7.0_amd64.iso = O caminho para a imagem ISO na partição de destino.
    • (hd0,3) = A partição que contém a imagem ISO (para o GRUB é igual a /dev/sda3 do linux: "sda1" == "(hd0,1)"; "sdb2" == "(hd1,2)"; ..).
    • note: o tail -n +3 significa simplesmente "qual linha o grub começa a ler a configuração a partir de como está". a terceira linha neste exemplo é a primeira linha de comentário, o que é bom.

    3.b. Salve e feche este arquivo e agora execute este comando (para aplicar mudanças):

    sudo update-grub
    
  4. Agora você pode inicializar a partir do ISO no disco rígido.
    Observação: se você precisar usar /dev/sda3 no processo de instalação, use este comando no ambiente do Live CD:

    sudo umount -l /isodevice
    

Futher reading: referência e exemplos de menus do Ubuntu.

    
por 18.12.2015 / 16:55