tamanho do setor lógico muda dependendo se está conectado via USB ou SATA direto

3

Eu tenho um disco WD de 3 TB (em uma unidade externa My Book Essential.) Eu usei o parted no Linux para particioná-lo com um rótulo de disco GPT e carreguei os dados do meu laptop através do cabo USB. Então eu o abri e mudei para ser uma unidade SATA interna em um computador diferente (um desktop).

O Linux (Fedora 14 nos dois computadores) não reconhece o disco. parted disse rótulo de disco não reconhecido. Ele também relatou o tamanho do setor lógico como 512 bytes: "Tamanho do setor (lógico / físico): 512 bytes / 4096 bytes. Quando eu o conectei ao meu laptop via USB, ele foi relatado como 4096/4096.

Eu tentei reparticioná-lo multiplicando todos os deslocamentos do setor por 8, mas ele ainda não reconhecia os dados. (Não que eu esteja terrivelmente surpreso.)

Se eu alternar para a conexão USB na máquina desktop, ela retornará para setores lógicos de 4096 bytes. Portanto, parece que é a placa controladora USB que faz com que use setores lógicos de 4096 bytes. Honestamente, 4096 faz mais sentido para mim, dado que é o tamanho do setor de hardware, mas existe uma maneira de fazer com que USB ou SATA use o outro valor?

    
por user12404 10.04.2012 / 05:00

4 respostas

5

Está um pouco atrasado, mas tive um problema semelhante depois que a porta USB do meu gabinete de disco rígido IOMEGA quebrou. Mudei para outro gabinete USB-2-SATA apenas para descobrir que não consegui montar a partição EXT4. Por alguma razão, o caso IOMEGA relatou que o tamanho do setor lógico era 4096, mas meu novo caso dizia que eram apenas 512 bytes. Isso estraga a tabela de particionamento do MS-DOS.

Isso estava me enlouquecendo, porque com a ajuda de testdisk consegui acessar a partição, ao mudar o tamanho do setor, mas não encontrei nenhuma maneira de alterar o tamanho do setor em todo o sistema. Acontece que isso não é necessário, porque o EXT4 não se importa com o tamanho do setor, você só precisa encontrar o começo da partição que gostaria de acessar.

Correção rápida: Use um dispositivo de loopback para mudar para a posição correta da partição.

Correção permanente: Reescreva a tabela de partições de acordo.

No meu caso, a unidade afetada era /dev/sdb .

Minha correção rápida foi relativamente fácil, já que eu tinha apenas uma partição começando no setor 63.

$ sudo sfdisk -d /dev/sdb
# partition table of /dev/sdb
unit: sectors

/dev/sdb1 : start=       63, size=623708785, Id=83

Agora temos que calcular a posição da partição, quando o tamanho do setor ainda era de 4096 bytes:

63 sectors * 4096 bytes = 258048 bytes

E use isso com losetup :

$ sudo losetup /dev/loop0 /dev/sdb -o 258048
$ sudo mount /dev/loop0 /mnt

Sua partição deve agora ser montada em /mnt .

Para a correção a longo prazo, usei sfdisk para despejar o layout da partição:

$ sudo sfdisk -d /dev/sdb > sdb.partitions.sfdisk.text

Corrigindo a tabela de partições multiplicando com o setor inicial com 8, quando apropriado - aqui percebi que minha tabela de partições estava meio aparafusada desde o começo.

Eu editei o despejo da tabela de partições com nano sdb.partitions.sfdisk.text :

/dev/sdb1 : start=       63, size=623708785, Id=83

para:

/dev/sdb1 : start=      504, size=623708785, Id=83

e, posteriormente, estender a partição para usar todo o espaço disponível (que determinei por outros meios):

/dev/sdb1 : start=      504, size=625141944, Id=83

O último passo é escrever de volta a tabela de partições com:

$ sudo sh -c 'cat sdb.partitions.sfdisk.text | sfdisk /dev/sdb'
    
por 03.12.2012 / 15:02
2

Mais uma forma (na verdade, melhorou o mencionado aqui) para obter o acesso temporário é usar losetup e kpartx . Aqui o que eu fiz:

losetup -f /dev/sdl
kpartx -a /dev/loop2

Agora podemos usar /dev/mapper/loop2pX em vez de /dev/sdlX .

    
por 16.06.2015 / 21:07
1

Esta é uma característica comum dos discos rígidos externos atuais com grande capacidade (> = 512 GB). O tamanho do setor é convertido pela placa USB no gabinete de seu disco rígido externo, e esse truque é aparentemente usado para permitir a compatibilidade com uma ampla gama de sistemas operacionais (como o antigo Windows XP).

Isso foi exaustivamente testado e descrito por Saikee aqui: link

Sobre a sua segunda pergunta, eu não encontrei ninguém que pudesse mudar e corrigir esse comportamento, mesmo que, teoricamente, pareça possível, a unidade simplesmente não aceitará a gravação.

    
por 18.02.2014 / 14:58
0

O novo HDD externo, como as marcas WD, usa formatos predefinidos. Portanto, os resultados não são garantidos por qualquer meio. Se você ainda quiser tentar, recomendo o formato de baixo nível. Isso pode ou pode NÃO funcionar.

    
por 10.04.2012 / 10:12