Tenho um disco USB externo WD P10 que não está mais sendo detectado no macOS ou no Windows (em um PC diferente). Para solucionar o problema, inicializei o Debian (LMDE) a partir de um Live USB e conectei a unidade WD novamente. Não foi detectado ou montado por ele. Isto é o que dmesg -wH
diz:
[ 1305.848487] usb 4-4: new SuperSpeed USB device number 8 using xhci_hcd
[ 1305.869379] usb 4-4: New USB device found, idVendor=1058, idProduct=262f, bcdDevice=50.02
[ 1305.869393] usb 4-4: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 1305.869397] usb 4-4: Product: Game Drive
[ 1305.869400] usb 4-4: Manufacturer: Western Digital
[ 1305.869403] usb 4-4: SerialNumber: 00000000000000
[ 1305.872247] usb-storage 4-4:1.0: USB Mass Storage device detected
[ 1305.875321] scsi host7: usb-storage 4-4:1.0
[ 1306.881494] scsi 7:0:0:0: Direct-Access WD Game Drive 5002 PQ: 0 ANSI: 6
[ 1306.881988] sd 7:0:0:0: Attached scsi generic sg2 type 0
[ 1306.883093] sd 7:0:0:0: [sdc] Spinning up disk...
[ 1307.904413] .........ready
[ 1316.097814] sd 7:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16).
[ 1316.098549] sd 7:0:0:0: [sdc] 7813969920 512-byte logical blocks: (4.00 TB/3.64 TiB)
[ 1316.098558] sd 7:0:0:0: [sdc] 4096-byte physical blocks
[ 1316.099943] sd 7:0:0:0: [sdc] Write Protect is off
[ 1316.099949] sd 7:0:0:0: [sdc] Mode Sense: 47 00 10 08
[ 1316.101378] sd 7:0:0:0: [sdc] No Caching mode page found
[ 1316.101384] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[ 1352.000492] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1357.376496] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1357.584400] usb 4-4: device not accepting address 8, error -62
[ 1363.008491] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1368.384501] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1368.592421] usb 4-4: device not accepting address 8, error -62
[ 1374.016518] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1379.392520] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1379.600423] usb 4-4: device not accepting address 8, error -62
[ 1385.024482] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1390.400527] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1390.608418] usb 4-4: device not accepting address 8, error -62
[ 1390.624755] usb 4-4: USB disconnect, device number 8
[ 1390.644397] blk_print_req_error: 2 callbacks suppressed
[ 1390.644406] device offline error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 1390.644422] buffer_io_error: 2 callbacks suppressed
[ 1390.644424] Buffer I/O error on dev sdc, logical block 0, async page read
[ 1390.644527] device offline error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 1390.644542] Buffer I/O error on dev sdc, logical block 0, async page read
[ 1390.644580] device offline error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 1390.644587] Buffer I/O error on dev sdc, logical block 0, async page read
[ 1390.644610] device offline error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 1390.644616] Buffer I/O error on dev sdc, logical block 0, async page read
[ 1390.644629] ldm_validate_partition_table(): Disk read failed.
[ 1390.644660] device offline error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 1390.644663] Buffer I/O error on dev sdc, logical block 0, async page read
[ 1390.644675] device offline error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 1390.644678] Buffer I/O error on dev sdc, logical block 0, async page read
[ 1390.644691] device offline error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 1390.644694] Buffer I/O error on dev sdc, logical block 0, async page read
[ 1390.644706] device offline error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 1390.644709] Buffer I/O error on dev sdc, logical block 0, async page read
[ 1390.644714] Dev sdc: unable to read RDB block 0
[ 1390.644724] device offline error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 1390.644727] Buffer I/O error on dev sdc, logical block 0, async page read
[ 1390.644739] device offline error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 1390.644742] Buffer I/O error on dev sdc, logical block 0, async page read
[ 1390.644784] sdc: unable to read partition table
[ 1390.644844] sd 7:0:0:0: [sdc] Attached SCSI disk
[ 1396.032462] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1401.408460] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1401.616427] usb 4-4: device not accepting address 9, error -62
[ 1407.040457] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1412.416466] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1412.624428] usb 4-4: device not accepting address 10, error -62
[ 1412.632542] usb usb4-port4: attempt power cycle
[ 1418.816454] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1424.192454] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1424.400426] usb 4-4: device not accepting address 11, error -62
[ 1429.824465] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1435.200470] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1435.408388] usb 4-4: device not accepting address 12, error -62
[ 1435.416544] usb usb4-port4: unable to enumerate USB device
(O número de série da unidade foi detectado corretamente, mas editei acima) .
Pelo que pude entender, ele tenta obter as informações da partição da unidade, mas falha. Portanto, ele ainda tenta "anexar" o disco (provavelmente para permitir que o usuário formate a unidade), mas falha novamente por motivos que não consigo entender.
Quando procuro online por Dev sdc: incapaz de ler o bloco RDB 0, este recurso da Red Hat diz:
A mensagem Dev sdx: incapaz de ler o bloco RDB 0 indica que o sistema não é capaz de extrair as informações do bloco de disco rígido (RDB) do disco. O RDB armazena a geometria do disco (cilindros, cabeçotes, setores) e informações de particionamento.
Mas a Wikipédia diz:
Na computação, um bloco de disco rígido (RDB) é o bloco em um disco rígido onde a série de computadores Amiga armazena a partição do disco e as informações do sistema de arquivos. O equivalente para PC da IBM ao RDB do Amiga é o registro mestre de inicialização (MBR).
Pelo que a Red Hat diz, parece que o RDB faz parte do firmware do HDD, o que significa que pode ser muito difícil reparar para um leigo sem software especializado. Mas se fizer parte do MBR ou do sistema de arquivos, poderíamos usar algumas ferramentas para repará-lo (se eu conseguir dizer ao sistema operacional como anexar o disco com êxito).
Daí a minha dúvida - O que é bloco de disco rígido (RDB), no Linux, e pode ser reparado? Por exemplo, o Amiga possui rdbtool - algo equivalente está disponível no Linux?
Após a
[sdc] Assuming drive cache: write through
mensagem, o kernel tenta detectar o esquema de particionamento usado no disco e ler a tabela de partições. Mas a camada USB está relatando que o dispositivo atingiu o tempo limite assim que o kernel está tentando configurá-lo para uso, para ler o bloco de disco nº 0. Os repetidos tempos limite na configuração do disco (device is not accepting address...
) estão fazendo com que a camada USB rejeite o dispositivo, tratando-o como uma desconexão USB.Aparentemente, o código do kernel responsável pela detecção de partições não se importa com o motivo pelo qual sua tentativa de leitura falhou: se a rotina de detecção para um esquema de particionamento específico relatar uma falha, o kernel tentará detectar qualquer outro esquema de particionamento que conheça, e apenas fornecerá depois de tentar todos eles.
A mensagem
ldm_validate_partition_table(): Disk read failed
indica que o kernel está tentando detectar partições LDM do Windows ( Dynamic Disks na terminologia do Windows). Isso também está falhando porque uma tentativa de ler o disco falha.A mensagem
Dev sdc: unable to read RDB block 0
indica que o kernel agora tentou detectar todos os esquemas de particionamento nativos da arquitetura do seu sistema (para PCs, seriam MBR, GPT, o LDM mencionado acima e fatias de disco Solaris/Unixware) e agora está procedendo para algo mais esotérico. uns: especificamente, aqui ele está procurando uma tabela de partição no estilo Amiga e falhando, novamente porque uma tentativa de ler o bloco de disco #0 falhou.No esquema clássico de particionamento MBR de PC, o bloco #0 é chamado Master Boot Record (ou MBR, abreviadamente); como não existe outro nome conhecido para este esquema de particionamento, todo o esquema é chamado de "particionamento MBR".
No particionamento estilo Amiga, o bloco de disco nº 0 é chamado de Bloco de Disco Rígido, ou RDB, para abreviar. Não faz parte do firmware: é apenas uma forma específica do Amiga de descrever o disco e suas partições de uma forma independente da versão do AmigaOS usada. É escrito quando o disco é particionado por uma ferramenta de particionamento de disco Amiga.
Resumindo, as mensagens de erro referentes ao LDM e RDB não são importantes no seu caso: elas foram apenas um efeito colateral do kernel tentando e não conseguindo encontrar qualquer tipo de tabela de partição que conhece. Como o código de detecção de partição Amiga foi originalmente escrito para a versão Amiga do Linux, ele usa a terminologia Amiga em suas mensagens de erro.
Seu problema mais imediato é que seu disco parece estar morto : ele não responde a nenhuma tentativa de lê-lo ou mesmo de configurá-lo para acesso. Este é algum tipo de problema de hardware ou firmware de disco. Se o disco continuar falhando ao configurar as comunicações USB, você não poderá usar nenhum software normal para recuperar dados dele.
Nos comentários, você mencionou que este disco externo possui uma interface USB direta: não existe um conversor USB para SATA que possa ser desconectado para permitir o uso de uma interface SATA. Isso tornará a recuperação de dados mais difícil.
Você precisaria de algumas ferramentas de fabricação de disco/controle de qualidade que ignorassem a conexão USB e permitissem a comunicação direta com os chips controladores, o que para mim parece um trabalho para profissionais de recuperação de dados.
Como o problema se manifesta em PCs diferentes, parece um problema de hardware que não pode ser superado apenas por ferramentas de software. Tenha em mente que existem vários componentes envolvidos:
Controlador USB – Cabo USB – Ponte USB-SATA – Conector SATA – Disco rígido
Ao usar PCs diferentes, você já domina o controlador USB. O próximo passo trivial é tentar um cabo USB diferente.
Eu tinha algumas unidades onde a ponte USB-SATA (presumo que SATA) falhou. Nesta situação, você pode abrir cuidadosamente a caixa do disco externo, remover o disco real e conectá-lo aos conectores SATA internos do seu PC.
No entanto, é mais provável que o próprio disco não esteja inicializando. A ponte USB-SATA perde a conexão com o disco e desliga-se. Isso explica o comportamento "Dispositivo de armazenamento em massa USB detectado", "Ativando disco...", "Desconexão USB".