Confirme se os erros do HDD ocorreram devido ao gabinete USB não suportar unidades de grande capacidade?

Confirme se os erros do HDD ocorreram devido ao gabinete USB não suportar unidades de grande capacidade?

De repente, comecei a receber erros ao copiar arquivos para meu disco rígido externo. Há muito espaço livre: 1,64 TB livre de 3,63 TB. Consegui concluir a cópia do arquivo fazendo uma de duas coisas:

  1. Excluindo alguns arquivos grandes do disco rígido externo, primeiro
  2. OU colocar o HDD em um gabinete USB diferente

Além disso, a ferramenta de verificação de erros do Windows 8 falha com um erro, a menos que um gabinete USB diferente seja usado (excluir arquivos grandes não ajuda neste caso). A ferramenta de linha de comando CHKDSK sempre funciona e não relata erros no disco.

Como posso confirmar se o gabinete do disco rígido USB era o problema?(Gostaria de confirmar que o problema foinãocom meu disco rígido e é seguro continuar usando.)E como posso determinar a capacidade suportada por um gabinete USB HDD?


informações detalhadas:

O erro ao copiar um arquivo grande:

insira a descrição da imagem aqui

  • O código 0x80070057 parece ser um código bastante genérico.
  • Logo após receber esse erro, copiei com sucesso um arquivo de 2 GB. Tentei copiar o mesmo arquivo novamente (para um total de 4 TB) e obtive o mesmo erro.
  • Nos logs de eventos do sistema, isso parece ser registrado sempre que uma cópia falha: "As cópias de sombra do volume D: foram abortadas devido a uma falha de E/S no volume D:."

Erro da ferramenta de verificação de erros do Windows 8:

  • Depois de falhar, abre o visualizador de eventos do Windows com algum erro relacionado à cópia de sombra do volume. (Esqueci de registrar os detalhes sobre este)

Hardware:

  • EnermaxJazz 3.5Gabinete USB HDD (este causa erros; é um modelo bastante antigo).
  • LetoDATACLONE3.0Dock USB HDD (este parece não ter erros; modelo muito mais recente).
  • Disco rígido VERDE de 4 TB Western DigitalWD40EZRX

Sistema de arquivo:

  • GPT (a unidade MBR de 2 TB foi clonada para uma unidade de 4 TB e, em seguida, a tabela de partição foi convertida para GPT)
  • NTFS

Sistema:

  • Janelas 8
  • Notebook Lenovo X1 Carbono

atualizar:Mais detalhes do evento registrado "As cópias de sombra do volume D: foram abortadas...":

Sistema
  - Fornecedor
   [Nome] volsnap
  - EventID 14
   [Qualificatórias] 49158
   Nível 2
   Tarefa 0
   Palavras-chave 0x80000000000000
  - Tempo criado
   [Hora do sistema] 2015-01-24T21:23:54.296013300Z
   EventRecordID 1063256374
   Sistema de canais
   Computador X1-Carbono
   Segurança
- Dados do Evento
   \Dispositivo\Disco RígidoVolumeShadowCopy6
   D:
   D:
   0000000003003000000000000E0006C00A0000000D0000C0020000000000000000000000000000

atualização 2:

Erro ao montar a unidade de 4 TB no Ubuntu com o dock que funciona no Windows:

