缓冲区 I/O 错误

All*_*ard 3 mount external-hdd

我注意到,当我卸载外部硬盘时,有时会在我的日志中收到消息,其中说:

Buffer I/O error on device sdX, logical block XX
Run Code Online (Sandbox Code Playgroud)

其中 X 代表设备,例如:sdc。我是如何认真对待这些消息的,因为设备仅在我卸载它时才会喷出这些消息,当我安装和使用它时,我没有收到任何消息,并且就我所见,此时该设备工作正常。

Pan*_*her 6

那些消息可以是正常的——

http://h10025.www1.hp.com/ewfrf/wc/document?docname=c02270753&cc=us&dlc=en&lc=en

https://serverfault.com/questions/613249/buffer-io-error-on-device-sata-drive

即将发生的驱动器故障(不太可能)。

需要使用 smartmontools 来确定驱动器的运行状况以及您的驱动器是否通过。

smartctl -H /dev/sda
smartctl -a /dev/sda
smartctl -t short /dev/sda
Run Code Online (Sandbox Code Playgroud)

显示测试结果

smartctl -l selftest /dev/sda
Run Code Online (Sandbox Code Playgroud)

例子:

smartctl -l selftest /dev/sda ... Num Test_Description Status Remaining LifeTime(hours)

LBA_of_first_error

1 短线离线完成无错误 00% 1689 -

您可以使用 fsck 检查文件系统,但 fsck 应该从实时 USB 运行。

fsck -a -y /dev/sda1
Run Code Online (Sandbox Code Playgroud)

-a 和 -y 选项尝试修复。

使用 fsck 指定一个分区。

请参阅https://wiki.archlinux.org/index.php/SMART

http://www.thomas-krenn.com/en/wiki/SMART_tests_with_smartctl

http://www.maketecheasier.com/check-repair-filesystem-fsck-linux/