segunda-feira, 20 de janeiro de 2014

Como consegui produzir meu pendrive multiboot...

Com muito trabalho e muita pesquisa.

Levei muito tempo para conseguir só chegar perto de fazer um pendrive bootável. Mas consegui algo muito melhor: um pendrive multiboot que também carrega isos direto do hd.

Ingredientes:

  • 1 pendrive a gosto
  • 1 computador com ou sem sistema operacional desde que tenha um drive de cd-rom
  • 1 live-cd de qualquer distribuição linux com grub2
  • internet a gosto



Modo de preparo:


  • Formate seu pendrive em fat ou fat32 (se for menor que 4 gigas) ou ntfs (se for maior ou igual a 4 gigas)
  • Abra o sistema contido no live-cd linux
  • Com o pendrive montado, descubra a partição dele abrindo o terminal e digitando mount (enter). Depois instale o grub2 digitando "sudo grub-install --force  --root-directory=/media/pendrive /dev/sdx" (enter). (dica) sdx é a partição do pendrive. E /media/pendrive é o local onde ele foi montado.
  • No mesmo terminal, abra o gparted digitando sudo gparted /dev/sdx e torne o pendrive bootável.
  • Agora, abra o diretório do pendrive na pasta boot/grub/, crie um arquivo de texto chamado grub.cfg (não txt, cfg).
  • Abra o arquivo e copie o seguinte código em vermelho para lá:


#!/bin/sh 
exec tail -n +3 $0 
set timeout=30 
set default=0 

menuentry "0 - HD" {
 set root=(hd1)
 chainloader +1
}

menuentry "1 - Restart" {
 reboot
}

menuentry "3 - Linux Mint 15 Mate ISO no pendrive" { 
set gfxpayload=keep
 loopback loop (hd0,msdos1)/linuxmint-15-cinnamon-dvd-32bit.iso 
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper iso-scan/filename=/linuxmint-15-cinnamon-dvd-32bit.iso noeject noprompt quiet splash -- 
 initrd (loop)/casper/initrd.lz 
}

menuentry "4 - Linux Mint 15 Mate ISO no hd" { 
set gfxpayload=keep
 loopback loop (hd1,msdos3)/Users/Marinaldo/Desktop/iso/linuxmint-15-cinnamon-dvd-32bit.iso 
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd/casper/initrd.lz iso-scan/filename=/Users/Marinaldo/Desktop/iso/linuxmint-15-cinnamon-dvd-32bit.iso noeject noprompt quiet splash -- 
 initrd (loop)/casper/initrd.lz 
}

menuentry '5 - Ubuntu ubuntu-10.04.3-desktop-i386 no hd' {
         insmod part_msdos
         insmod ext2
set gfxpayload=keep
         echo   'Loading Loopback Image...'
         loopback loop (hd1,msdos3)/Users/Marinaldo/Desktop/iso/ubuntu-10.04.3-desktop-i386.iso
         echo   'Loading Kernel Image...'
         linux   (loop)/casper/vmlinuz file=/cdrom/ubuntu.seed boot=casper initrd/casper/initrd.lz iso-scan/filename=/Users/Marinaldo/Desktop/iso/ubuntu-10.04.3-desktop-i386.iso noeject noprompt quiet splash --
         echo   'Loading Initrd Image...'
         initrd   (loop)/casper/initrd.lz



menuentry '5 - lUbuntu lubuntu-13.10-desktop-i386 no hd' {
         insmod part_msdos
         insmod ext2
set gfxpayload=keep
         echo   'Loading Loopback Image...'
         loopback loop (hd1,msdos3)/Users/Marinaldo/Desktop/iso/lubuntu-13.10-desktop-i386.iso
         echo   'Loading Kernel Image...'
         linux   (loop)/casper/vmlinuz file=/cdrom/lubuntu.seed boot=casper initrd/casper/initrd.lz iso-scan/filename=/Users/Marinaldo/Desktop/iso/lubuntu-13.10-desktop-i386.iso noeject noprompt quiet splash --
         echo   'Loading Initrd Image...'
         initrd   (loop)/casper/initrd.lz
}

  • Faça as devidas correções. Salve e... Está feito o seu pendrive bootável.

--------------------------------------------------------------------------------------
Segredinhos da receita

1 - > Você vai precisar configurar seu computador para iniciar pelo pendrive. Basta apertar a tecla de acesso a configuração de boote do sistema (no meu computador (acer) foi f2), prioridade de boot e por o pendrive em primeiro.

2 - > (hd1, msdos3) tem a ver com hd, partição. Nas pesquisas que fiz hd0 é o primeiro hd, ou seja, o pendrive em uso. Já a partição começa no 1 e segue, ou seja msdos3 é a 3ª partição do 1º hd.

3 - > A internet é só pra pesquisar e, caso necessidade, baixar os isos. O tamanho do pendrive é só para o caso de você querer muito espaço para as isos. No caso, a depender das isos que você deseja carregar, vai ser muito necessário.

4 - > Se você carregar as isos do hd é bem mais rápido do que do live-pendrive ou do live-cd. E caso o faça, poderá desmontar o pendrive e usar o computador como se houvesse instalado o sistema do pendrive. Ou seja, todas as portas usbs livres.

5 - > se for colocar um caminho extenso para a iso evite espaços. O erro gerado será "out of range" => fora de alcance. Prefira caminhos curtos como os que pus (/Users/Marinaldo/Desktop/iso/lubuntu-13.10-desktop-i386.iso). Evite os espaços. Evite os espaços. Organização é bom, sim. Mas evite os espaços.

6 -:> Os isos serão sempre carregados na língua original: inglês.

7-:> Já ía quase me esquecendo. Se carregar a iso direto do hd, para acessar o conteúdo do hd basta apertar a combinação alt F2, digitar /isodevice/ e apertar enter. Alt + F2 serve para executar muitos outros comando também, como abrir o terminal, abrir o gparted, etc.

Boa sorte, que deus lhe ajude nessa empreitada e... Mãos a obra!!!