Erro ao montar /dev/sdc1 em /media/daniel/DeskStar: linha de comando `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177 " "/dev/sdc1" "/media/daniel/DeskStar"' saiu com status de saída diferente de zero 13: ntfs_attr_pread_i: ntfs_pread falhou: erro de entrada/saída
Falha ao ler NTFS $Bitmap: erro de entrada/saída
O NTFS é inconsistente, ou há uma falha de hardware, ou é um
Hardware SoftRAID/FakeRAID. No primeiro caso, execute chkdsk /f no Windows
em seguida, reinicie no Windows duas vezes. O uso do parâmetro /f é muito
importante! Se o dispositivo for SoftRAID/FakeRAID, primeiro ative
e monte um dispositivo diferente no diretório /dev/mapper/, (por exemplo
/dev/mapper/nvidia_eahaabcc1). Por favor, veja a documentação do 'dmraid'
para mais detalhes.

A unidade não está listada em fdisk -l, então não posso tentar dd... Tentei conectar novamente ao Windows: sem problemas; A ferramenta de verificação de erros nas propriedades do disco do Windows não relata erros.

Também:

Tentei usar ddno gabinete (problemático?) Com umdiferenteDisco rígido de 2 TB:

  • Nenhum erro de leituraskip=0
  • Nenhum erro de leituraskip=SOMEWHERE_NEAR_MIDDLE_OF_DRIVE
  • Erros ao ler setores no final ou próximo ao final da unidade:
daniel@computador:~$ sudo dd bs=512 if=/dev/sdb1 of=test skip=3907026942 count=1
dd: '/dev/sdb1': não é possível pular: argumento inválido
0+0 registros em
0+0 registros fora
0 bytes (0 B) copiados, 0,000210598 s, 0,0 kB/s

Responder1

Se for a unidade USB e estiver relacionada ao tamanho, a unidade USB não está conseguindo processar corretamente uma solicitação de gravação de setor (e provavelmente de leitura também). O tamanho do arquivo não importa. A causa é que o arquivo maior possui "pedaços" que ultrapassam o limite endereçável.

Devido à fragmentação do disco, é difícil confirmar ou negar esta hipótese, mas você pode tentar com qualquer ferramenta que exiba o mapa de fragmentação do disco. Isso deve exibir um disco grande com o início sendo preenchido enadapassado de um certo ponto. Não no final, especialmente.

Em um disco FAT32 você pode tentar preencher o disco com arquivos pequenos, cada um com 8Kb de tamanho, até que a área "alcançável" seja preenchida e o disco se torne não gravável. Mas o disco é NTFS e, no entanto, o método não é muito preciso ou certo.

Se possível, eu montaria o disco em uma distribuição Linux live. Nesse ponto, você poderia tentar ler o disco, um setor de cada vez:

fdisk -l

informará quantos blocos de 512 bytes existem no disco externo. Então

dd bs=512 if=/dev/sdc of=test skip=NNNNN count=1

solicitará uma leitura do setor NNNNN (baseado em um :-)).

Se for uma questão de limite para NNNNN, você observará que:

N=1         it works
N=MAX_NUM   it fails
N=MAX_NUM/2 it fails

...

então você pode começar com um clássicoalgoritmo de bissecçãoe determine onde está o setor crítico "C" (qualquer setor antes de C é legível, qualquer setor depois não é). Se tal setor existir, você terá um dano de hardware incrivelmente estranho ou a prova que procurava da culpa do gabinete.

Atualização - encontrando o limite pela bissecção: um exemplo

Digamos que o disco tenha 4 TB, ou seja, 8.000.000.000 de setores. Sabemos que o setor 1 é legível e o setor 8 bilhões não. Deixe READABLE ser 1, deixe UNREADABLE ser 8. Então o algoritmo é:

 let TESTING be (READABLE + UNREADABLE)/2
 if sector TESTING is readable then READABLE becomes equal to TESTING
 else, UNREADABLE becomes equal to TESTING.
 Lather, rinse, repeat with the new values of (UN)READABLE.
 When two consecutive values of TESTING are obtained, that's your boundary.

Vamos imaginar que o limite esteja no setor 3.141.592.653 por causa de algum bug estranho no recinto.

 first pass: testing = (1 + 8000000000)/2 = 4000000000.
 4,000,000,000 is unreadable, so replace 8,000,000,000 with 4,000,000,000
 second pass: testing (1 + 4M)/2 = 2M
 sector 2M is readable, so replace 1 with 2,000,000,000
 third pass: testing (2M + 4M)/2 = 3M
 sector 3,000,000,000 is readable
 fourth pass: testing (3M + 4M)/2 = 3,500,000,000 which is UNREADABLE
 fifth: (3 + 3.5) / 2 = 3,250,000,000 UNREADABLE
 ...

Assim, READABLE e UNREADABLE perseguem a fronteira desconhecida cada vez mais de perto, em ambas as direções. Quando eles estão próximos o suficiente, você pode até tentar todos os setores intermediários.

Para localizar o limite, apenas log2(max - min) = log2(4TB - 0) = log2(4TB) = log2(2 40 ) = 40 (na verdade, acho que talvez 42) setores precisam ser lidos. Dado um atraso de reinicialização de 30" no gabinete quando ocorre um erro de leitura, isso deve ser de 20 minutos no máximo; provavelmente muito menos.

Depois de ter o limite B, para confirmá-loéum limite, você pode fazer uma leitura sequencial de grandes pedaços antes de B (isso não demorará muito), talvez um megabyte a cada gigabyte ou mais; e então uma amostragem aleatória de setores além de B. Por exemplo, os primeiros 4*63 setores além do limite, depois um setor a cada 3905 (ou cada RAND(4000, 4100) ) para tentar evitar bater sempre no mesmo prato magnético.

Mas, na verdade, se você encontrar um comportamento semelhante a um limite e confirmar isso com outro recintonão existe tal limite- bem, eu declararia o caso encerrado.

Responder2

OK, acho que descobri:

  • Examine o dmesglog para verificar a memória endereçável suportada pelo dispositivo USB.
  • O Linux parece impedir o uso de um disco rígido se exceder a memória endereçável de um dispositivo USB. (Com vários erros).
  • O Windows permite o uso de um disco rígido mesmo que exceda a memória endereçável de um dispositivo USB. (Até que o limite de endereço seja atingido.) (Então o problema era... Windows?)

A mesma unidade, gabinetes diferentes resultam em duas capacidades relatadas diferentes:

  • 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
  • 3519069872 512-byte logical blocks:(1.80 TB/1.63 TiB)

Detalhes completos:

1. dmesgao conectar dock "moderno" com unidade de 4 TB:

[93507.922275] usb 1-1.2: novo dispositivo USB de alta velocidade número 17 usando ehci-pci
[93508.087948] usb 1-1.2: Novo dispositivo USB encontrado, idVendor=067b, idProduct=2773
[93508.087959] usb 1-1.2: Novas strings de dispositivo USB: Mfr=1, Produto=2, SerialNumber=3
[93508.087964] usb 1-1.2: Produto: Controlador de ponte ATAPI-6
[93508.087969] usb 1-1.2: Fabricante: Prolific Technology Inc.
[93508.087973] usb 1-1.2: Número de série: 0123456789000000110
[93508.088621] usb-storage 1-1.2:1.0: dispositivo de armazenamento em massa USB detectado
[93508.089092] scsi24: armazenamento usb 1-1.2:1.0
[93509.087318] scsi 24:0:0:0: Ponte C MPAO prolífica de acesso direto ATAPI-6 PQ: 0 ANSI: 0
[93509.087836] sd 24:0:0:0: SCSI genérico sg2 tipo 0 anexado
[93509.088684] sd 24:0:0:0: [sdb] Dispositivo muito grande. Tentando usar READ CAPACITY(16).
[93509.089837] sd 24:0:0:0: [sdb] 7814037168 Blocos lógicos de 512 bytes: (4,00 TB/3,63 TiB)
[93509.090945] sd 24:0:0:0: [sdb] Proteção contra gravação está desativada
[93509.090958] sd 24:0:0:0: [sdb] Sensor de modo: 03 00 00 00
[93509.092819] sd 24:0:0:0: [sdb] Nenhuma página de modo de cache encontrada
[93509.092832] sd 24:0:0:0: [sdb] Assumindo cache da unidade: gravação
[93509.094321] sd 24:0:0:0: [sdb] Dispositivo muito grande. Tentando usar READ CAPACITY(16).
[93509.100539] sd 24:0:0:0: [sdb] Nenhuma página de modo de cache encontrada
[93509.100545] sd 24:0:0:0: [sdb] Assumindo cache da unidade: gravação
[93509.170090] sdb: sdb1
[93509.171931] sd 24:0:0:0: [sdb] Dispositivo muito grande. Tentando usar READ CAPACITY(16).
[93509.176059] sd 24:0:0:0: [sdb] Nenhuma página de modo de cache encontrada
[93509.176078] sd 24:0:0:0: [sdb] Assumindo cache da unidade: gravação
[93509.176086] sd 24:0:0:0: [sdb] Disco SCSI anexado

2. dmesgao conectar um gabinete mais antigo com unidade de 4 TB:

[89939.561869] usb 1-1.2: novo dispositivo USB de alta velocidade número 14 usando ehci-pci
[89939.656581] usb 1-1.2: Novo dispositivo USB encontrado, idVendor=152d, idProduct=2338
[89939.656592] usb 1-1.2: Novas strings de dispositivo USB: Mfr=1, Produto=2,SerialNumber=5
[89939.656598] usb 1-1.2: Produto: USB para ponte ATA/ATAPI
[89939.656602] usb 1-1.2: Fabricante: JMicron
[89939.656606] usb 1-1.2: Número de série: 0613316A1498
[89939.658334] usb-storage 1-1.2:1.0: dispositivo de armazenamento em massa USB detectado
[89939.658805] scsi20: armazenamento usb 1-1.2:1.0
[89940.659147] scsi 20:0:0:0: HGST HMS de acesso direto 5C4040ALE640 A580 PQ: 0 ANSI: 2 CCS
[89940.659959] sd 20:0:0:0: SCSI genérico sg2 tipo 0 anexado
[89940.661373] sd 20:0:0:0: [sdb] 3519069872 blocos lógicos de 512 bytes:(1,80 TB/1,63 TiB)
[89940.662410] sd 20:0:0:0: [sdb] Proteção contra gravação está desativada
[89940.662424] sd 20:0:0:0: [sdb] Sensor de modo: 00 38 00 00
[89940.663438] sd 20:0:0:0: [sdb] Falha ao solicitar dados de cache
[89940.663446] sd 20:0:0:0: [sdb] Assumindo cache da unidade: gravação
[89940.667752] sd 20:0:0:0: [sdb] Falha ao solicitar dados de cache
[89940.667761] sd 20:0:0:0: [sdb] Assumindo cache da unidade: gravação
[89940.684862] sdb: tabela de partição desconhecida
[89940.687887] sd 20:0:0:0: [sdb] Falha ao solicitar dados de cache
[89940.687893] sd 20:0:0:0: [sdb] Assumindo cache da unidade: gravação
[89940.687897] sd 20:0:0:0: [sdb] Disco SCSI anexado

Responder3

Existem algumas maneiras de testar seu disco rígido, baixe um software chamado "HDTune". Este é um programa pago, mas possui uma versão de teste que dura 30 dias com todas as funcionalidades. Você pode usá-lo para verificar setores defeituosos e verificar a integridade do disco rígido. De qualquer forma, você teve setores defeituosos, você pode tentar consertar com HDD Regenerators,Baixar HirensQue eu pessoalmente uso.

Certifique-se de não ter nenhum disco rígido inserido além daquele que deseja testar. é inicializável, você pode gravá-lo em um CD ou em uma unidade USB.

o próximo que sugiro é verificar seus cabos. Principalmente em drives externos, normalmente esses erros são causados ​​​​por falta de energia, tente inseri-lo em outro computador ou trocar os cabos se tiver extras e veja se ainda falha.

Responder4

É estranho que gere erro em arquivos acima de 4GB. Como o FS é NTFS, a limitação está excluída.

Suspeito que seja um erro de dessincronização do buffer.

Tente isto: vá para regedit -> HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\System Crie um novo valor DWORD chamado CopyFileBufferedSynchronousIo. Altere seu valor do padrão 0 para 1.

Outras coisas a considerar: Você tem caminhos e nomes de arquivos muito grandes (como mais de 255 caracteres)? Você usa idiomas adicionais no sistema operacional ou diferentes da configuração padrão de formato regional/teclado ou de hora/data? (Por mais estranho que pareça, eles podem quebrar muitas coisas nas janelas). Como alternativa, o controlador da unidade externa pode não conseguir endereçar mais de 2,0 TB. -edit- Você pode postar uma captura de tela do espaço exato usado atualmente?

informação relacionada