As questões do tamanho do setor estão se tornando bastante complexas. Até o final de 2009, a grande maioria dos discos rígidos usava setores de 512 bytes, e foi isso. No final de 2009, os fabricantes de discos começaram a introduzir os chamados discos Advanced Format (AF), que usam setores de 4096 bytes. Esses primeiros discos AF (e, AFAIK, todos os discos AF hoje) apresentam uma interface para o computador que mostra cada setor físico de 4096 bytes como sendo dividido em oito <5> lógicas setores. Essa conversão permite que ferramentas mais antigas, incluindo muitas BIOS, que foram criadas com suposições de 512 bytes, continuem funcionando. Eu não sei se o seu disco usa AF ou não, mas em qualquer caso, quase certamente usa um tamanho de setor lógico de 512 bytes, o que significa que a interface para o sistema operacional deve usar setores de 512 bytes.
A complicar é a questão de certos compartimentos de disco USB. Alguns desses compartimentos fazem o inverso do que o AF faz: eles pegam oito setores de disco e os agrupam em um novo setor de 4096 bytes. Não tenho certeza de qual é o raciocínio por trás dessa mudança, mas uma vantagem prática é que discos maiores que 2TiB podem ser usados com o antigo sistema de particionamento MBR. Uma grande desvantagem é que um disco particionado em um desses gabinetes não pode ser usado diretamente ou em um gabinete que não faça esse tipo de conversão. Da mesma forma, um disco preparado sem essa tradução não pode ser usado quando é transferido para tal gabinete. Note que este problema vai muito além do próprio MBR; seu disco pode identificar a primeira partição como começando em (512 bytes) setor 2048, mas se o seu sistema operacional fosse procurar o setor (2096-byte) 2048, ele não encontraria o início dessa partição ! Você se deparou com esse problema. Como tal, o seu pensamento inicial de que é a falha do invólucro USB está mais próximo da marca do que seu pensamento mais recente de que sua placa-mãe estragou tudo. Eu nunca ouvi falar de uma placa-mãe traduzindo o tamanho do setor dessa maneira. (Alguns dispositivos RAID de hardware fazem isso, no entanto.)
Eu não sei como forçar o Linux a ajustar sua idéia do tamanho do setor, mas se você tiver espaço em disco suficiente, fazer uma cópia de disco de baixo nível para outro disco pode ajudar. Por exemplo:
dd if=/dev/sdb of=~/image.img
Isso copiará seu disco de /dev/sdb
(o disco USB; ajuste conforme necessário) para o arquivo ~/image.img
. Você pode então usar o seguinte script para montar as partições da imagem:
#!/bin/bash
gdisk -l $1 > /tmp/mount_image.tmp
let StartSector='egrep "^ $2|^ $2" /tmp/mount_image.tmp | fmt -u -s | sed -e 's/^[ \t]*//' | head -1 | cut -d " " -f 2'
let StartByte=($StartSector*512)
echo "Mounting partition $2, which begins at sector $StartSector"
mount -o loop,offset=$StartByte $1 $3
rm /tmp/mount_image.tmp
Salve o script como, por exemplo, mount_image
e use-o da seguinte forma:
./mount_image ~/image.img 2 /mnt
Isso montará a partição 2 de image.img
to /mnt
. Observe que o script depende do fdisk da GPT ( gdisk
) , que a maioria das distribuições inclui em um pacote chamado gptfdisk
ou gdisk
.
A longo prazo, uma solução melhor é encontrar uma maneira de conectar o disco que não fará a tradução do tamanho do setor. Uma conexão direta com uma nova placa-mãe deve fazer o truque; ou você provavelmente encontrará um gabinete externo que não faz a tradução. Na verdade, alguns gabinetes fazem a tradução em portas USB, mas não em portas eSATA, portanto, se o seu gabinete tiver uma porta eSATA, você poderá tentar usá-lo. Eu percebo que é provável que todas essas soluções custem dinheiro, o que você diz que não tem, mas talvez você possa trocar o seu espaço de tradução por um que não faça a tradução.
Outra opção que me ocorre é tentar usar uma máquina virtual como o VirtualBox. Tal ferramenta pode assumir um tamanho de setor de 512 bytes ao acessar o dispositivo de disco, efetivamente desfazendo a tradução; ou você pode copiar o conteúdo do disco bruto (como em dd if=/dev/sdc of=/dev/sdb
) na máquina virtual, que pode copiar o conteúdo com compactação, permitindo que a imagem caiba em menos espaço em disco do que o original consome.