Recuperando um disco de um Mac dos Anos 90 com Linux

Recentemente recebi uma mensagem pelo site do Piso que dizia o seguinte: “Queria saber se vocês conseguem recuperar informação de velhos Macs”. Troquei algumas mensagens com o Miguel e descobri que se tratavam de dois HDs (um de um Macintosh IIvx e um de um Powerbook 190). Fiquei de fazer um teste e ver se era capaz de extrair o conteúdo do HD que veio no Performa 450 (LC III).

O objetivo era simples: criar uma imagem completa do disco, montar seu sistema de arquivos HFS no Linux e recuperar os documentos armazenados nele.

A primeira coisa a se fazer foi ligar um computador de maneira provisória sobre a mesa e fazer boot com um HD com Ubuntu instalado. Tinha uma placa SCSI Tekram DC-310 que é facilmente reconhecida em Linux e foi nela que liguei o HD do Performa para ver se isso era realmente possível.

Pedi ajuda ao ChatGPT com os comandos para usar no terminal e depois ainda pedi que ele fizesse a estrutura desse post aqui. Editei bastante, adicionei imagens, mas esse aviso é importante.

Depois de alguns testes, encontrei um fluxo de trabalho bastante confiável que funcionou tanto para o disco de 120 MB do Performa, como depois posteriormente para os discos do computadores do Miguel.

1. Identificando o disco SCSI

Após instalar uma controladora SCSI PCI e conectar o disco, o primeiro passo foi verificar se o Linux o reconhecia:

lsblk

No meu caso, o disco apareceu como:

/dev/sdb

Perfeito!

2. Criando uma imagem do disco

Para preservar o conteúdo original, a primeira tarefa é criar uma imagem binária completa do disco.

sudo dd if=/dev/sdb of=~/scsi_120Mb.img bs=4M status=progress conv=noerror,sync

Onde:

  • if= define o disco de origem;
  • of= define o arquivo de destino;
  • bs=4M utiliza blocos maiores para acelerar a cópia;
  • status=progress exibe o progresso;
  • conv=noerror,sync faz com que a cópia continue mesmo diante de setores defeituosos.

Para discos com muitos erros de leitura, o ideal é utilizar ddrescue, que realiza tentativas mais inteligentes de recuperação.

3. Descobrindo a estrutura de partições

Com a imagem criada, podemos analisar sua tabela de partições:

sudo parted ~/scsi_120Mb.img print

O resultado com um disco do Miguel foi:

Number Start End Size File system Name
1 512B 24.1kB 23.6kB Apple
2 24.1kB 65.5kB 41.5kB FWB Disk Driver
3 65.5kB 245MB 245MB hfs MacOS

A partição que interessa é a partição HFS, neste caso a número 3.

4. Calculando o offset

Para montar apenas a partição HFS, precisamos calcular seu deslocamento dentro da imagem, ou seja, o local em bytes onde ela começa..

O início da partição é:

65.5 kB

Convertendo para bytes (porque sabemos que nessa época a grande maioria dos discos tinham 512 bytes por setor):

65.5 kB = 65536 bytes

Outra forma de pensar é:

128 setores × 512 bytes = 65536 bytes

Esse valor será usado no parâmetro offset.

5. Criando um ponto de montagem

sudo mkdir -p /mnt/mac

6. Montando o sistema de arquivos HFS

Agora podemos montar a partição HFS em modo somente leitura (ro = read-only):

sudo mount -t hfs -o ro,loop,offset=65536 ~/scsi_230Mb.img /mnt/mac

Após isso, os arquivos ficam acessíveis em:

/mnt/mac

O HD que usei de testes estava em francês e tudo correu muito bem aqui…

7. O problema dos nomes de arquivos

No caso de um dos HDs do Miguel, a instalação estava em Português e tinha ç, ã, etc. Ao abrir a pasta montada, muitos nomes apareciam corrompidos:

Aplica\215\233es
Utilit\223rios

Isso acontece porque os Macintosh clássicos utilizavam a codificação MacRoman, enquanto os sistemas atuais utilizam UTF-8. Os arquivos estavam íntegros, mas os nomes não eram exibidos corretamente.

8. Convertendo os nomes para UTF-8

A solução mais elegante foi utilizar o rsync com conversão automática de caracteres enquanto já copiava os arquivos da imagem gerada para uma pasta na Área de Trabalho do computador:

rsync -av --iconv=macintosh,utf-8 /mnt/scsi230/ ~/Desktop/scsi230_utf8/

A partir dessa pasta já é possível copiar os arquivos com os nomes corretos para outro lugar ou abrí-los e explorar seu conteúdo.

Considerações finais

Foi surpreendente perceber como discos Macintosh de quase trinta anos ainda podem ser lidos sem grandes dificuldades utilizando ferramentas disponíveis em uma distribuição Linux moderna.

O fluxo que funcionou foi:

  1. Identificar o disco com lsblk;
  2. Criar uma imagem com dd ou ddrescue;
  3. Examinar a tabela de partições com parted;
  4. Calcular o offset da partição HFS;
  5. Montar a imagem em modo somente leitura;
  6. Extrair os arquivos usando rsync --iconv=macintosh,utf-8.

Com esse procedimento foi possível recuperar documentos, programas e dados pessoais preservados em discos Macintosh que permaneceram guardados por décadas.

PS: o Miguel ainda teve algumas dificuldades ao abrir os documentos em um programa Word moderno num sistema operacional Windows. Ficava recebendo alertas da Central de Confiança. Uma busca rápida nos levou a instruções para permitir que arquivos de versões antigas do Word pudessem ser abertos sem esse bloquei e estava tudo resolvido!

PS2: em Linux, com o Libre Office, não houve qualquer dificuldade em abrir os documentos.

Lembrança • Meu primeiro bege sério

Esse texto eu achei na pasta das colunas que eu escrevi para o Fotosite. Ele trata do desafio de aprender a usar um computador velho para fazer funcionar um scanner ainda mais velho. Isso só tem piorado com o passar do tempo, mas eu continuo insistindo, estranho né?

Na semana da Páscoa, aproveitei o bode geral e me mandei para um sítio em Ouro Preto. Era um grupo grande de amigos por lá e sempre rolavam aquelas partidas de buraco noite adentro na falta do que mais fazer (o céu permaneceu nublado os quatro dias, caso contrário, provavelmente fotografaríamos as estrelas). E enquanto jogava baralho, percebi que existem duas estratégias no buraco: ou o jogador coleciona todas as cartas que pode, ou comprando do baralho ou pegando da mesa, ou o jogador corre para a batida mantendo uma mão leve. Enquanto um se enche de possibilidades, o outro fica só com as cartas mais ágeis.

Na fotografia eu guardo muitas coisas e espero, espero e espero, tentando fazer um jogo bem bacana. Vou buscando coisas fotográficas ou informáticas, que vou juntado até poder reviver um meio de gerar imagens novas com coisas velhas. Foi numa dessas que, depois de tanto juntar scanners e outros periféricos com interface SCSI, tive que “comprar uma carta do baralho”, ou seja, ir atrás de um Mac bege para ver o que dessa coleção de fato funcionava e poderia se comunicar com o resto das minhas tranqueiras ligeiramente mais modernas. O pré-requisito para essa máquina era já ter SCSI e ethernet, assim eu poderia ligar a máquina aos periféricos e à rede.

Na região da rua Santa Efigênia, em São Paulo, existem algumas lojas que já se especializaram em Macs e não é difícil esbarrar neles por lá. Numa dessas lojas encontrei várias torres G3 beges com 266 Mhz. Era mais ou menos isso que eu procurava. Era tudo uma bagunça e tive que abrir pelo menos umas 6 para achar uma que estivesse completa com HD, memória de vídeo e cabos internos. O preço era dentro do meu orçamento: R$ 180. Com um pouco de carinho a máquina até chegou a ligar na loja, bem promissor.

Chegando ao ateliê, a máquina ligada emitia na tela, repetidamente, a mensagem “can’t open”, durante vários segundos, até que finalmente começava a ligar, carregando o sistema. Pesquisando no google, descobri que esse erro de firmware é típico de Macs dessa época, após uma tentativa frustrada de instalar um sistema mais moderno. Abri uma tela e digitei o que mandava um site francês e tudo se resolveu, boots perfeitos daqui em diante. Verificando as propriedades da máquina através de algumas ferramentas do sistema levei tamanho susto, havia um chip G4 dentro do meu computador! E rodava quase com o dobro da velocidade marcada na etiqueta externa (mas esse fato não era realmente perceptível). E pior, nenhum cache instalado no RAM! Desliguei tudo e abri a máquina. De fato, estava ali um chip Motorola 7410 (o G3 seria o Motorola 750). O computador em si não parecia nem um pouco incomodado com o chip mais moderno, só não reconhecia suas maiores e melhores funcionalidades.

De volta ao google, fui cair no site da Powerlogix, um fabricante de kits para upgrades. Encontrei um software capaz de explicar para um computador tão velho o que fazer com um processador não tão velho e como reconhecer o cache presente no próprio chip. Instalei esse software e tudo começou a correr muito bem e muito rápido! Estava diante de um G3 tunado com um processador provavelmente vindo de um G4 que queimou ou pifou de vez. Instalei o MacBench, um software que mede a velocidade de um sistema Mac. O G3 tunado tem o dobro da velocidade original dele, bem bacana, para uma máquina de 180 pila. E o mais curioso, o HD desse Mac estava batizado como Scanner.

Com o G3 rodando, instalei um scanner Sharp bem antiguinho e bem pesado. Consegui o driver desse scanner no site alemão da marca, que ainda tinha uma seção de downloads para algumas relíquias! O scanner deu um certo trabalho, ligar e desligar várias vezes, devia estar parado há muitos anos. Finalmente, consegui uma imagem única e depois ele se foi de vez.

Se você tem alguma coisa fotográfica ou informática que não quer mais, eu me disponho a descobrir algo para fazer com ela.