Eu tenho duas unidades de disco rígido USB Western Digital de 3 TB supostamente idênticas. Um contém quase 3 TB completos de dados. Quero que o outro seja um backup desses dados. Existem muitos arquivos pequenos, então a execução cp
seria ainda mais lenta do que copiar 3 TB por USB usando o arquivo dd
. Ambas as unidades foram compradas ao mesmo tempo, ambas usam tabela de partição MSDOS, mas uma mostra tamanhos de setor lógico/físico de 4096/4096 e a outra mostra 512/4096.
Meu problema é que estou tentando copiarparaa unidade 512/4096, mas não consigo criar uma partição grande o suficiente devido aos limites da tabela de partição MSDOS com setores (lógicos) de 512 bytes. Eu tentei vários comandos ( dd
dos primeiros setores para particionar a tabela, parted
, fdisk
, gparted, Windows XP “Gerenciar” e Windows 7 “Gerenciar”), mas acabei com limites máximos de 2 TB ou partições de ~ 300 GB que pensavam que tinham 3 TB quando eles foram criados.
Dado que uma das minhas unidades está rodando em 4096/4096, entãoessa questãonão é verdade para o meu caso.
Usar GPT é minha opção alternativa, mas cria uma partição um pouco menor que a partição NTFS, então eu não conseguiria apenas dd
o sistema de arquivos na partição.
Existe uma maneira de forçar 4096/4096 para uma tabela de partição MSDOS (do Linux ou do Windows) para que eu possa criar uma partição de 3 TB que corresponda perfeitamente ao meu disco de origem?
Responder1
Acabei de ter um problema semelhante. Eu tinha uma unidade Seagate 3TB USB Desktop Expansion que queria transferir para o meu PC para acesso mais rápido (eu só tinha USB 2.0 no PC). Depois que fiz isso, não consegui acessar o sistema de arquivos. Devolvê-lo ao controlador USB para SATA fez com que funcionasse novamente. Comparando os dois descobri que no gabinete externo (usando o controlador USB para SATA) o drive tinha tamanhos de setor lógico/físico 4096/4096 e quando conectado à placa-mãe SATA interna, tinha tamanhos de setor lógico/físico 512/4096. Muito parecido com o OP sugere, um tamanho de setor lógico de 4096 permite partições> 2TiB, mas no tamanho de setor de 512 obtemos o limite de 2TiB. Eu não queria copiar coisas (lentamente por USB) para algum lugar, reparticionar (GPT), reformatar e copiar de volta, então continuei. Minha solução definitiva no Linux foi:
Exclua a tabela de partição MBR original que usa setores de 4k. Use gdisk (variante GPT do fdisk) para criar a partição usando setores de 512 bytes abrangendo exatamente a mesma área. Isso basicamente equivalia a pegar os setores de início/fim da partição em 4K-land e multiplicar por 8. Eu tinha um off-by no final, então adicionei mais 8 lá e até agora tudo bem (e2fsck me alertou para isso.) O e2fsk ainda está funcionando, então não tenho 100% de certeza se estou seguro, mas parece tudo bem em teoria e montei os arquivos um pouco e eles pareciam bem.
Responder2
Muitas unidades USB externas Western Digital com mais de 2 TB (incluindo pelo menos algumas unidades My Book, My Book Essential, Elements e Easystore) podem ser configuradas para setores lógicos de 512 bytes ou setores lógicos de 4096 bytes usando a ferramenta WD Quick Formatter. Quando configurada para setores lógicos de 4.096 bytes, a ponte USB para SATA no gabinete faz uma tradução entre setores lógicos de 512 bytes na interface SATA para a unidade interna e setores lógicos de 4.096 bytes na interface USB para o computador host.
Com setores lógicos de 512 bytes, uma tabela de partição MBR só poderia usar até 2 TB de unidade. Isso ocorre porque as entradas da tabela MBR são de 32 bits com um máximo de 2 ^ 32 ou 4.294.967.296 setores. 2 ^ 32 setores x 512 bytes/setor equivalem a 2 TB. Com setores lógicos de 4.096 bytes, uma tabela de partição MBR pode usar até 16 TB de uma unidade. (2 ^ 32 setores x 4.096 bytes/setor é 16 TB) O Windows XP oferece suporte apenas a tabelas de partição MBR e, portanto, setores lógicos de 4.096 bytes são a única maneira de usar todo o espaço em uma unidade com mais de 2 TB no Windows XP. O formato de tabela de partição GPT mais recente compatível com o Windows Vista e versões posteriores não tem a limitação de 32 bits e pode oferecer suporte a discos maiores que 2 TB, independentemente do tamanho do setor.
OFerramenta WD Quick Formatter(versão 2.0.0.65 disponível para download no momento desta redação) pode ativar ou desativar a tradução do tamanho do setor. Esta versão da ferramenta não funciona corretamente no Windows XP, por isso recomendo executar a ferramenta no Windows 7 ou posterior. Quando executada no Windows 7, ou em versões posteriores do Windows, mas com modo de compatibilidade do Windows 7, a ferramenta apresentará duas opções de configuração na tela “Formatar sua unidade externa WD”:
- Compatível com XP: Esta opção configura a unidade para setores lógicos de 4096 bytes e cria uma tabela de partição MBR.
- Mais compatível (requer Vista ou posterior): Esta opção configura a unidade para setores lógicos de 512 bytes e cria uma tabela de partição GPT.
Ambas as opções também criam uma única partição preenchendo toda a unidade e formatam-na rapidamente em NTFS.
Se você executar a ferramenta no Windows 8 ou posterior sem colocá-la no modo de compatibilidade do Windows 7, a ferramenta não apresentará opção de compatibilidade na tela de formatação e formatará no modo "mais compatível" (setores lógicos de 512 bytes).
O WD Quick Formatter 2.0.0.65 não funciona corretamente no Windows XP: ele configura setores lógicos de 4.096 bytes com êxito, mas não formata corretamente. Outra ferramenta pode ser usada posteriormente para particionar e formatar a unidade.
O WD Quick Formatter 1.2.0.10 funciona corretamente no Windows XP, mas não está mais disponível para download na Western Digital.
Quando a unidade de destino estiver configurada para o mesmo tamanho de setor lógico da fonte, você poderá copiá-la usando dd e a cópia funcionará sem a necessidade de alterar a tabela de partição.
Posso confirmar que essas unidades USB externas Western Digital podem ser configuradas para compatibilidade com XP:
Easystore 14 TB (WDBCKA0140HBK)
Easystore 12 TB (WDBCKA0120HBK)
Easystore 8 TB (WDBCKA0080HBK)
Meu livro Essential 1140, 3 TB (WDBACW0030HBK)
Elementos 1021, 3 TB (WDBAAU0030HBK)
Responder3
Seu problema provavelmente é semelhante aComo corrigir o MBR do setor de 512 bytes em um disco do setor de 4.096 bytes?. Resumindo, é a limitação do firmware do gabinete USB por não compreender o formato do setor 4K
O tamanho do setor físico é o tamanho do setor nativo do HDD, portanto não há como "forçá-lo" a alterar esse valor, a menos que você encontre alguma maneira de atualizar o firmware da unidade e fazer uma formatação de baixo nível
Alguns HDDs 4K (antigos) podem suportaremuladoModo de setor de 512 bytes (chamado 512e, que é o que sua unidade 512/4096 faz) em que o tamanho físico ainda é 4K, mas relata como tendo um setor de 512 bytes que é o tamanho lógico. Isso significa que as partições devem estar alinhadas corretamente para 4K ou o desempenho será bastante afetado. Tecnicamente, esse valor lógico relatadopoderiaser alterado por algum software de configuração de disco ou pela atualização do firmware, se o fabricante suportar.
No entanto, não tenho conhecimento de nenhum software desse tipo. Se você vir valores lógicos diferentes para o mesmo disco, é porque o controlador de disco antigo no gabinete externo não entende o novo formato 512e ou 4K. Isso acontece muito com HDDs USB, como mencionado emA resposta de Shane Andersone:
- o tamanho do setor lógico muda dependendo se ele está conectado via USB ou SATA direto
- controladores usb sata emulação 4k
- As unidades de disco rígido ativam 512e (emulação de 512 bytes de setores de 4k) conforme necessário, dependendo do controlador host?
- HDD de 3 TB mostrando tamanho de setor lógico 512 quando conectado via SATA
Na verdade, muitos gabinetes USB antigos nem suportam unidades maiores que 2 TB
- Alguém sabe por que os gabinetes de unidades USB mais antigos têm um limite de tamanho de 2 TB?
- Existe um limite de tamanho para discos rígidos USB externos?
Pior ainda, alguns gabinetes fazem o inverso, combinando setores de 512 bytes com setores de 4K
Para complicar as coisas estão certos gabinetes de disco USB. Alguns desses gabinetes fazem o inverso do que o AF faz: eles pegam oito setores de disco e os agrupam em um novo setor de 4.096 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 tradução. Da mesma forma, um disco preparado sem esta tradução não pode ser usado quando é transferido para tal gabinete.
Como corrigir o MBR do setor de 512 bytes em um disco do setor de 4.096 bytes?
Problemas semelhantes:
- Tamanho do setor do cabo SATA para USB
- Por que minha unidade USB mostra dados corrompidos quando conectada como uma unidade SATA interna?
- HDDs de formato avançado, compartimentos USB e compatibilidade com Windows/Linux
Além disso, você não deve usar o dd para copiar discos. Em vez disso, use algumas ferramentas de clonagem de disco, elas serão inteligentes o suficiente para ignorar clusters em branco e também serão capazes declonagem entre discos com tamanhos diferentes
Além disso, não existe uma "tabela de partição DOS", mas MBR e GPT (e alguns outros formatos incomuns). Infelizmente, o gparted e muitas ferramentas Linux chamam isso de "msdos", o que é incorreto
Com o MBR você só pode endereçar 2 setores de 32 (2 TB com setor de 512 bytes e 16 TB com setor de 4K). É por isso que sua unidade 4096/4096 funciona corretamente. Suponho que a solução alternativa de Shane Anderson funcione, mas se não funcionar, a única maneira é usar GPT. Na verdade, o GPT seria recomendado mesmo se você tiver apenas uma partição, pois suporta soma de verificação e uma tabela de partição de backup, o que reduz significativamente a chance de corrupção/exclusão acidental.
Responder4
Sim e não.
Você não pode alterar o tamanho do setor físico e poucas unidades permitirão alterar o tamanho do setor da camada de transporte, portanto você sempre gravará um múltiplo de 4K por vez.
No entanto, o tamanho do sector lógico não tem nada a ver com o tamanho do sector físico, e o sistema operativo pode lidar com tais conversões combinando escritas.
A unidade SEMPRE será acessada 4.096 bytes por vez. Dito isto, o driver de dispositivo de bloco de qualquer sistema operacional moderno pode converter entre tamanhos de setor, mais conhecidos atualmente como Tamanhos de Bloco, e assim os tamanhos de bloco de partição não precisam corresponder ao tamanho de bloco do dispositivo subjacente.
Você pode usar facilmente partições de setor lógico de 4K em um dispositivo de setor lógico de 512 bytes ou uma partição de setor lógico de 512 bytes em um dispositivo de setor lógico de 4K.
Além disso, o setor lógico no nível da partição não precisa corresponder ao tamanho do bloco do setor usado no sistema de arquivos.
O Linux e, por extensão, o Android, usa o tamanho do bloco (que é o tamanho do setor lógico no nível do sistema de arquivos) de 1024, 2048 ou 4096 no ExtFS. (Em unidades de setor de 512 bytes, serão utilizados vários setores físicos para formar um bloco lógico).
No FAT32, o DRDOS 6.x suportava discos maiores usando setores lógicos de 8K, e o Linux pode usar setores lógicos ainda maiores. Isso permite a criação de partições FAT32 muito maiores.
Da mesma forma, muitos programas de software, ao gerenciar sistemas de arquivos muito pequenos que contêm um grande número de arquivos incrivelmente pequenos, usaram programas com tamanhos de setor lógico tão pequenos quanto 64 KB.
Referências:
Páginas de manual do Linux MSDOSTOOLS
Página de manual do Linux mke2fs
Páginas da Wikipedia sobre FAT: