Achei no site Epíntula um excelente artigo escrito pelo Jó em que ele mostra não apenas como particionar um Pen Drive, mas como fazer isso e ainda instalar uma distro linux nele.

A grande sacada foi ele ter particionado o bichinho em FAT e XFS, de modo que ao espetar o pendrive no Windows o mesmo mostra apenas a partição FAT.

Como a idéia do ùltimoLOG é guardar as coisas boas para futuras consultas, resolvi copiar o artigo e colocar abaixo mas, quem quiser, acessar diretamente o site do artigo, fique a vontade : Clique Aqui

Lembrando, este artigo é apenas uma cópia do excelente artigo do Jó. Os créditos são todos para ele.


Criando um Pendrive Bootável com uma partição Linux (XFS) e outra FAT para dados

Síntese

Só funciona direito com o Linux na SEGUNDA partição;

Crie duas partições primárias, a primeira FAT e a Segunda XFS;
Instale o GRUB na segunda partição e torne-a inicializável;
Se desejar, instale um sistema operacional como o Damn Small Linux, SystemRescue ou outro de sua preferência.

Como fazer:

Os experts que me desculpem, mas vou listar passo a passo tudo o que eu fiz, para que qualquer pessoa consiga fazer, mesmo que não entenda o que está fazendo (hehe):

Vou assumir que o pendrive está em /dev/sdb e no meu caso, vou usar um pendrive de 1Gb, mas pode ser feito com um menor (eu fiz com um de 256Mb, anteriormente).

Vamos criar duas partições, uma FAT32 e outra XFS. A primeira será usada para gravar qualquer coisa em sistemas Linux, Windows ou o que seja que suporte FAT, a segunda será usada para gravar um sistema operacional bootável, no caso, vamos colocar o GRUB e o Damn Small Linux (DSL).

Neste exemplo, vamos criar uma partição grande (256Mb) pro linux, mas podeira ser uma pequena partição com 50Mb pro DSL, ou uma partição de 10Mb ou menos só para o GRUB.

Se tu queres fazer a coisa de uma vez, vá para a sessão “Mãos à obra!”, abaixo. Senão, acompanhe o processo no texto a seguir.

Eu inventei de fazer isso por vários motivos:

1. Eu detesto diretórios raíz cheios de arquivos, com sistema e dados misturados;
2. Eu queria manter meus arquivos de sistema longe de vírus e de equívocos que alguém pudesse cometer quando eu emprestasse meu pendrive;
3. Não queria que aparecessem duas partições no Windows, somente uma de dados, limpinha;
4. Supunha que iniciar um linux com um arquivo de imagem gravado na FAT seria mais lento que iniciar direto;
5. Queria poder fazer alterações no sistema, facilmente, sem ter que ficar montando os arquivos de imagem, etc…

Curiosidades: Inicialmente, eu coloquei o linux na primeira partição do pendrive e a segunda eu deixei FAT para dados, o pendrive conseguiu iniciar o GRUB mas, quando eu colocava o pendrive no windows, ele só “enxergava” a primeira partição (inacessível por ser XFS) e a segunda partição ficava invisível; quando eu tentava fazer qualquer coisa com ela, o sistema dizia que ela não estava “ativada”. Testei no Windows2000 e XP, usei o gerenciador de discos lógicos e nada.
A solução foi fazer o inverso, colocar o linux na seguda partição, deixando a primeira como FAT para que o windows pudesse acessa-la. Desta vez, deu certo. Se colocar o pendrive para iniciar pela USB, o GRUB sobe e tudo vai bem, se colocar o pendrive no Windows, este encontra uma única partição FAT, normalmente acessível.

Obs.: Não pensem que foi fácil, fazer isso!! Depois de três dias fazendo e refazendo, fuçando, usando fdisk, cfdisk, Gparted, consultando amigos e lendo manuais de GRUB pela internet foi que descobri a seqüência que deu certo. Antes disso, todos me disseram que era impossível, que havia limitações de BIOS, que ninguém tinha “bootado” pendrives com sistema diferente de FAT, quanto mais com duas partições e inciando da segunda e bla, bla, bla… como sou persistente, eis o resultado:

- Mãos à obra!

1. Criando as partições com fdisk - se souber como fazer, pule para o item 2

No terminal, digite:

