Jestem użytkownikiem Oracle Virtualbox na Ubuntu. I kiedyś kopiowałem pliki vdi jako rodzaj kopii zapasowej. Wcześniej robiłem to (kopiowanie pliku vdi, a następnie kopiowanie go z powrotem) wiele razy bez żadnego problemu.
Ale dzisiaj wystąpił ten błąd
VirtualBox VMs/win_7$ cp ../../Bkps/win_7.vdi .
cp: error reading ‘../../Bkps/win_7.vdi’: Input/output error
cp: failed to extend ‘./win_7.vdi’: Input/output error
Poszukałem trochę tego, ale po poradach na temat podobnych problemów nie zrozumiałem niczego niestety. Czy ktoś mógłby zasugerować, jak rozwiązać ten problem?
Wynik z dmesg
jest (i nic z tego nie rozumiem)
[ 2347.982876] ata1.00: exception Emask 0x0 SAct 0x1900406f SErr 0x0 action 0x0
[ 2347.982887] ata1.00: irq_stat 0x40000008
[ 2347.982895] ata1.00: failed command: READ FPDMA QUEUED
[ 2347.982908] ata1.00: cmd 60/08:70:d0:da:f4/00:00:2e:00:00/40 tag 14 ncq 4096 in
[ 2347.982908] res 41/40:08:d0:da:f4/00:00:2e:00:00/00 Emask 0x409 (media error) <F>
[ 2347.982915] ata1.00: status: { DRDY ERR }
[ 2347.982919] ata1.00: error: { UNC }
[ 2348.395657] ata1.00: configured for UDMA/133
[ 2348.395727] sd 0:0:0:0: [sda] Unhandled sense code
[ 2348.395733] sd 0:0:0:0: [sda]
[ 2348.395737] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 2348.395741] sd 0:0:0:0: [sda]
[ 2348.395745] Sense Key : Medium Error [current] [descriptor]
[ 2348.395752] Descriptor sense data with sense descriptors (in hex):
[ 2348.395764] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
[ 2348.395770] 2e f4 da d0
[ 2348.395772] sd 0:0:0:0: [sda]
[ 2348.395774] Add. Sense: Unrecovered read error - auto reallocate failed
[ 2348.395775] sd 0:0:0:0: [sda] CDB:
[ 2348.395776] Read(10): 28 00 2e f4 da d0 00 00 08 00
[ 2348.395781] end_request: I/O error, dev sda, sector 787798736
[ 2348.395792] ecryptfs_decrypt_page: Error attempting to read lower page; rc = [-5]
[ 2348.395795] ata1: EH complete
[ 2348.395797] ecryptfs_readpage: Error decrypting page; rc = [-5]
[ 2351.264987] ata1.00: exception Emask 0x0 SAct 0x7f80400 SErr 0x0 action 0x0
[ 2351.264998] ata1.00: irq_stat 0x40000008
[ 2351.265005] ata1.00: failed command: READ FPDMA QUEUED
[ 2351.265019] ata1.00: cmd 60/08:50:d0:da:f4/00:00:2e:00:00/40 tag 10 ncq 4096 in
[ 2351.265019] res 41/40:08:d0:da:f4/00:00:2e:00:00/00 Emask 0x409 (media error) <F>
[ 2351.265025] ata1.00: status: { DRDY ERR }
[ 2351.265029] ata1.00: error: { UNC }
[ 2351.403371] ata1.00: configured for UDMA/133
[ 2351.403425] sd 0:0:0:0: [sda] Unhandled sense code
[ 2351.403426] sd 0:0:0:0: [sda]
[ 2351.403428] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 2351.403429] sd 0:0:0:0: [sda]
[ 2351.403430] Sense Key : Medium Error [current] [descriptor]
[ 2351.403433] Descriptor sense data with sense descriptors (in hex):
[ 2351.403434] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
[ 2351.403439] 2e f4 da d0
[ 2351.403442] sd 0:0:0:0: [sda]
[ 2351.403444] Add. Sense: Unrecovered read error - auto reallocate failed
[ 2351.403445] sd 0:0:0:0: [sda] CDB:
[ 2351.403446] Read(10): 28 00 2e f4 da d0 00 00 08 00
[ 2351.403451] end_request: I/O error, dev sda, sector 787798736
[ 2351.403463] ecryptfs_decrypt_page: Error attempting to read lower page; rc = [-5]
[ 2351.403466] ecryptfs_readpage: Error decrypting page; rc = [-5]
[ 2351.403470] ata1: EH complete
Każda pomoc jest mile widziana, z góry dziękuję
hard-drive
data-recovery
dmesg
cp
użytkownik907860
źródło
źródło
df -h
mount | grep /dev/sda
)/dev/sda5 on /home type ext4 (rw)
Odpowiedzi:
Jeśli nie jest to „dysk” wewnątrz wirtualnej skrzynki, ale prawdziwy dysk fizyczny, na którym przechowywane są obrazy VM, wygląda to dość źle.
Wystąpiły błędy odczytu na / dev / sda.
Istnieje automatyczna obsługa polegająca na oznaczeniu bloku dysku na zawsze jako zły blok i zamiast tego użyj innego.
Aby to zadziałało, dysk twardy musi odczytywać dane jeszcze raz , być może próbując kilkaset odczytów.
Ale dysk zrezygnował z tego:
„Dodaj. Sense: nieodkryty błąd odczytu - automatyczne przeniesienie nie powiodło się”
Na dysku są naprawdę złe błędy - po prostu nie jest jeszcze jasne, czy są one tylko w jednej lokalizacji, czy się rozprzestrzeniają i czy z czasem rosną.
Dysk twardy może wkrótce ulec awarii,
np. „Just now” .
Lub w przyszłym tygodniu, albo wcale.
Jeśli
e2fsck
test wypadnie dobrze, nadal nie można go użyć do niczego ważnego.Jak tylko
e2fsck
potwierdzi, że wystąpiły średnie błędy, najlepiej po prostu je wymienić.W przeciwnym razie wykonaj kopie zapasowe tak szybko, jak to możliwe,
uruchom płytę CD na żywo (lub znajdź sposób na odmontowanie / niezamontowanie
/home
)i sprawdź , czy nie występują uszkodzone bloki, np.
sudo e2fsck -c -v /dev/sdXN
Weź pod uwagę, że na większym mechanicznym dysku twardym sprawdzenie uszkodzonych bloków może zająć dużo czasu , między godzinami, a może dniem lub dwoma. Dzieje się tak po części dlatego, że program musi sprawdzać każdy blok dysku osobno, a także rozwiązywać osobno problemy. Ale także, jeśli dysk odczytuje błędy podczas odczytu, jest wiele prób na wielu poziomach, zanim
e2fsck
nawet dowie się, że jest problem. Dla każdego bloku dysku.Właściwe może być po prostu uruchomienie
e2fsck
w trybie automatycznej naprawy i pozostawienie komputera na chwilę w spokoju:sudo e2fsck -p -c -v /dev/sdXN
Zobacz ubuntuforums: Random zamrożenie i "odzyskanej Błąd odczytu" w / var / log / messages dla szczegółów.
źródło
win_7.vdi
jest obrazem vm, prawda? I to jest poza vms, prawda? Mam na myśli, że plikwin_7.vdi
znajduje się na prawdziwym dysku - prawda? Danedmesg
wyjściowe pochodzą spoza maszyny wirtualnej, prawda? W takim przypadku błędy wdmesg
dzienniku znajdują się na prawdziwym dysku twardym / dev / sda.e2fsck
test wypadnie dobrze, nadal nie można go użyć do niczego ważnego.Dla mnie ten błąd występuje podczas próby skopiowania obrazów dysku o łącznej wielkości 128 GB.
cp
próbował załadować całość do pamięci, aby przepisać ją z powrotem, a to oczywiście nie zadziała, więc trzeba to zrobić w kawałkach. Najlepszym sposobem, w jaki znalazłem fragment pliku, jest wymuszenie go przez ssh.Musisz użyć
user@localhost
; pominięcie go przywrócicp
zachowanie podobne do tego .źródło
Sektory dysku twardego uległy uszkodzeniu. DRDY ERR - Błąd sprawdzania gotowości urządzenia. UNC - nie można naprawić.
Z różnych przyczyn, takich jak nagłe wyłączenie podczas ekstensywnego zapisu, wysoka temperatura, wykonywane operacje zapisu w trybie odczytu i jakość dysku twardego odgrywa w tym przypadku główną rolę.
Gdy sektor zostanie uszkodzony i jeśli jądro spróbuje uzyskać dostęp do tych sektorów, pojawi się ten błąd.
Możesz użyć podsiodełek, aby tymczasowo naprawić ten błąd. Ale nie będzie naprawiać tego problemu na zawsze, może wystąpić ponownie kilka razy później.
Jeśli masz szczęście, to nie powtórzy się przez kilka dni.
Lepiej wykonaj kopię zapasową danych na nowym dysku twardym i wymień dysk twardy.
źródło