cp không sao chép được với các lỗi cp cp: lỗi đọc 'file': Lỗi đầu vào / đầu ra, và "cp: không thể mở rộng 'tập tin': Lỗi đầu vào / đầu ra


10

Tôi là người dùng Oracle Virtualbox trên Ubuntu. Và tôi đã sử dụng để sao chép các tập tin vdi như một loại sao lưu. Trước đây tôi đã làm điều này (sao chép tập tin vdi và sau đó sao chép lại) nhiều lần mà không gặp vấn đề gì.

Nhưng hôm nay tôi gặp lỗi này

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

Tôi googled cho điều này một chút nhưng từ những lời khuyên về các vấn đề tương tự, tôi không có gì đáng tiếc. Bất cứ ai có thể đề nghị làm thế nào để giải quyết điều này, xin vui lòng?

Đầu ra từ dmesglà, (và tôi không hiểu gì từ nó)

[ 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

Bất kỳ trợ giúp được đánh giá rất cao, cảm ơn bạn trước


Có lẽ đĩa vdi được bật nếu đầy? Hãy thửdf -h
Volker Siegel

Oh, đợi đã - bạn đang làm tất cả những thứ này trong hộp ảo hay bên ngoài?
Volker Siegel

@VolkerSiegel Tôi làm điều này bên ngoài, trên hệ thống máy chủ của tôi. Phân vùng, nơi bản sao được lưu trữ và nơi tôi cố gắng tạo một bản sao có sẵn 280GB, vì vậy nó là quá đủ, như tôi đã nói tôi đã thực hiện thao tác này nhiều lần. Tôi cho rằng đây có thể là lỗi của ổ cứng
user907860

Hệ thống tập tin trên phân vùng của / dev / sda là gì? ( mount | grep /dev/sda)
Volker Siegel

@VolkerSiegel đầu ra là/dev/sda5 on /home type ext4 (rw)
user907860

Câu trả lời:


7

Nếu đây không phải là "đĩa" bên trong hộp ảo, mà là đĩa vật lý thực nơi lưu trữ hình ảnh vm, điều đó có vẻ khá tệ.

Có lỗi đọc, trên / dev / sda.
Có một xử lý tự động bằng cách đánh dấu một khối đĩa là khối xấu mãi mãi và thay vào đó sử dụng một khối khác.
Để làm việc này, ổ cứng cần đọc dữ liệu thêm một lần nữa , có thể thử vài trăm lần đọc.
Nhưng đĩa đã từ bỏ điều này:

"Thêm. Sense: Lỗi đọc không được phục hồi - tự động phân bổ lại không thành công"

Có những lỗi thực sự tồi tệ trên đĩa - vẫn chưa rõ liệu chúng chỉ ở một vị trí hay lan rộng và liệu chúng có tăng theo thời gian hay không.

Ổ cứng có thể bị hỏng rất sớm,
như "vừa nãy" .
Hoặc tuần tới, hoặc không có gì cả.

Nếu nó không ổn trong một e2fsckbài kiểm tra, bạn vẫn không thể sử dụng nó cho bất cứ điều gì quan trọng.

Ngay khi e2fsckxác nhận có lỗi trung bình, tốt nhất là chỉ cần thay thế nó.

Nếu không, hãy tạo bản sao lưu càng sớm càng tốt,
khởi động CD trực tiếp hoặc hơn (hoặc tìm cách ngắt kết nối / không gắn kết/home )
và kiểm tra các khối xấu, như bằng

sudo e2fsck -c -v /dev/sdXN

Hãy tính đến việc trên một đĩa cứng lớn hơn , việc kiểm tra các khối xấu có thể mất nhiều thời gian , giữa giờ và có thể một hoặc hai ngày. Đó là một phần vì chương trình cần kiểm tra riêng từng khối đĩa và cũng xử lý các vấn đề riêng biệt. Nhưng ngoài ra, nếu đĩa bị lỗi khi đọc, có rất nhiều lần thử lại ở nhiều cấp độ trước khi e2fsckbiết rằng có vấn đề. Đối với mỗi khối đĩa.

Nó có thể là điều đúng đắn khi chỉ chạy e2fscktrong chế độ tự động sửa chữa và để máy tính một mình trong một thời gian:

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

Xem ubuntuforums: Đóng băng ngẫu nhiên và "Lỗi đọc không được phục hồi" trong / var / log / message để biết chi tiết.


Tôi không hiểu ý của bạn với "đĩa vật lý thực". Đây không phải là đĩa thật, đây là tệp là ổ đĩa ảo Virtualbox
user907860

Ok, một số câu hỏi để xác nhận, tôi có thể sai: Tệp win_7.vdilà hình ảnh vm, phải không? Và nó ở bên ngoài bất kỳ vms, phải không? Tôi có nghĩa là các tập tin win_7.vdilà trên một đĩa thực - phải không? Đầu dmesgra là từ bên ngoài vm, phải không? Trong trường hợp này, các lỗi trong dmesgnhật ký nằm trên đĩa cứng / dev / sda thực sự.
Volker Siegel

có, "đúng" cho tất cả các câu hỏi của bạn
user907860

Tốt - nhưng xấu cho đĩa ... bạn có thể thay thế nó không? Nó có thể thất bại rất sớm, như "chỉ bây giờ". Hoặc tuần tới, hoặc không có gì cả. Nếu nó không ổn trong một e2fsckbài kiểm tra, bạn vẫn không thể sử dụng nó cho bất cứ điều gì quan trọng.
Volker Siegel

ok, cảm ơn bạn, bây giờ tôi đang làm việc vì vậy tôi sẽ kiểm tra câu trả lời của bạn ngày hôm nay,
càng sớm càng tốt

6

Đối với tôi, tôi đã gặp lỗi này khi cố gắng sao chép hình ảnh đĩa có tổng dung lượng tương đương 128GB. cpđã cố tải toàn bộ thứ trong bộ nhớ để viết lại nó ra và điều đó rõ ràng là không hoạt động, vì vậy nó phải được thực hiện theo từng khối. Cách tốt nhất mà tôi tìm thấy để phân chia tập tin là buộc nó thông qua ssh.

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

Bạn phải sử dụng user@localhost; bỏ qua nó sẽ trở lại cphành vi giống như.


2

Các lĩnh vực của đĩa cứng của bạn đã bị hỏng. DRDY ERR - Lỗi kiểm tra thiết bị sẵn sàng. UNC - Không thể sửa chữa.

Do nhiều lý do khác nhau như tắt đột ngột trong quá trình ghi rộng, Nhiệt độ cao, các thao tác đọc ghi được thực hiện và chất lượng của đĩa cứng đóng vai trò chính trong trường hợp này.

Khi một sector bị hỏng và nếu kernel cố gắng truy cập vào các sector đó thì bạn sẽ gặp lỗi này.

Bạn có thể sử dụng dây an toàn, để tạm thời khắc phục lỗi này. Nhưng sẽ không được khắc phục vấn đề này mãi mãi. Nó có thể xảy ra một lần nữa sau đó.

Nếu bạn may mắn, thì nó sẽ không tái diễn trong vài ngày.

Tốt hơn sao lưu dữ liệu vào một đĩa cứng mới và thay thế đĩa cứng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.