O GRUB para no initramfs enquanto inicializa o KALI da imagem ISO em USB

1

Aqui onde estou tentando fazer.

USB Stick Boots to -> GRUB Loader -> GRUB boots one of many ISO files on the USB into LIVE mode.

Aqui está minha estrutura de diretórios, que é realmente simples

MULTIBOOT(USB stick) ->
- ubuntu-14.04.1-desktop-i386.iso (ISO File)
- Parrot-full-3.6_amd64.iso (ISO File)
- kali-linux-2017.1-amd64.iso (ISO File)
- boot (FOLDER)
- boot/grub (FOLDER)

unbutu iso inicializa bem no meu computador e no meu papagaio VM e kali iso carregam kernel mas param no initramfs e reclamam "instalar mídia não encontrada"

Aqui está o meu arquivo grub.cfg

menuentry "ubuntu-14.04.1-desktop-i386 Desktop ISO" {
 loopback loop /ubuntu-14.04.1-desktop-i386.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-14.04.1-desktop-i386.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "Parrot-full-3.6_amd64 ISO" {
 loopback loop /Parrot-full-3.6_amd64.iso
 linux (loop)/live/vmlinuz boot=live iso-scan/filename=/Parrot-full-3.6_amd64.iso noeject noprompt splash --
 initrd (loop)/live/initrd.img
}


menuentry "kali3-amd64 Live system" {
    loopback loop /kali-linux-2017.1-amd64.iso
    linux   (loop)/live/vmlinuz boot=live iso-scan/filename=/kali-linux-2017.1-amd64.iso splash username=root hostname=kali
    initrd  (loop)/live/initrd.img
}

Eu tentei esses ISOs em máquinas virtuais e no trabalho. Eu também tentei como no meu PC, colocando-os em USB usando o RUFUS e inicializando diretamente. Eles trabalham. O problema com o RUFUS é que ele funciona quando eu uso um único ISO. Mas eu não quero fazer um USB por ISO. Eu quero fazer apenas um USB que detém todos os ISOs e eu deveria ser capaz de inicializar o que eu quero no modo ao vivo. Então eu mudei para o GRUB. Mas devo dizer que, enquanto o GRUB está bem, sua documentação é severamente limitada e fragmentada. Eu estou supondo que se eu precisar disso, muitas outras pessoas também precisam disso.

    
por Coder 24.07.2017 / 19:13

2 respostas

0

Eu passei muito tempo nisso. Testado com vários métodos para inicializar a partir da linha de comando de loopback e usando os parâmetros do grub.cfg. Não consegui-lo para arrancar kali ou papagaio. O Ubuntu inicializa bem todas as vezes. Eu era capaz de reservar outras distribuições Linux. Eu testei com SuperGrub, os mesmos resultados. Eu acredito que este problema é com o kali-linux-2017.1-amd64.iso e o Parrot-full-3.6_amd64.iso. O processo de inicialização nesses dois é quebrado, já que ele espera carregar o sistema de arquivos raiz de uma unidade de CD / DVD montada. Ferramentas como o RUFUS estão contornando isso expandindo o conteúdo do ISO para um arquivo / cd que provavelmente é carregado e montado como um ramdisk / mnt / cd separado. KALI e PARROT devem corrigir isso.

    
por 25.07.2017 / 09:25
0

Resolvido o problema !!!! SOLUÇÃO:

Você deve usar o parâmetro do kernel findiso para o processo de inicialização para localizar o arquivo iso no meio do caminho para carregar o sistema de arquivos raiz. Veja minhas entradas mais recentes e em funcionamento no grub.config abaixo:

NOTA: Eu MUDEi MEUS ARQUIVOS ISO para a pasta / boot-isos / apenas para testar o superGrub. Mas eles podem estar em qualquer lugar. Apenas certifique-se:

1. to give correct path name to the iso file
2. MUST USE findiso kernel parameter to let boot process find the iso file. Else it will NOT work.

minha estrutura de diretório atual no USB agora é a seguinte:

USB STICK ->
/boot (folder that holds GRUB)
/boot-isos (folder that holds isos below)
- KALI iso file
- Parrot iso file
- Ubuntu iso file

menuentry "[loopback]Parrot-full-3.6_amd64" {
    set isofile='/boot-isos/Parrot-full-3.6_amd64.iso'
    loopback loop $isofile
    linux (loop)/live/vmlinuz boot=live findiso=$isofile noconfig=sudo username=root hostname=parrot
    initrd (loop)/live/initrd.img
}


menuentry "[loopback]kali-linux-2017.1-amd64" {
    set isofile='/boot-isos/kali-linux-2017.1-amd64.iso'
    loopback loop $isofile
    linux (loop)/live/vmlinuz boot=live findiso=$isofile noconfig=sudo username=root hostname=kali
    initrd (loop)/live/initrd.img
}
    
por 25.07.2017 / 09:53