cp gagal menyalin dengan kesalahan “cp: kesalahan membaca 'file': Kesalahan input / output” dan "cp: gagal memperpanjang 'file': Kesalahan input / output

10

Saya adalah pengguna Oracle Virtualbox di Ubuntu. Dan saya biasa menyalin file vdi sebagai semacam cadangan. Sebelumnya saya melakukan ini (menyalin file vdi dan kemudian menyalinnya kembali) berkali-kali tanpa masalah.

Tetapi hari ini saya mengalami kesalahan ini

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

Saya googled untuk ini sedikit tetapi dari saran tentang masalah yang sama saya tidak mengerti apa-apa sayangnya. Adakah yang bisa menyarankan cara mengatasi ini?

Output dari dmesgis, (dan saya tidak mengerti apa-apa darinya)

[ 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

Setiap bantuan sangat dihargai, terima kasih sebelumnya

pengguna907860
sumber
Mungkin disk file vdi aktif jika penuh? Cobadf -h
Volker Siegel
Oh, tunggu - apakah Anda melakukan semua ini di dalam kotak virtual, atau di luar?
Volker Siegel
@VolkerSiegel Saya melakukan ini di luar, pada sistem host saya. Partisi, tempat salinan disimpan dan di mana saya mencoba membuat salinan memiliki 280GB tersedia, jadi itu lebih dari cukup, seperti yang saya katakan saya melakukan operasi ini sudah berkali-kali. Saya kira ini bisa menjadi kesalahan HDD
user907860
Apa filesystem di partisi / dev / sda itu? ( mount | grep /dev/sda)
Volker Siegel
@VolkerSiegel outputnya adalah/dev/sda5 on /home type ext4 (rw)
user907860

Jawaban:

7

Jika ini bukan "disk" di dalam kotak virtual, tetapi disk fisik nyata tempat gambar vm disimpan, itu terlihat sangat buruk.

Ada kesalahan baca, di / dev / sda.
Ada penanganan otomatis dengan menandai blok disk sebagai blok buruk selamanya, dan gunakan yang berbeda sebagai gantinya.
Agar ini berfungsi, harddisk perlu membaca data sekali lagi , mungkin mencoba beberapa ratus kali bacaan.
Tetapi disk menyerah pada ini:

"Tambahkan. Sense: Kesalahan baca yang belum pulih - alokasi ulang otomatis gagal"

Ada kesalahan yang sangat buruk pada disk - hanya belum jelas apakah mereka berada di satu lokasi saja, atau menyebar, dan apakah mereka meningkat seiring waktu.

Harddisk mungkin gagal segera,
seperti "sekarang" .
Atau minggu depan, atau tidak sama sekali.

Jika tidak apa-apa pada e2fscktes, Anda masih tidak bisa menggunakannya untuk hal-hal penting.

Segera setelah e2fsckmengonfirmasi ada kesalahan sedang, yang terbaik adalah hanya menggantinya.

Kalau tidak, buat backup sesegera mungkin,
boot CD langsung atau lebih (atau temukan cara untuk meng-unmount / tidak me-mount/home ),
dan periksa blok yang buruk, seperti dengan

sudo e2fsck -c -v /dev/sdXN

Pertimbangkan bahwa pada hard disk mekanis yang lebih besar , memeriksa blok yang buruk mungkin membutuhkan banyak waktu , antara jam dan mungkin satu atau dua hari. Itu sebagian karena program perlu memeriksa setiap blok disk secara terpisah, dan menangani masalah secara terpisah juga. Tetapi juga, jika disk memberikan kesalahan saat membaca, ada banyak retries pada beberapa level e2fsckbahkan sebelum tahu ada masalah. Untuk setiap blok disk.

Ini mungkin hal yang tepat untuk dijalankan e2fsckdalam mode perbaikan otomatis dan biarkan komputer untuk sementara waktu:

sudo e2fsck -p -c -v /dev/sdXN

Lihat ubuntuforums: Pembekuan acak dan "Kesalahan baca yang belum dipulihkan" di / var / log / messages untuk detail.

Volker Siegel
sumber
Saya tidak mengerti apa yang Anda maksud dengan "disk fisik nyata". Ini bukan disk nyata, ini adalah file yang merupakan
virtualbox
Oke, beberapa pertanyaan untuk mengonfirmasi, saya mungkin salah: File win_7.vdiini adalah gambar vm, bukan? Dan itu di luar vms, kan? Maksud saya file win_7.vditersebut ada di disk nyata - kan? The dmesgoutput dari luar vm, kan? Dalam hal ini, kesalahan dalam dmesglog ada di harddisk nyata / dev / sda.
Volker Siegel
ya, "benar" untuk semua pertanyaan Anda
user907860
Bagus - tetapi buruk untuk disk ... bisakah Anda menggantinya? Mungkin gagal segera, seperti "baru saja". Atau minggu depan, atau tidak sama sekali. Jika tidak apa-apa pada e2fscktes, Anda masih tidak bisa menggunakannya untuk hal-hal penting.
Volker Siegel
ok, terima kasih, sekarang saya sedang bekerja jadi saya akan memeriksa jawaban Anda hari ini, secepatnya
user907860
6

Bagi saya, saya mendapatkan kesalahan ini ketika mencoba untuk menyalin gambar disk yang berjumlah sekitar 128GB. cpsedang mencoba memuat semuanya ke dalam memori untuk menulis ulang kembali dan itu jelas tidak akan berhasil, sehingga harus dilakukan dalam potongan. Cara terbaik yang saya temukan untuk memotong file adalah dengan memaksanya melalui ssh.

scp user@localhost:/path/to/source /path/to/dest

Anda harus menggunakan user@localhost; menghilangkannya akan kembali ke cpperilaku seperti.

jwallace
sumber
2

Sektor hard disk Anda rusak. DRDY ERR - Galat Periksa Perangkat Siap. UNC - Tidak bisa diperbaiki.

Karena berbagai alasan seperti mati tiba-tiba selama penulisan yang luas, suhu tinggi, operasi baca tulis dilakukan dan kualitas hard disk memainkan peran utama dalam kasus ini.

Setelah suatu sektor rusak dan jika kernel mencoba mengakses sektor-sektor itu maka Anda akan mendapatkan kesalahan ini.

Anda dapat menggunakan seatools, untuk memulihkan dari kesalahan ini sementara. Tetapi tidak akan memperbaiki masalah ini selamanya, Ini mungkin terjadi lagi beberapa kali kemudian.

Jika Anda beruntung, maka itu tidak akan terulang selama beberapa hari.

Lebih baik mencadangkan data ke hard disk baru dan mengganti hard disk.

pengguna314563
sumber