USB-ZIP - Emulando Zip Drive em Pendrive

Este artigo mostra como emular um Zip Drive num pendrive legado. Isso abre muitas possibilidades de instalação via rede, repositório local e PXE.

[ Hits: 29.314 ]

Por: Perfil removido em 24/04/2013


Cenário



O modo correto para inicializar um computador com um drive externo é configurar o dispositivo de arranque na BIOS como USB-HDD.

A tecnologia USB Hard Drive Disk é basicamente um HD externo e uma interface USB 2.0, que permite atingir velocidades compatíveis com as dos discos internos. Os pendrivers modernos emulam os discos USB-HDD e também funcionam como disco de arranque.

A geometria dos pendrivers é arbitrária (C-H-S). A BIOS de computadores antigos, sem suporte para USB-HDD, pode fazer sua própria interpretação desses parâmetros gerando conflitos e erros, que impedem a inicialização por dispositivos USB-HDD.

Isso não é um problema em computadores modernos que reconhecem e se ajustam aos vários tipos de dispositivos USB de inicialização, como os discos USB-HDD, USB-FDD, USB-Zip e USB-CDROM. Computadores com BIOS novas podem usar uma grande variedade de dispositivos externos e permitem inicializar a partir desses dispositivos sem qualquer restrição relativa à geometria ou com a capacidade da unidade.

A tecnologia dos pendrivers legados é baseada em memória flash (USB-Flash) e eles são minidiscos de estado sólido sem partes mecânicas. Como sua capacidade é limitada (até 2 GB), eles podem funcionar satisfatoriamente como pequenos discos removíveis, mesmo em interfaces lentas como USB 1.1.

Esses pendrivers utilizam sistemas de arquivos legados como FAT16, ou 32, que são amplamente implementados e permitem o intercâmbio dos dados entre diferentes sistemas.

O dispositivo de inicialização é uma escolha feita pelo usuário e configurada no programa SETUP, que faz parte da BIOS. No SETUP, o usuário faz uma série de escolhas relacionadas com o processo de arranque do computador e outros ajustes no hardware. Essas informações são lidas pelo sistema operacional e utilizadas para configurar a máquina.

Computadores antigos (ou com BIOS bugadas, pois a opção USB-HDD não funciona - Award BIOS), não conseguem dar partida com pendrivers. Entretanto, a maioria das BIOS legadas oferece uma opção de arranque para dispositivos USB-Zip. Isso permite emular um Zip Drive em um pen drive e conseguir o arranque.

Um SETUP moderno, normalmente, tem opções para dispositivos de arranque USB como os da figura 1:
Linux: USB-ZIP - Emulando Zip Drive em Pendrive

Zip Drive

Os usuários mais jovens podem perguntar o que é um Zip Drive.

Em meados de 1994, uma empresa chamada Iomega, lançou uma tecnologia de armazenamento, na forma de um "super-disquete", que tinha alta capacidade (100 e 250 MB) e velocidade muito superior a um disquete tradicional.

Vários fabricantes licenciaram a tecnologia Zip Drive da Iomega e tiveram relativo sucesso de vendas. Essa tecnologia foi rapidamente superada pelo CD-R e CD-RW com velocidade, preço e qualidade muito melhores para uso como mídia em cópias de segurança.

Por volta de 1998, uma falha no projeto dos discos ZIP genéricos levou a Iomega a responder um processo por perdas de dados, movido coletivamente pelos usuários americanos, e a tecnologia desapareceu em torno de 2003.

O famoso "Iomega Zip Drive - Click of Death", pode ser visto neste vídeo:

Emulação

Se o usuário selecionar a opção USB-Zip no SETUP do computador e configurar a geometria do pendrive de modo idêntico à de um Zip Drive, ele consegue "enganar" a BIOS, que fará arranque no pendrive, "pensando" ser uma unidade de disco Zip.

É possível emular um Zip Drive de 250 MB em modo nativo. Todavia, o Zip Drive emulado no pendrive pode, com segurança, ter até a 1 GB ou 2 GB em alguns casos.

O truque consiste em ajustar o número de cabeças (heads) para 64 e o de setores (sectors) para 32, como era a geometria dos Zip Drivers de 100 e 250 MB. Mas, o pulo do gato aqui, é criar uma única partição na posição primária número 4 (sdx4), configurá-la como bootável e formatá-la como FAT16, como eram formatados os discos do Zip Drive.

O Zip Drive de 100 MB tinha 96 cilindros e o de 250 MB tinha 239. Quando estiver emulando um disco Zip em seu pendrive, limite o número de cilindros em até 1024, para evitar limitações de arranque de BIOS e bootloaders legados. Devido a essa limitação do cilindro 1024 (vai de 0 até 1023), o tamanho máximo de um Zip emulado é 1 GiB.

  1024 C * 64 H * 32 S * 512 B = 1.024 ^ 3 = 1 GiB

Você pode trabalhar fora do padrão com pendrivers maiores que 1 GB, desde que as cabeças e setores sejam definidos em 64 e 32. O número de cilindros pode exceder a 1024, mas o tamanho da unidade não poderá passar de 2 GB, pois FAT16 não saberá lidar com isso!

Eu testei com pendrivers de 1, 2 e 4 GB, e somente o um pendrive de 2 GB "bootou" como USB-Zip em uma ASUS P4S533-X. Mas, 1 GB é suficiente para arrancar o vmlinuz (2,4 MB) e o initrd.gz (6 MB) da instalação HD-MEDIA, e ainda manter a ISO Debian Netinstall (252 MB).

A figura 2 elenca os códigos hexadecimais de tipos de partição e seus tamanhos máximos como eram reconhecidos pelo MS-DOS e Windows 95/98 naquela época.

Tenha paciência em relação à velocidade, pois estamos emulando a tecnologia de formatação do MS-DOS 4.0!
Linux: USB-ZIP - Emulando Zip Drive em Pendrive


    Próxima página

Páginas do artigo
   1. Cenário
   2. Preparação do pendrive
Outros artigos deste autor

Criando uma aplicação que mostra os processos em execução

Gerenciamento centralizado de usuários de rede com GOSA

PLC no Linux alguém já pensou nisso?

Prevenindo problemas com impressoras via Samba no Windows

Como instalar o LAMP no Mageia 6

Leitura recomendada

Transferência de arquivos remota de forma segura de Windows para Linux

Criando um pacote TXZ no Slackware

Acessar, ler e escrever em partições Linux no Windows

Osiris - Integridade do sistema de arquivos

Discos Virtuais na Amazon WS - Como expandir disco EBS em servidores virtuais Amazon WS

  
Comentários
[1] Comentário enviado por removido em 24/04/2013 - 13:37h

Gostaria de agradecer (mais uma vez!) ao trabalho dos moderadores na publicação desse artigo.

[2] Comentário enviado por albfneto em 24/04/2013 - 18:17h

é boa esta Dica, Favoritada.
tem outro jeito de forçar uma BIOS sem Boot pela USB a faze-lo, é usando PLOP Boot Manager:

http://www.vivaolinux.com.br/artigo/Linux-com-boot-no-Pendrive-com-todas-as-facilidades-SmartUSB_Key...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts