Confirme se os erros do HDD foram causados pelo fato de o compartimento USB não suportar unidades de grande capacidade?

4

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

  1. Excluindo alguns arquivos grandes do disco rígido externo, primeiro
  2. OU colocando 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 (a exclusão de arquivos grandes não ajuda nesse caso). A ferramenta de linha de comando CHKDSK sempre funciona e não relata erros no disco.

Como eu confirmo que o HDD USB foi o problema? (Eu gostaria de confirmar que o problema não estava com meu disco rígido e é seguro continuar usando .) E como posso determinar a capacidade suportada por um gabinete de HDD USB?

informações detalhadas:

O erro ao copiar um arquivo grande:

  • Ocódigo0x80070057pareceserumcódigobastantegenérico.
  • Logodepoisdereceberesseerro,copieicomêxitoumarquivode2GB.Eutenteicopiaromesmoarquivonovamente(paraumtotalde4TB)eobteromesmoerro.
  • Noslogsdeeventosdosistema,issopareceserregistradosemprequeumacópiafalha:"As cópias de sombra do volume D: foram canceladas devido a uma falha de IO no volume D:".

Erro na 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:

  • Enermax Jazz 3.5 USB HDD enclosure (Esse causa erros; é um modelo bem antigo.)
  • Leto DATACLONE3.0 USB HDD dock (Este parece ter sem erros, modelo muito mais recente.)
  • Disco rígido Western Digital 4TB VERDE WD40EZRX

Sistema de arquivos:

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

Sistema:

  • Windows 8
  • Computador portátil Lenovo X1 Carbon

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

System 
  - Provider 
   [ Name]  volsnap 
  - EventID 14 
   [ Qualifiers]  49158 
   Level 2 
   Task 0 
   Keywords 0x80000000000000 
  - TimeCreated 
   [ SystemTime]  2015-01-24T21:23:54.296013300Z 
   EventRecordID 1063256374 
   Channel System 
   Computer X1-Carbon 
   Security 
- EventData 
   \Device\HarddiskVolumeShadowCopy6 
   D: 
   D: 
   0000000003003000000000000E0006C00A0000000D0000C002000000000000000000000000000000 

atualização 2:

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

Error mounting /dev/sdc1 at /media/daniel/DeskStar: Command-line 'mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sdc1" "/media/daniel/DeskStar"' exited with non-zero exit status 13: ntfs_attr_pread_i: ntfs_pread failed: Input/output error
Failed to read NTFS $Bitmap: Input/output error
NTFS is either inconsistent, or there is a hardware fault, or it's a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for more details.

A unidade não está listada em fdisk -l , portanto, não é possível tentar dd ... Eu tentei voltar ao Windows: não há problema; A ferramenta de verificação de erros das propriedades do disco do Windows não reporta erros.

Também:

Tentei usar dd no gabinete (problema?) com um disco rígido diferente de 2TB:

  • Nenhum erro ao ler skip=0
  • Nenhum erro ao ler skip=SOMEWHERE_NEAR_MIDDLE_OF_DRIVE
  • Erros de leitura de setores no final ou no final do percurso:
daniel@computer:~$ sudo dd bs=512 if=/dev/sdb1 of=test skip=3907026942 count=1
dd: ‘/dev/sdb1’: cannot skip: Invalid argument
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000210598 s, 0.0 kB/s
    
por Leftium 25.01.2015 / 10:07

4 respostas

1

OK, acho que descobri:

  • Examine o log dmesg 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 se ele exceder 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, diferentes gabinetes resulta em duas capacidades diferentes relatadas:

  • 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. dmesg ao conectar a estação "moderna" com uma unidade de 4 TB:

[93507.922275] usb 1-1.2: new high-speed USB device number 17 using ehci-pci
[93508.087948] usb 1-1.2: New USB device found, idVendor=067b, idProduct=2773
[93508.087959] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[93508.087964] usb 1-1.2: Product: ATAPI-6 Bridge Controller
[93508.087969] usb 1-1.2: Manufacturer: Prolific Technology Inc.
[93508.087973] usb 1-1.2: SerialNumber: 0123456789000000110
[93508.088621] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[93508.089092] scsi24 : usb-storage 1-1.2:1.0
[93509.087318] scsi 24:0:0:0: Direct-Access     Prolific ATAPI-6 Bridge C MPAO PQ: 0 ANSI: 0
[93509.087836] sd 24:0:0:0: Attached scsi generic sg2 type 0
[93509.088684] sd 24:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
[93509.089837] sd 24:0:0:0: [sdb] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[93509.090945] sd 24:0:0:0: [sdb] Write Protect is off
[93509.090958] sd 24:0:0:0: [sdb] Mode Sense: 03 00 00 00
[93509.092819] sd 24:0:0:0: [sdb] No Caching mode page found
[93509.092832] sd 24:0:0:0: [sdb] Assuming drive cache: write through
[93509.094321] sd 24:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
[93509.100539] sd 24:0:0:0: [sdb] No Caching mode page found
[93509.100545] sd 24:0:0:0: [sdb] Assuming drive cache: write through
[93509.170090]  sdb: sdb1
[93509.171931] sd 24:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
[93509.176059] sd 24:0:0:0: [sdb] No Caching mode page found
[93509.176078] sd 24:0:0:0: [sdb] Assuming drive cache: write through
[93509.176086] sd 24:0:0:0: [sdb] Attached SCSI disk

