Crie seu próprio pendrive USB multi-boot salvador da pátria

Não preciso convencê-lo de que carregar algumas distribuições Linux com você pode fazer a diferença entre a vida e a morte. Bem, é claro que eu estou sendo um pouco dramático, mas é realmente muito bom poder rodar um teste de memória numa máquina que insiste em jogar erros estranhos na sua cara, ou mesmo copiar discos ou partições importantes quando você está por aí.

Para mim, algumas ferramentas e distribuições são particularmente úteis:

  • Clonezilla. Ferramenta muito boa para clonagem de disco/partição. Leva algum tempo para iniciantes se acostumarem com ela, mas vale o esforço. Já fui salvo por esta ferramenta mais de uma vez.
  • GParted. Excelente ferramenta para particionamento de disco.
  • Linux Mint. Distribuição Linux baseada no Ubuntu muito fácil de usar. Eu gosto muito da edição Live-DVD, que inclui softwares como VLC, OpenOffice e Java.
  • Ubuntu. Uma das distribuições Linux mais populares hoje em dia.
  • Memtest86+. Ferramenta para teste de memória incluída na maioria das distribuições Linux modernas. Indispensável.

Agora, em vez de queimar um CD/DVD com cada uma dessas ferramentas, nós iremos usar um pendrive USB multi-boot.

Preparando a pendrive

O primeiro passo é instalar um bootloader na pendrive para possamos escolher qual distribuição carregar quando bootando a partir dela. Sorte minha que a distribuição Linux que uso, Ubuntu, já vem com o Grub2 pré-instalado. Esta versão do Grub em particular é necessária, já que ela nos permite montar e bootar imagens .ISO.

Uma vez que você esteja com o Grub2 instalado, plugue sua pendrive e se certifique de que sua partição principal seja bootável, e que ela esteja formatada com FAT32 (vfat).

Então, rode este comando para instalar o Grub2 no pendrive:

$ sudo grub-install --no-floppy --root-directory=/media/PENDRIVE /dev/sdX

Lembre de fazer com que root-directory aponte para o caminho onde o pendrive está montado, e /dev/sdX para o dispositivo em si. Por favor, verifique os parâmetros duas vezes antes de rodar o comando, ou você corre o risco de fazer algo de que se arrependerá depois!

Configurando o Grub2

Agora é hora de baixar as imagens .ISO das distribuições mencionadas anteriormente e colocá-las no diretório /boot/iso dentro da pendrive. Então, crie o arquivo /boot/grub/grub.cfg com o seguinte conteúdo:

menuentry "Linux Mint 9 x86" {
  set isofile="/boot/iso/linuxmint-9-gnome-dvd-i386.iso"
  loopback loop $isofile
  linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noeject noprompt --
  initrd (loop)/casper/initrd.lz
}
 
menuentry "Ubuntu 10.04 Desktop x86" {
  set isofile="/boot/iso/ubuntu-10.04-desktop-i386.iso"
  loopback loop $isofile
  linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noeject noprompt --
  initrd (loop)/casper/initrd.lz
}
 
menuentry "Clonezilla Live 1.2.5-17 x86" {
  set isofile="/boot/iso/clonezilla-live-1.2.5-17-i686.iso"
  loopback loop $isofile 
  linux (loop)/live/vmlinuz boot=live union=aufs nolocales noprompt ip=frommedia toram=filesystem.squashfs findiso=$isofile 
  initrd (loop)/live/initrd.img
}
 
menuentry "GParted Live 0.5.2-9 x86" {
  set isofile="/boot/iso/gparted-live-0.5.2-9.iso"
  loopback loop $isofile 
  linux (loop)/live/vmlinuz boot=live union=aufs nolocales noprompt ip=frommedia toram=filesystem.squashfs findiso=$isofile 
  initrd (loop)/live/initrd.img
}
 
menuentry "Memory test (memtest86+)" {
  linux16 /boot/iso/memtest86+.bin
}

Não se esqueça de alterar o valor as variáveis isofile, se necessário.

Ressalva

Esse negócio todo é novo, e existem apenas algumas distribuições que podem ser bootadas dessa forma. Caso queira testar outras distribuições, você provavelmente terá que descobrir quais opções de Kernel usar em cada uma delas.

Sobre Daniel Martins

Fundador da Destaquenet, ele é graduado em Sistemas de Informação e desenvolve softwares como hobby e profissão desde 2000. Especializado na plataforma Java, ele utiliza a tecnologia há vários anos, sendo programador e desenvolvedor web certificado pela Sun Microsystems, recentemente adquirida pela Oracle. Também se interessa por assuntos ligados à cultura open source, metodologias ágeis, engenharia de software, frameworks e linguagens dinâmicas tais como Python, Ruby e Smalltalk.
Esta entrada foi publicada em Português, Tutoriais e marcada com a tag , , , , , , , , , , , , , , , . Adicione o link permanente aos seus favoritos.

