Existe alguma maneira de inicializar a partir do iso enquanto executa o sistema a partir do disco ativo?

8

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

Eu sei que podemos adicionar o GRUB menuentrycom 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 (por exemplo, Trisquel 7.0) armazenado no computador (disco rígido), digamos em /dev/sda3/
  • Quero instalá-lo no /dev/sda4
  • Eu tenho o disco de instalação do Ubuntu 14.04 (inicializável) a partir do qual posso instalar ou experimentar o sistema ativo.
  • Considere que eu não tenho nenhum sistema operacional instalado no momento ou o sistema instalado está travado / corrompido (nada a ver com o atual carregador de inicialização)

A pergunta é: com o disco de instalação, executando o ambiente ao vivo (por exemplo, tente sem instalar o Ubuntu 14.04), posso inicializar a partir da ISO (do Trisquel 7.0) /dev/sda3e instalar esse sistema /dev/sda4? Como é que eu?

Nota: Concordo que é melhor criar / gravar disco ao vivo / USB do sistema que quero instalar a partir do iso, mas se não houver disco / usb disponível no momento, posso executar essa operação mencionada em questão?

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

Pandya
fonte
Eu sugeriria, monte / dev / sda3 em / mnt, cd / mnt / boot, encontre linhas de instalação em grub / menu.lst kexec /vmlunix... install,. você pode precisar de alguma tentativa ...
Archemar

Respostas:

2

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

As etapas necessárias teriam a seguinte aparência:

  1. Depois de inicializar no disco do Ubuntu Live, inicie o processo de instalação. Você precisaria fazer pelo menos a instalação mínima do sistema /dev/sda4para obter um GRUB funcional e inicializável. Mas é mais fácil fazer a instalação completa (é bastante rápido).

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

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

    2.a. Nota: No Ubuntu para mostrar o menu GRUB, pressione e segure o Shiftinício do sistema. Esta pergunta contém instruções sobre como habilitar a exibição do menu GRUB em cada inicialização.

  3. Agora você precisa adicionar o menuentry necessário, conforme explicado neste método que você mencionou. Fornecendo adaptação:

    3.a. Suponho que o Trisquel ISO esteja localizado na raiz do /dev/sda3/.

    A entrada de menu para a imagem ISO precisa ser adicionada ao /etc/grub.d/40_customarquivo. Edite o arquivo:

    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 é:

    • Trisquel ISO = O nome que você deseja exibir no menu 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 GRUB é igual a /dev/sda3do linux: "sda1" == "(hd0,1)"; "sdb2" == "(hd1,2)"; ...).
    • note: os tail -n +3meios simplesmente "de que linha o grub começa a ler a configuração como estão". a 3ª 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 alterações):

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

    sudo umount -l /isodevice
    

Leitura adicional: referência e exemplos de entradas do menu do Ubuntu.

IsXanDe
fonte