#fdisk /dev/sdb
Comando (m para ajuda):p ; lista as partições
Comando (m para ajuda):d ; para excluir a partição existente
Número da partição (1-4):1 ; para excluir a primeira partição
Comando (m para ajuda): n ; para criar uma nova partição
Comando - ação
e estendida
p partição primária (1-4)
p ; criar uma partição primária
Número da partição (1-4): 1 ; número da primeira partição
Primeiro cilindro (1-1015, padrão 1): ; tecle enter para começar do início
Usando valor padrão 1
Último cilindro ou +tamanho ou +tamanho M ou +tamanho K (1-725, padrão 725): 725 ; no meu exemplo, crio uma partição com, aproximadamente, 700Mb
Usando valor padrão 725
Comando (m para ajuda): n ; para criar a segunda partição
Comando - ação
e estendida
p partição primária (1-4)
p ; criar uma partição primária
Número da partição (1-4): 2 ; número da segunda partição
Primeiro cilindro (726-1015, padrão 726): ; tecle enter
Usando valor padrão 726
Último cilindro ou +tamanho ou +tamanho M ou +tamanho K (726-1015, padrão 1015): ; no meu exemplo, crio uma partição com, aproximadamente, 277 Mb
Comando (m para ajuda): t ; altera o tipo da partição
Número da partição (1-4): 1
Código hexadecimal (digite L para listar os códigos): b ; para criar uma partição fat32
O tipo da partição 1 foi alterado para b (W95 FAT32)
Comando (m para ajuda): t ; altera o tipo da partição
Número da partição (1-4): 2
Código hexadecimal (digite L para listar os códigos): 83 ; para criar uma partição Linux
Comando (m para ajuda):w ; grava a tabela de partiçoes
Comando (m para ajuda):q ; sai do fdisk
# mkdosfs /dev/sdb1 ; cria o sistema de arquivos FAT32
# mkfs.xfs /dev/sdb2 ; cria o sistema de aquivos XFS

2. Crie um arquivo device.map contendo algo como o seguinte:

#cd
#vim device.map
(hd0) /dev/sda
(hd1) /dev/sdb
~
~
~
:wq
#

3. Copiando os arquivos necessários

# mkdir /mnt/usbdisk
# mount -t xfs /dev/sdb2 /mnt/usbdisk
# mkdir -p /mnt/usbdisk/boot/grub
# cp device.map /mnt/usbdisk/boot/grub/
# cp /usr/share/doc/grub/examples/menu.lst /mnt/usbdisk/boot/grub/
# cp /usr/lib/grub/i386-pc/stage1 /mnt/usbdisk/boot/grub/
# cp /usr/lib/grub/i386-pc/xfs_stage1_5 /mnt/usbdisk/boot/grub/
# cp /usr/lib/grub/i386-pc/stage2 /mnt/usbdisk/boot/grub/
# cp /boot/grub/menu.lst /mnt/usbdisk/boot/grub/
# umount /mnt/usbdisk

4. Instalando o GRUB, propriamente

#grub
grub> root (hd1,1) # define a segunda partição do pendrive como sendo a de root
grub> setup (hd1) # instala o GRUB no MBR
grub> quit # sai do shell do GRUB
#

Se desejar, instale agora, um sistema operacional em qualquer uma das partições configure o menu.lst do Grub para iniciá-lo.

Bom trabalho!!!

Algumas páginas consultadas:

http://www.devin.com.br/eitch/tlm4/s1-configurando-grub.html
http://www.uruk.org/orig-grub/install.html
http://www.gentoo.org/doc/pt_br/handbook/handbook-amd64.xml?part=1&cha p=10#doc_chap2
http://www.gnu.org/software/grub/grub.html
http://www.gnu.org/software/grub/manual/

ùltimo comentário do Jó no artigo sobre colcoar a partição como bootável

Quanto ao Boot, acho que escqueci de colocar no tutorial… como já faz tempo que fiz isso, não lembro se o Grub já marca a partição qundo é instalado, de qualquer forma, basta usar o fdisk para isso.. no nosso exemplo, seria assim:

#fdisk /dev/sdb
Comando (m para ajuda):a ; para marcar como Ativa (bootável)
Número da partição (1-4):2 ; para escolher a segunda partição
Comando (m para ajuda): w ; para gravar;
Comando (m para ajuda): q ; para sair.

Obs.: Tu também podes baixar um cd NetInst do Debian com kernel 2.6 e instalar direto no pendrive!