13 respostas a Crie seu próprio pendrive USB multi-boot salvador da pátria

  1. Pingback: Tweets that mention Crie seu próprio pendrive USB multi-boot salvador da pátria | Destaqueblog -- Topsy.com

  2. Marlon Borba disse:

    Prezados,
    Fiz um “pendrive” múltiplo com as 3 ISOs do Ubuntu 10.10, Desktop 32bits, Desktop 64bits e Netbook e funcionou perfeitamente.
    Usei um “stick” da SuperTalent. Não sei por que, mas os “pendrives” da Kingston não reagem bem quando se instala alguma coisa em seu “bootsector”. Já os produtos da Sandisk funcionam perfeitamente.

  3. Marlon, obrigado pela informação. Também para constar, usei um HP v125w (16G) para escrever e testar o tutorial e não tive quaisquer problemas.

  4. Marlon Borba disse:

    Minha grande dificuldade, agora, é achar os parâmetros de inicialização das diferentes distribuições. Além disso, parece que o openSuse não gosta muito de dar boot por mídia diferente de CD…

  5. Guilherme a disse:

    na hora de instalar ele acha que não é segura colocar em uma partição o grub em vez da mbr(apesar se fosse na mbr não ligaria o computador sem o pendrive,então e mais inseguro ainda),alem disso da para colocar em subpastas e vc indicar qual que quer
    por exemplo no set colocar boot/nome do pendrive/sistemadesejado/.

  6. Guilherme a disse:

    grub 2 mudou tudo vou pesquisar

  7. Bruno Tafarelo disse:

    Olá,

    Segui diversos tutoriais incluindo esse e ao tentar iniciar alguma iso recebe a mensagem:

    - Error: Need load kernel first

    Alguém faz idéia?

    Tentei com um kingston de 8G e ubuntu-10.04-x86.iso

    Abs

  8. Adriano disse:

    grub-install –no-floppy –root-directory=/Volumes/APCCLL/ /dev/sdc
    /usr/sbin/grub-setup: warn: Sua área de embutidura está menor que de costume. O core.img não caberá nela..
    /usr/sbin/grub-setup: warn: Incorporação não permitida. O GRUB só pode ser instalado neste setup usando blocklists. Porém. blocklists são INSTÁVEIS e seu uso não é aconselhado..
    /usr/sbin/grub-setup: error: se você quiser mesmo listas de bloqueio, use –force.

    iso so acontece com Sandisk Cruizerblade 8g, com outros pen vai normal que sera, não tive coragem de usar –force nesse caso algem sabe o pode ser isso???

  9. Adriano disse:

    lsusb
    Bus 002 Device 003: ID 0781:5567 SanDisk Corp. Cruszer Blade

    fdisk -l /dev/sdc

    Disco /dev/sdc: 8000 MB, 8000110592 bytes
    160 heads, 19 sectors/track, 5139 cylinders
    Unidades = cilindros de 3040 * 512 = 1556480 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Identificador do disco: 0×00000000

    Dispositivo Boot Início Fim Blocos Id Sistema
    /dev/sdc1 1 5140 7812592 b W95 FAT32

    ah ele ta montado em /Volumes porque estou no moonos e a hyerarquia do systema é diferente:
    ls -l /
    total 20
    drwxr-xr-x 2 root root 4096 2010-12-31 08:09 AppFiles
    drwxr-xr-x 10 root root 4096 2010-12-18 05:20 System
    drwxrwxrwt 13 root root 4096 2011-01-05 13:00 Temporary
    drwxr-xr-x 7 root root 4096 2011-01-05 01:31 Users
    drwxr-xr-x 3 root root 4096 2011-01-05 12:22 Volumes

  10. Lenander disse:

    Kra muito bom o seu tuto, mas surgiu uma dúvida, tem como eu colocar uma iso do Windows XP e do 7 para ficar completo meu HD salvador da Pátria?

  11. Não sei se é possível rodar o Windows XP ou 7 como um ‘live CD’, e mesmo que fosse eu acho que não seria possível inicializar a ISO através do Grub. Mas vale um teste… :-)

  12. Lenander disse:

    e vc saberia me informar como colocaria o código para achar a iso
    Ex.:
    menuentry “Ubuntu 10.04 Desktop x86″ {
    set isofile=”/boot/iso/ubuntu-10.04-desktop-i386.iso”
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noeject noprompt –
    initrd (loop)/casper/initrd.lz
    }
    em vez desse código utilizar um para buscar a iso do Windows

  13. Erik disse:

    como faço essa edição do kernel?????

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">