Fazer boot por pendrive utilizando diretamente o arquivo .iso

 

Pendrive de Nerd
Pendrive de Nerd

Existem algumas maneiras de fazer boot pelo pendrive, utilizando unetbootin (que possui versões para Linux, Mac e Windows), dd da iso para o pendrive ou ainda, um boot diretamente do arquivo iso, utilizando para isso o GrUB. Essa dica explica como fazer tal boot, usando para isso o sistema DWOS ou, Djames Watson Operating System – sistema desenvolvido para comportar produtos forense, mas que estará disponível em breve com ferramentas básicas e um software frontend para backup.

Prepare o pendrive

Se seu pendrive já estiver formatado com FAT32 e uma única partição, ótimo. Caso contrário, elimine as informações de partição (e você eliminará também os dados):

dd if=/dev/zero of=/dev/sdX count=1000 bs=2048

Onde “X” representa a letra do dispositivo. Se você não sabe qual é, previamente execute o comando:

fdisk -l

Identifique seu dispositivo e siga com o dd. Depois disso, crie uma única partição. Se preferir, utilize uma ferramenta gráfica como o GParted, inclusive para excluir as partições.

Se escolheu fazer tudo por linha de comando, deve saber utilizar o fdisk, se não souber, volte ao parágrafo anterior e utilize a ferramenta recomendada. E se está seguindo por linha de comando, deve saber formatar também:

mkfs.vfat -F 32 -n DWOS /dev/sdx1

Mais uma vez, “X” é a letra que se refere ao dispositivo.





Instalando o GrUB

Estando pronto o pendrive, monte-o para acesso ao sistema de arquivos. Existem algumas ferramentas gráficas também para a manipulação do gerenciador de boot, mas convenhamos, se for pra fazer tudo na base do mouse, não deveria ter defenestrado seu antigo sistema:

grub-install --force --no-floppy --boot-directory=/mnt/USB/boot /dev/sdx

(Eu já falei que “X” se refere à unidade do dispositivo?)

Entre no diretório /mnt/USB/boot/grub e crie o arquivo grub.cfg com o seguinte conteúdo (apenas para syslinux):


if loadfont /boot/grub/font.pf2 ; then
set gfxmode=auto
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry “DWOS Community” {
set gfxpayload=keep
loopback loop /dwos-1.0.iso
linux (loop)/dwos/vmlinuz boot=casper iso-scan/filename=/dwos-1.0.iso quiet splash —
initrd (loop)/dwos/initrd.lz
}

Repare que o kernel (vmlinuz) está no diretório dwos da iso. Se você precisar acessar o arquivo .iso para ver o diretório do kernel, leia mais ao final do artigo “Como acessar a iso”, com dica também para gerar o arquivo .iso a partir de um CD/DVD já gravado.

Coloque o arquivo iso na raiz tal qual o exemplo anterior. Eu obssessiva compulsivamente refaço o comando grub-install; faça-o. Se tiver o qemu instalado, você já pode testar o menu de boot nesse momento (apenas o menu):

Boot do pendrive com QEmu

qemu-system-i386 -boot c /dev/sdX

Onde “X” é… bem, você já sabe.
https://youtu.be/chm0XNiQNzE

Alguns outros exemplos de entrada no grub.cfg estão dispostas no arquivo que você pode baixar a seguir:

wget pendrivelinux.com/downloads/multibootlinux/grub.cfg

Como acessar a iso

Para acessar o conteúdo do arquivo .iso, basta montá-lo por linha de comando ou utilizar o aplicativo ISOMaster. Por linha de comando é bastante simples:





mount -o loop,ro arquivo.iso /mnt
find /mnt -name vmlinuz -type f
umount /mnt

Gerar arquivo iso a partir de CD/DVD gravado

Provavelmente 99,99% dos usuários Linux sabem como fazê-lo, mas não posso deixar de registrar essa informação também. Coloque seu CD/DVD no leitor, não acesse seu conteúdo. Então, por linha de comando execute:

dd if=/dev/sr0 of=sistema.iso

O processo é silencioso, mas ao término você saberá.

Em breve o sistema (que tem algo em torno de 60MB) será disponibilizado para download para execução dos testes iniciais. Espero que a galera do Phantom inicie esses testes básicos, ainda que sem ferramentas gráficas para backup nesse primeiro momento. O sistema já foi superficialmente mostrado nesse video:

Se gostou, acompanhe-nos no Do bit Ao Byte no facebook e até o próximo!

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Deixe uma resposta