2. dmesg ao conectar um gabinete antigo com uma unidade de 4 TB:

[89939.561869] usb 1-1.2: new high-speed USB device number 14 using ehci-pci
[89939.656581] usb 1-1.2: New USB device found, idVendor=152d, idProduct=2338
[89939.656592] usb 1-1.2: New USB device strings: Mfr=1, Product=2,SerialNumber=5
[89939.656598] usb 1-1.2: Product: USB to ATA/ATAPI Bridge
[89939.656602] usb 1-1.2: Manufacturer: JMicron
[89939.656606] usb 1-1.2: SerialNumber: 0613316A1498
[89939.658334] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[89939.658805] scsi20 : usb-storage 1-1.2:1.0
[89940.659147] scsi 20:0:0:0: Direct-Access     HGST HMS 5C4040ALE640   A580 PQ: 0 ANSI: 2 CCS
[89940.659959] sd 20:0:0:0: Attached scsi generic sg2 type 0
[89940.661373] sd 20:0:0:0: [sdb] 3519069872 512-byte logical blocks:(1.80 TB/1.63 TiB)
[89940.662410] sd 20:0:0:0: [sdb] Write Protect is off
[89940.662424] sd 20:0:0:0: [sdb] Mode Sense: 00 38 00 00
[89940.663438] sd 20:0:0:0: [sdb] Asking for cache data failed
[89940.663446] sd 20:0:0:0: [sdb] Assuming drive cache: write through
[89940.667752] sd 20:0:0:0: [sdb] Asking for cache data failed
[89940.667761] sd 20:0:0:0: [sdb] Assuming drive cache: write through
[89940.684862]  sdb: unknown partition table
[89940.687887] sd 20:0:0:0: [sdb] Asking for cache data failed
[89940.687893] sd 20:0:0:0: [sdb] Assuming drive cache: write through
[89940.687897] sd 20:0:0:0: [sdb] Attached SCSI disk

    
por 03.02.2015 / 16:37
4

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

Devido à fragmentação do disco, é difícil confirmar ou negar essa 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 começo que está sendo preenchido e nada passado 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 fique irreconhecível. Mas o disco é NTFS e, no entanto, o método não é realmente muito preciso ou certo.

Se for possível, eu montaria o disco em uma distribuição ao vivo do Linux. Nesse ponto, você poderia tentar ler o disco em um setor por 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 um limite para NNNNN, você observará que:

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

...

para que você possa começar com um clássico algoritmo de bisseção e determinar onde está o setor crítico "C" (qualquer setor antes C é legível, qualquer depois não é). Se tal setor existe, você tem um dano de hardware incrivelmente estranho, ou a prova que você estava procurando da culpa do recinto.

Atualização - encontrar o limite por divisão: um exemplo

Então, digamos que o disco é 4TB, então 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, seja UNREADABLE 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 está 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
 ...

Tão READÁVEL e INAUDÁVEL perseguir o limite desconhecido mais e mais de perto, de ambas as direções. Quando eles estão perto o suficiente, você pode até ir e tentar todos os setores entre eles.

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

Uma vez que você tenha o limite B, para confirmar que é um limite, você pode fazer uma leitura sequencial de grandes blocos antes de B (isso não demorará muito), talvez um megabyte a cada gigabyte ; e então uma amostra aleatória de setores além de B. Por exemplo, os primeiros 4 * 63 setores além do limite, então um setor a cada 3905 (ou cada RAND (4000, 4100)) para tentar evitar atingir sempre o mesmo prato magnético.

Mas, na verdade, se você encontrar um comportamento semelhante a um limite e confirmar que com outro gabinete não existe tal limite - bem, eu declararia o caso (en) fechado. / p>     

por 02.02.2015 / 15:00
0

Existem algumas maneiras de testar o seu disco rígido, baixar um software chamado "HDTune" Este é um programa pago, mas tem uma versão de teste que duram 30 dias com funcionalidade completa. Você pode usá-lo para verificar se há setores defeituosos, verifique a integridade do seu disco rígido. Em qualquer caso, você tinha setores defeituosos, você pode tentar corrigi-lo com HDD Regenerators, Download Hirens que eu pessoalmente uso. / p>

Verifique se você não possui nenhum disco rígido inserido além daquele que deseja testar. é inicializável você pode gravá-lo em cd ou em drive usb.

próximo sugiro é verificar seus cabos. Especialmente em unidades externas, normalmente esses erros são causados por falta de energia, tente inseri-lo em outro computador ou trocar de cabos se você tiver extras e, em seguida, ver se ele ainda falha.

    
por 02.02.2015 / 14:41
-1

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

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

Tente isto: vá para regedit - > %código% Crie um novo valor DWORD chamado HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\System . 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 do padrão regional / teclado ou definição de formato de hora / data? (Por mais estranho que pareça, eles podem quebrar coisas suficientes nas janelas). Como alternativa, o controlador da unidade externa pode não conseguir endereçar mais do que 2,0 TB. -editar- Você pode postar uma captura de tela do espaço exato usado no momento?

    
por 29.01.2015 / 08:38