Introdução
MultiBoot significa ter disponível a sua escolha mais de um sistema na hora de inicializá-lo. O Proposito desse artigo é ensinar como
tornar seu pendrive bootável e disponibilizar várias opções de instalação de distros.
Motivação
Obter uma distribuição
GNU/Linux no site do desenvolvedor tornou-se hoje em dia uma tarefa rotineira e fácil. Pois as distribuições GNU/Linux
vêm cada vez mais se tornando populares e usadas devido a vários fatores: segurança e estabilidade são alguns dos fatores.
Porém as distribuições GNU/Linux sofrem constantes atualizações, com isso torna-se inviável gravar em uma mídia uma distro a cada atualização
ou só ter apenas uma distro na mídia quando a necessidade (principalmente em ambiente corporativo) é ter disponível vários sistemas a escolha
para instalar.
Para este artigo utilizarei um pendrive da Kingston de 16GB e configurarei o mesmo para dá boot pelas seguintes distros:
- Debian 6.0.3 CD;
- CentOS 6.0 Live CD;
- Ubuntu 11.10;
- Linux Mint 11;
- Parted Magic;
- Fedora 15 LiveCD.
Tornando Pendrive Bootável
Para tornar um pendrive bootável é necessário ter um bootloader gravado no pendrive e bootstrap gravado na MBR do mesmo.
A partição do pendrive que será usado deve estar com sistema de arquivos fat32.
Esclarecimentos:
1º) Não testei com sistemas de arquivos ext2/3/4 apenas com fat32.
2º) Para explicar estarei supondo que o pendrive é o arquivo de dispositivo /dev/sdb, mas é recomendável verificar qual é o arquivo de
dispositivo referente ao pendrive que será usado na sua maquina, caso indique o arquivo de dispositivo diferente poderá perder dados.
3º) Todos os comandos devem ser executados com o usuário root.
Aplicando o sistema de arquivos fat32 no pendrive:
# mkfs.vfat -n multiboot /dev/sdb1
Criando diretório que será usado para montar o pendrive e montando o pendrive:
# mkdir /media/pendrive
# mount /dev/sdb1 /media/pendrive
Gravando o grub2 no pendrive e gerando o arquivo de configuração do grub2 (grub.cfg):
# grub-install --force --no-floppy --root-directory=/media/pendrive /dev/sdb
# grub-mkconfig -o /media/pendrive/boot/grub/
Obs.: se não for gerado o arquivo grub.cfg, renomeie o arquivo .new para grub.cfg:
# mv /media/pendrive/boot/grub/.new /media/pedrive/boot/grub/grub.cfg
Pronto agora seu pendrive está bootável. Só falta armazenar os sistemas que deseja instalar pelo pendrive no mesmo.
[1] Comentário enviado por
adri3d em 08/11/2011 - 10:56h:
na parte do
grub-install –force –no-floppy –root-directory=/media/pendrive /dev/sdb1
é dois tracinho
grub-install --force --no-floppy --root-directory=/media/pendrive /dev/sdb1
[2] Comentário enviado por
eabreu em 08/11/2011 - 11:28h:
sim adri3d é dois tracinhos, quando digitei não ficou os dois traços é exatamente assim:
grub-install --force --no-floppy --root-directory=/media/pendrive dev/sdb1
qualquer dúvida é só postar...
abraços e espero que este artigo ajude várias pessoas.
[3] Comentário enviado por
rai3mb em 08/11/2011 - 11:30h:
@eabreu, fiz a correção.
Você digitou certo sim, acontece que alguns caracteres podem perder a formatação quando um artigo/dica/etc é enviado para o VOL, e cabe aos moderadores fazerem as devidas adaptações, nesse caso o erro não foi seu ;-), foi meu :-(
Abraços
[4] Comentário enviado por
eabreu em 08/11/2011 - 11:43h:
Valeu pelo esclarecimento rai3mb, já tinha pensado que poderia ser isso mesmo.
abraço amigo....
[5] Comentário enviado por
adri3d em 08/11/2011 - 12:10h:
mais uma coisa nessa mesma linha
grub-install --force --no-floppy --root-directory=/media/pendrive /dev/sdb1
não devria ser
grub-install --force --no-floppy --root-directory=/media/pendrive /dev/sdb
para instalar na mbr do pen e não na primeira partição, fiz primeiro com sdb1 e ficava apenas um cursor piscando na tela de boot, depois executei o grub-intall em sdb e funcionou.
[6] Comentário enviado por
eabreu em 08/11/2011 - 12:19h:
É isso mesmo adri3d, desculpe por esse erro pequeno mais de essencial importância para conseguir fazer o pendrive bootavel funcionar.
é:
# grub-install --force --no-floppy --root-directory=/media/pendrive /dev/sdb
e não:
# grub-install --force --no-floppy --root-directory=/media/pendrive /dev/sdb1
bela observação e obrigado pela colaboração.
Qualquer dica que venha melhorar o artigo será bem aceito para todos...
Obrigado mais uma vez e abraço amigo....
[7] Comentário enviado por
medeiros64 em 08/11/2011 - 16:06h:
otimo artigo realmente essa é uma grande ferramenta pois pelo pen drive o sistema é instalado muito mais rapido.
agora desculpe minha ignorancia tem como fazer um pen drive com o instalador de rwindows tbm?
é como da p/ colocar o grub caregando uma iso se for usado uma iso do windows daria certo fiquei com uma duvida
no meu caso tenho um pen com instalador do ubuntu e outro com windows juntar os 2 me sobraria um pen drive rs
exemplo
debian
ubuntu
slackware
Rwindows ?
[8] Comentário enviado por
eabreu em 08/11/2011 - 16:23h:
Amigo medeiros64 nunca fiz com windows, porém acredito que há possibilidade ai mesmo pelo grub2,porém nunca tentei.
Mas te passarei a dica como fazer isso assim que possivel...
abraço..
[9] Comentário enviado por
adri3d em 08/11/2011 - 16:40h:
não
não por esse metodo usado aqui. Não da certo porque o grub monta a iso e chama o kernel que esta dentro dela,
por um acaso uma instação do windows tem um kernel linux?
mas
mas eu ainda tenho uma ideia. a uns dias atraz fiz isso:
http://adriano-tmp.blogspot.com/2011/10/windows7-instalavel-pelo-pendrive-via.html
se fosse feita duas partiçoes no pendrive uma com as distros senguindo esse guia e outra partição com o windows seguindo este outro tutorial,
instalando o grub na mbr e o ms-sys na partição 2
algem se abilita a testar meu maior pendrive é 4gb, tinha outros dois de 16gb mas estes pediram arego.
[10] Comentário enviado por
adri3d em 08/11/2011 - 17:39h:
sobre o grub.cfg segue abaixo o meu por completo,esta bem enchuto e funciona(pelo menos aqui), apenas com um Ubuntu e Trisquel
[code]
set timeout=30
set default=0
menuentry "Ubuntu 11.10 Desktop" {
loopback loop /ubuntu.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso noeject
initrd (loop)/casper/initrd.lz
}
menuentry "trisquel-mini_5.0_amd64" {
loopback loop /trisquel-mini_5.0_amd64.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/trisquel-mini_5.0_amd64.iso noeject
initrd (loop)/casper/initrd
}
[/code]
uma desvantagen dessa abordagem é que não da para defenir o teclado durante o boot, para resolver isso eu deixo esse script no pendrive
[code]
#!/bin/bash
setxkbmap -model abnt2 -layout br
[/code]
[11] Comentário enviado por
eabreu em 08/11/2011 - 18:05h:
Esclarecimento:
adri3d falei que há possibilidade de dá boot também com windows no pendrive usando o grub2, porém não citei o método que seria usado.
E não existe um kernel linux no windows (até onde sei e por enquanto também, rsrsrs).
[12] Comentário enviado por
izaias em 09/11/2011 - 12:40h:
Ótimo trabalho!
É complexo e por isso, suscetível a erros. Mas ainda bem que temos no VOL a melhor estirpe de membros.
A colaboração é mútua.
Parabéns a todos.
[13] Comentário enviado por
meinhardt_jgbr em 09/11/2011 - 13:17h:
Muito interessante. Possivelmente também seja factível o mesmo tipo de esquema usando um HD externo USB. Logo que tiver tempo vou testar.
Basicamente se funciona com pendrive deve funcionar com HD externo USB.
Nota 10!!
[14] Comentário enviado por
filipe_inho em 25/11/2011 - 13:22h:
esse grub2 funcionaria com o Ghost e SystemRescueCd???
[15] Comentário enviado por
eabreu em 28/11/2011 - 16:55h:
Olá amigo filipe,
Sinceramente nunca testei com os dois, mas provavelmente funcione sim.
Me diz uma coisa o ghost e o SystemRescueCd são baseados em alguma distro ?
[16] Comentário enviado por
eabreu em 28/11/2011 - 17:22h:
Olá amigo meinharrdt,
Você pode instalar tanto em pendrives quanto em discos rigidos externos como em cartões de memorias.
[17] Comentário enviado por
fmj1988 em 02/12/2011 - 14:45h:
Estive tentando fazer este artigo durante os ultimos dias e uma das coisas que me deparei foi que:
# grub-install --force --no-floppy --root-directory=/media/pendrive /dev/sdb1
estaria faltando parte de um dos argumentos, e ficando assim:
# grub-install --force-lba --no-floppy --root-directory=/media/pendrive /dev/sdb1
vou repitir a serie de comandos e postar os erros.
[18] Comentário enviado por
eabreu em 03/12/2011 - 13:47h:
Fala amigo fmj1988,
Desculpas, No lugar de :
**** Dessa forma ele instala o grub na partição 1 do pendrive /dev/sdb1
# grub-install --force --no-floppy --root-directory=/media/pendrive /dev/sdb1
troque por :
*** Dessa forma ele instala o grub na mbr do pendrive, assim funfa de boa:
# grub-install --force --no-floppy --root-directory=/media/pendrive /dev/sdb
Caso queira ver esse artigo atualizado visite está página abaixo:
http://howtognulinux.blogspot.com/
[19] Comentário enviado por
izaias em 03/12/2011 - 14:07h:
Corrigido.
Veja se está acordo.
[20] Comentário enviado por
eabreu em 03/12/2011 - 15:39h:
izaias voce é o cara
[21] Comentário enviado por
fmj1988 em 03/12/2011 - 22:13h:
Edson, seria interessante criar/atualizar/copiar o topico aqui no vol, uma vez que não é possivel comentar no link mencionado.
obrigado
[22] Comentário enviado por
eabreu em 04/12/2011 - 00:24h:
Amigo fmj1988,
Primeiramente gostaria de saber se conseguiu resolver o que mencionou no seu post passado depois do meu comentário ?
No link que te passei pode sim fazer comentários.
Se tiver cadastro no google ou outros mencionados no final da página quando na parte de comentários.
[23] Comentário enviado por
eabreu em 04/12/2011 - 00:33h:
Amigo izaias,
poderia por gentileza trocar algumas linhas do artigo que descrevo abaixo:
1º - Parte 4. do artigo
## Linha a ser trocada
# cp -R /mnt/iso2 /media/pendrive/centos
por
# cp -R /mnt/iso2/* /media/pendrive/centos
2º - Parte 3. do artigo
## Linha a ser trocada
# cp local das imagens do kernel e initrd/ imagens /media/pendrive/debian
por
# cp /local das imagens do kernel e initrd/ imagens /media/pendrive/debian
Obrigado...
[24] Comentário enviado por
izaias em 04/12/2011 - 01:37h:
Corrigido.
[25] Comentário enviado por
phantom x em 04/01/2012 - 11:24h:
Para a instalação do Windows 7, jogue o conteúdo do disco/imagem no pendrive (creio que deva ser na raiz mesmo) e teste com isso:
chainloader /bootmgr
Nunca testei com o grub2, apenas com o syslinux (método bem diferente, mas funcionou).