O KDE causa o erro “READ FPDMA QUEUED”

2

Aqui está a situação. A bateria do meu UPS faleceu recentemente e ainda não a substituí. Hoje alguém veio para fazer trabalho elétrico em casa, o que envolvia o desligamento do disjuntor no qual o computador fica. Eu sou inteligente o suficiente para começar a desligar meu computador antes de tropeçar no disjuntor, mas eu estava conversando com o eletricista e esqueci de verificar se meu computador estava 100% abaixado antes de disparar o disjuntor. O resultado:

Quando eu entro em uma conta, usando o KDE, durante o processo de login eu começo a receber erros como este: já que eu só recebo esses erros quando faço login como essa pessoa e só no KDE (outros DEs e outras contas com o KDE OK ) Acho que é seguro dizer que algo na minha configuração do kde está estragado.

ata3.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
ata3.00: irq_stat 0x40000008
ata3.00: failed command: READ FPDMA QUEUED
ata3.00: cmd 60/08:00:98:b2:78/00:00:13:00:00/40 tag 0 ncq 4096 in
         res 41/40:08:9a:b2:78/00:00:13:00:00/00 Emask 0x409 (media error) <F>
ata3.00: status: { DRDY ERR }
ata3.00: error: { UNC }
ata3.00: SB600 AHCI: limiting to 255 sectors per cmd
ata3.00: SB600 AHCI: limiting to 255 sectors per cmd
ata3.00: configured for UDMA/133
sd 2:0:0:0: [sda] Unhandled sense code
sd 2:0:0:0: [sda]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 2:0:0:0: [sda]  Sense Key : Medium Error [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
        13 78 b2 9a 
sd 2:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed
sd 2:0:0:0: [sda] CDB: Read(10): 28 00 13 78 b2 98 00 00 08 00
end_request: I/O error, dev sda, sector 326677146
ata3: EH complete

Minha pergunta vem em duas partes.

1) Estou meio assustado por ver esse tipo de erro baseado apenas em um erro de corrupção menor (relativamente falando) em um sistema de arquivos. 2) Minha configuração do kde é longa e envolvida. Eu não quero deletar tudo e começar de novo. Existe uma maneira de registrar o progresso de uma seqüência de inicialização para ver quando ele encontra um erro, para que eu possa simplesmente excluir essa parte da configuração?

    
por Mouse.The.Lucky.Dog 22.07.2012 / 01:37

2 respostas

3

Isso não tem nada a ver com o KDE; sua unidade tem um setor ruim. Desde que você teve uma perda repentina de energia, o que provavelmente aconteceu é que a energia foi liberada no meio de uma gravação em um setor, deixando-o em um estado ruim. Tudo o que estava sendo escrito na época é perdido, mas você deve ser capaz de corrigir o problema escrevendo algo para esse setor agora. Primeiro, corra isto:

sudo dd if=/dev/sda bs=512 count=1 of=/dev/null skip=326677146

Isso deve falhar com um erro de IO. Em caso afirmativo, continue escrevendo zeros para esse setor:

sudo dd if=/dev/zero bs=512 count=1 of=/dev/sda seek=326677146

Isto deve funcionar e então você deve ser capaz de repetir o primeiro comando sem erro. Em seguida, você deve usar smartctl do pacote smartmontools para verificar erros na unidade. Execute sudo smartctl -t long /dev/sda para iniciar o autoteste da unidade. Verifique seu progresso com sudo smartctl -a /dev/sda . Se encontrar mais setores defeituosos, você pode tentar usar dd para corrigi-los também. Você também deseja certificar-se de que a contagem do setor realocado seja zero. Se não for, então há danos físicos ao disco e você deve pensar em substituí-lo.

    
por 22.07.2012 / 03:39
0

Estes erros não indicam corrupção do sistema de arquivos, eles indicam um problema com o disco. É provável que a queda de energia tenha capturado o disco em um momento ruim e uma das cabeças colidiu com o disco - os discos devem estar protegidos contra isso, mas isso nem sempre funciona (geralmente há uma falha de energia antes que a energia seja desligada). completamente).

Se o seu disco for compatível, execute smartctl (de Smartmontools ) e badblocks para obter uma avaliação de danos . Em seguida, certifique-se de ter o backup completo do disco ( ddrescue ou dd_rescue pode ajudar - consulte salvando dados de uma unidade com falha ).

Eu recomendo substituir o disco, pois sua confiabilidade é comprometida. Se você quiser jogar na loteria , use badblocks -o /tmp/badblocks then e2fsck -l /tmp/badblocks para marcar os setores danificados como inutilizáveis.

    
por 22.07.2012 / 02:10

Tags