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.325 ]

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

Bluetooth descomplicado em notebook Toshiba / HP

Rodando o macOS com Docker, qemu, e KVM

Trabalhando com subredes

Postfix - Relay agent

Instalando e usando o GNUstep no Linux

Leitura recomendada

Usando partições e sistemas de arquivos

Diferenças entre o sistema de arquivos do Windows e Linux

GlusterFS - Um Sistema de Arquivos Distribuídos (parte 2)

Gerenciando o HD com o fdisk

Instalando o KUbuntu / Ubuntu no notebook eeepc da Asus

  
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