Hard-Disk
複製 USB 硬碟驅動器上的文件時出現 I/O 錯誤
我有一個外部 USB 硬碟驅動器(WD Elements,1TB),它已經部分裝滿(~370GB 可用):
$ mount | grep store17 /dev/sde1 on /store17 type ext4 (rw,nosuid,nodev,noexec,relatime,data=ordered,user,x-systemd.device-timeout=10)
我需要將新文件複製到驅動器中,但是對於 18MB 的文件(文件大小似乎很重要),會發生以下情況:
$ cd /store17 $ cp ~/my_18MB_file . $ ls [...] my_18MB_file [...] $ # WAITING A FEW SECONDS... $ ls ls: reading directory '.': Input/output error
然後我能做的就是 umount/remount 設備,但是當然,remount 設備後,新文件並沒有被複製。
需要注意:
- 寫入過程適用於小數據,例如
touch /store17/myemptyfile
,或複制 2kB 文件。- 如果要複製的文件為 800MB 大,則複製時會發生 I/O 錯誤:
cp: error writing './gum_src.tar.gz': Input/output error
- 我做了一個簡短的健康測試
smartmontools
,通過了。**問題:**我可以在命令行上執行什麼來更好地了解發生了什麼?儘管讀取過程看起來非常好,我可以認為這個硬碟驅動器已經死了嗎?
您可以使用 dd 讀取整個分區(或使用第二個命令讀取整個磁碟)
dd if=/dev/sde1 of=/dev/null bs=1M dd if=/dev/sde of=/dev/null bs=1M
它很可能會因 I/O 錯誤而停止。
您應該備份該磁碟上的所有文件。
之後,重寫整個磁碟可能會導致缺陷扇區被重新分配,但您會相信該磁碟儲存重要數據嗎?