cp ล้มเหลวในการคัดลอกโดยมีข้อผิดพลาด“ cp: ข้อผิดพลาดในการอ่าน 'ไฟล์': ข้อผิดพลาดอินพุต / เอาท์พุต” และ "cp: ล้มเหลวในการขยาย 'ไฟล์': ข้อผิดพลาดอินพุต / เอาท์พุต


10

ฉันเป็นผู้ใช้ของ Oracle Virtualbox บน Ubuntu และฉันเคยคัดลอกไฟล์ vdi เป็นข้อมูลสำรอง ก่อนหน้านี้ฉันทำสิ่งนี้ (คัดลอกไฟล์ vdi แล้วคัดลอกกลับมา) หลายครั้งโดยไม่มีปัญหา

แต่วันนี้ฉันพบข้อผิดพลาดนี้

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

ฉัน googled นี้เล็กน้อย แต่จากคำแนะนำเกี่ยวกับปัญหาที่คล้ายกันฉันไม่ได้ลดความน่าเสียดายอะไรลงไป ใครช่วยแนะนำวิธีแก้ปัญหานี้ได้ไหม

ผลลัพธ์จากdmesgis (และฉันไม่เข้าใจอะไรเลย)

[ 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

ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมากขอบคุณล่วงหน้า


อาจเป็นเพราะไฟล์ vdi นั้นเต็มหรือไม่ ลองdf -h
Volker Siegel

โอ้รอ - คุณทำทั้งหมดนี้ภายในกล่องเสมือนจริงหรือนอก?
Volker Siegel

@VolkerSiegel ฉันทำสิ่งนี้นอกระบบโฮสต์ของฉัน พาร์ติชั่นที่เก็บสำเนาและที่ที่ฉันพยายามทำสำเนามีขนาด 280GB ดังนั้นมันจึงเกินพอที่ฉันบอกว่าฉันได้ทำการดำเนินการนี้มาแล้วหลายครั้ง ฉันคิดว่านี่อาจเป็นข้อผิดพลาดของ HDD
user907860

ระบบไฟล์ในพาร์ติชั่นของ / dev / sda นั้นคืออะไร? ( mount | grep /dev/sda)
Volker Siegel

@VolkerSiegel ผลลัพธ์คือ/dev/sda5 on /home type ext4 (rw)
user907860

คำตอบ:


7

หากนี่ไม่ใช่ "ดิสก์" ภายใน virtualbox แต่ดิสก์จริงที่เก็บอิมเมจ vm นั้นดูไม่ดีนัก

มีข้อผิดพลาดในการอ่านบน / dev / sda
มีการจัดการอัตโนมัติโดยการทำเครื่องหมายบล็อกดิสก์ว่าเป็นบล็อกที่ไม่ดีตลอดไปและใช้บล็อกอื่นแทน
เพื่อให้การทำงานฮาร์ดดิสต้องอ่านข้อมูลอีกครั้งหนึ่งอาจลองอ่านอีกสองสามร้อยครั้ง
แต่ดิสก์ยอมแพ้ต่อสิ่งนี้:

"เพิ่มความรู้สึก: ข้อผิดพลาดการอ่านที่ไม่ได้เรียกคืน - การจัดสรรอัตโนมัติล้มเหลว"

มีข้อผิดพลาดที่ไม่ดีจริง ๆ บนดิสก์ - ยังไม่ชัดเจนว่าอยู่ในที่เดียวเท่านั้นหรือแพร่กระจายและเพิ่มขึ้นตามเวลา

ฮาร์ดดิสก์อาจล้มเหลวในเร็ว ๆ นี้
เช่น"เพียงแค่ตอนนี้"
หรือสัปดาห์หน้าหรือไม่เลย

หากไม่เป็นไรในการe2fsckทดสอบคุณจะไม่สามารถใช้สิ่งที่สำคัญได้

ทันทีที่e2fsckยืนยันว่ามีข้อผิดพลาดปานกลางสิ่งที่ดีที่สุดคือการแทนที่มัน

มิฉะนั้นทำการสำรองข้อมูลโดยเร็วที่สุดให้
บูตซีดีสดหรือดังนั้น (หรือหาวิธีที่จะเลิกเมานท์ / ไม่เมานต์/home )
และตรวจสอบบล็อกที่ไม่ดีเช่น

sudo e2fsck -c -v /dev/sdXN

พิจารณาว่าบนฮาร์ดดิสก์เชิงกลที่มีขนาดใหญ่กว่าการตรวจสอบบล็อกที่ไม่ดีอาจใช้เวลานานมากระหว่างชั่วโมงและอาจเป็นวันหรือสองวัน ส่วนหนึ่งเป็นเพราะโปรแกรมจำเป็นต้องตรวจสอบแต่ละบล็อกดิสก์แยกต่างหากและดูแลปัญหาแยกกันด้วย แต่ถ้าดิสก์ให้ข้อผิดพลาดขณะอ่านมีการลองใหม่หลายระดับหลายระดับก่อนที่e2fsckจะรู้ว่ามีปัญหา สำหรับแต่ละบล็อกดิสก์

มันอาจเป็นสิ่งที่ถูกต้องที่จะทำงานe2fsckในโหมดการซ่อมแซมอัตโนมัติและปล่อยให้คอมพิวเตอร์อยู่คนเดียวชั่วครู่:

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

ดูที่ubuntuforums: การแช่แข็งแบบสุ่มและ "ข้อผิดพลาดในการอ่านที่ไม่ได้เรียกคืน" ใน / var / log / ข้อความสำหรับรายละเอียด


ฉันไม่เข้าใจสิ่งที่คุณหมายถึงด้วย "ดิสก์ทางกายภาพจริง" นี่ไม่ใช่ดิสก์จริงนี่เป็นไฟล์ซึ่งเป็นไดรฟ์เสมือนของ Virtualbox
user907860

ตกลงคำถามบางข้อเพื่อยืนยันฉันอาจผิด: ไฟล์win_7.vdiเป็นอิมเมจ vm ใช่ไหม? และมันอยู่นอก vms ใช่มั้ย ฉันหมายถึงไฟล์win_7.vdiอยู่ในดิสก์จริงใช่ไหม dmesgเอาท์พุทจากนอก VM ใช่มั้ย? ในกรณีนี้ข้อผิดพลาดในdmesgบันทึกอยู่บน harddisk / dev / sda จริง
Volker Siegel

ใช่ "ถูกต้อง" สำหรับทุกคำถามของคุณ
user907860

ดี - แต่ไม่ดีสำหรับดิสก์ ... คุณสามารถแทนที่มันได้หรือไม่ มันอาจจะล้มเหลวในไม่ช้าเช่น "เพิ่งแล้ว" หรืออาทิตย์หน้าหรือเปล่าเลย หากไม่เป็นไรในการe2fsckทดสอบคุณจะไม่สามารถใช้สิ่งที่สำคัญได้
Volker Siegel

ตกลงขอบคุณตอนนี้ฉันทำงานอยู่ฉันจะตรวจสอบคำตอบของคุณในวันนี้โดยเร็ว
user907860

6

สำหรับฉันฉันได้รับข้อผิดพลาดนี้เมื่อพยายามคัดลอกอิมเมจของดิสก์ที่รวม 128GB cpพยายามโหลดสิ่งทั้งหมดในหน่วยความจำเพื่อเขียนใหม่และเห็นได้ชัดว่าไม่ได้ผลดังนั้นจึงต้องทำในหน่วยย่อย วิธีที่ดีที่สุดที่ฉันพบว่าไฟล์เป็นไฟล์เพื่อบังคับให้ผ่าน ssh

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

คุณต้องใช้user@localhost; การละเว้นมันจะเปลี่ยนกลับไปเป็นcpเหมือนพฤติกรรม


2

ส่วนต่างๆในฮาร์ดดิสก์ของคุณเสียหาย DRDY ERR - ข้อผิดพลาดการตรวจสอบอุปกรณ์พร้อม UNC - ไม่สามารถแก้ไขได้

เนื่องจากสาเหตุหลายประการเช่นการปิดตัวลงอย่างกะทันหันระหว่างการเขียนที่กว้างขวางอุณหภูมิสูงการอ่านการเขียนดำเนินการและคุณภาพของฮาร์ดดิสก์มีบทบาทสำคัญในกรณีนี้

เมื่อเซกเตอร์เสียหายและหากเคอร์เนลพยายามเข้าถึงเซกเตอร์เหล่านั้นคุณจะได้รับข้อผิดพลาดนี้

คุณสามารถใช้ seatools เพื่อกู้คืนจากข้อผิดพลาดนี้ชั่วคราว แต่จะไม่สามารถแก้ไขปัญหานี้ได้ตลอดไปอาจเกิดขึ้นอีกครั้งในภายหลัง

หากคุณโชคดีก็จะไม่เกิดขึ้นอีกหลายวัน

สำรองข้อมูลที่ดีกว่าลงในฮาร์ดดิสก์ใหม่และแทนที่ฮาร์ดดิสก์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.