USB de duas partições inicializável

0

Depois de ler uma pergunta AskUbuntu em drives USB ao vivo de 2 partições , uma questão do StackExchange sobre o particionamento de drives USB inicializáveis , fóruns do Ubuntu em drives USB inicializáveis com partição e muitos outros recursos que passei nos últimos dois dias sem conseguir criar o que eu quero.

Acabei de comprar um pen drive de 32 gigabytes. Eu desejo fazer este pen drive em uma multi-ferramenta para corrigir qualquer problema no computador que eu possa encontrar de abrir um documento do word para recuperar uma senha perdida. Meu plano para fazer isso era colocar duas partições na unidade:

  • uma partição de dados de 28 GB que comportaria vários programas portáteis (Open Office, GIMP, um editor hexadecimal, etc.)
  • uma partição de 4 GB com o Kali Linux instalado

Eu tentei usar fdisk, gdisk (GPD fdisk) e a ferramenta de particionamento integrada do Mac OS X para criar essas partições. Eu também tentei várias combinações de alocação de blocos, espaço livre anterior, tamanhos de partição EFI, etc. Tentei usar apenas um MBR, um híbrido MBR + GPT e apenas GPT.

Não importa o que eu faça, os resultados são os mesmos: A partição de 28 GB pode ser vista por todos os computadores (Mac, Windows, Linux), a partição de 4 GB pode ser vista por computador não-Windows (Mac, Linux) mas nenhuma partição pode ser vista pela BIOS. Eu simplesmente não consigo arrancar a partir dele.

Para instalar o Kali Linux, estou usando o seguinte comando com o ISO baixado do site:

sudo dd if=~/Downloads/kali-linux-2.0-i386.iso of=/dev/disk2s3 bs=1m

Eu também tentei alterar o arquivo .iso para um arquivo .img por Guia do Ubuntu sobre a instalação do Linux em uma unidade flash , mas usando isso não teve efeito.

Eu também tentei alguns dos guias aqui no SuperUser, incluindo este guia sobre como instalar o Knoppix com uma segunda partição que coloca o Knoppix na primeira partição e a unidade não funcionará no Windows.

Tenho certeza de que estou sentindo falta de algo simples, mas estou puxando o cabelo para fora tentando descobrir o que é :) Por que o BIOS não vê meu pendrive?

Atualizar

Outro dia, outra tentativa.

Depois de olhar nos fóruns e no arquivo .iso , finalmente juntei dois e dois e percebi que o arquivo .iso já continha um MBR. A gravação do .iso em uma partição foi redundante. No entanto, isso causou um problema: como você escreve todo o .iso exceto seu MBR?

Eu tive uma ideia interessante que tentei:

  1. Eu retalhei o flash drive para extrair o MBR, partições, etc.
  2. copiei .iso over (usando dd ) para que funcionasse como uma unidade Kali Linux normal de 4 GB
  3. Eu usei fdisk para editar o MBR ... no entanto, em vez de mover dados, listei a partição fora de ordem . A primeira partição foi dos setores 500000-600000 (números de setores não reais, apenas um exemplo), a segunda partição passou de 400000-500000 e a terceira partição foi de 0-400000 (Kali Linux)
  4. Eu indiquei a terceira partição como inicializável

Agora, quando reiniciei meu Mac com a unidade flash (pressionando Option), vi a unidade! Embora por algum motivo ele disse "Windows" em vez de "USB genérico" ou qualquer coisa ... Estranho. Mas eu não questionei. Eu cliquei no carro e estava tremendo de excitação! ... Até que isso:

isolinux.bin missing or corrupt
No bootable device -- insert boot disk and press any key

Tão perto, mas até agora: (

    
por stevendesu 28.10.2015 / 11:50

1 resposta

1

Estou tentando a mesma coisa. Eu tropecei no tutorial do tlroche que me fez acho que eu estava fazendo tudo errado.

O que eu recebi do tutorial foi que eu precisava do meu próprio MBR separado no disco. O GRUB instalado listará os arquivos .iso que eu tenho nesse disco. E não está usando dd para instalar esses .iso . É simplesmente copiar os arquivos .iso em si.

Selecioná-los não basta inicializá-los. Monta-os em um loop. Por exemplo, para um ISO na sua pasta pessoal, tente

# mkdir media/my-looped-iso-dir
# mount -o loop ~/iso-to-mount.iso /media/my-looped-iso-dir

Em seguida, você pode inspecionar o conteúdo desse .iso no diretório /media/my-looped-iso-dir . Então, depois que o GRUB2 monta o live .iso , ele procura pelos arquivos necessários para a inicialização - ou seja, o kernel Linux inicializável ( vmlinuz ) e a imagem RAMdisk ( initrd.* ). Estes precisam para serem especificados no arquivo grub.cfg , o qual você terá que criar sozinho (não tão difícil quanto parece - exemplos no link).

Na verdade, eu aceito isso. Configurar o grub.cfg será a parte mais difícil. Mas o exemplo no link fornece um bom ponto de partida. Não há muito a adicionar, basta personalizar as entradas do menu para qualquer .iso (s) que você deseja ter disponível para inicializar.

Além disso, você pode adicionar o que quiser ao espaço restante (particionar ou não - até você). .deb packages provavelmente seria minha primeira escolha se eu estivesse usando apenas distros baseadas no Debian - e estou pensando em ter um USB inicializável como esse que tem Kali, Tails e BunsenLabs (antigo Crunchbang). Mas binários, fonte completa, seja qual for. Vá presunto. (como um aparte, ter um banco de dados keypassx não seria uma má ideia)

Isso é bom também, porque quando eu preciso atualizar os arquivos .iso , eu pego o antigo e coloco o novo. Atualize o grub.cfg menuentry e você está pronto!

EDIT: Eu esqueci de mencionar que você estará particionando o drive USB e criando um sistema de arquivos lá. Esse sistema de arquivos terá que ter /boot setup para instalar o grub - # grub2-install (novamente, exemplo no link). Certifique-se de que esteja sinalizado como inicializável e você deve ser bom.

Então, novamente, isso é tudo no link ... então apenas ... você sabe ... leia o link!

    
por 03.12.2015 / 09:44