这个问题我已经遇到 7-8 个月了,但现在它已经超出了所有限制。问题是这样的:我正在使用 netbeans 8.x 编写代码。突然间,所有项目文件都变成只读,netbeans 将开始显示 5-6 条消息,例如 .config 是只读的(我不记得具体消息了)。现在最糟糕的部分发生了。我的整个文件系统将变成只读。现在我必须重新启动。重新启动后,系统将向我显示 initramfs: 并要求我执行 fsck。我将执行 fsck,然后 ubuntu 将启动,一切都将恢复正常。然后有一天,这种事情又会发生。
然后终于有一天,在 fsck 之后,ubuntu 开始显示类似 READ FPDMA QUEUED、DRY 错误之类的消息,并且 ubuntu 无法启动。
我安装了全新的 ubuntu,然后一切都运行正常。然后我安装了 netbeans,然后又发生了同样的事情。所以我又在这里执行了 fsck,然后出现了同样的消息 READ FPDMA QUEUED。最后再次安装了 ubuntu,然后发布了这个问题。
我搜索了很多显示的消息,建议检查我的硬盘健康状况。首先,我使用了 ubuntu 中的磁盘实用程序。所以总体评估还不错(48 个扇区为差)。但后来我做了智能测试。测试失败了。
然后我用了smartctl。总体评价还行。
现在我很困惑,这个问题是出在 netbeans 上还是我的硬盘出了问题。我的笔记本电脑已经用了 5 年了,除了运行 netbeans 之外,我从来没有遇到过这个问题。
答案1
您收到 NCQ(本机命令队列)磁盘错误,并且磁盘上存在坏块。
文件系统检查
让我们首先检查您的文件系统...
- 以“试用 Ubuntu”模式启动 Ubuntu Live DVD/USB
terminal
按Ctrl+ Alt+打开窗口T- 类型
sudo fdisk -l
- 识别“Linux 文件系统”的 /dev/sdXX 设备名称
- 输入
sudo fsck -f /dev/sdXX
,替换sdXX
为您之前找到的数字 fsck
如果有错误则重复命令- 类型
reboot
全国资格考试
笔记:坏块阻止完成后,您可能能够撤消此操作。
本机命令队列 (NCQ) 是串行 ATA 协议的扩展,允许硬盘驱动器内部优化接收的读写命令的执行顺序。
编辑sudo -H gedit /etc/default/grub
并更改以下行以包含此额外参数。然后执行sudo update-grub
将更改写入磁盘。重新启动。监视器挂起,并观察/var/log/syslog
或dmesg
是否继续出现错误消息。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=noncq"
坏块
注意:不要中止坏块扫描!
注意:不要对 SSD 造成坏块
注意:请先备份您的重要文件!
注意:这将花费很多小时
注意:您可能面临硬盘故障
在“尝试 Ubuntu”模式下启动 Ubuntu Live DVD/USB。
在terminal
...
sudo fdisk -l
# 识别所有“Linux 文件系统”分区
sudo e2fsck -fcky /dev/sdXX
# 只读测试
或者
sudo e2fsck -fccky /dev/sdXX
# 非破坏性读写测试(受到推崇的)
-k 很重要,因为它会保存之前的坏块表,并将任何新的坏块添加到该表中。如果没有 -k,您将丢失所有之前的坏块信息。
-fccky 参数...
-f Force checking even if the file system seems clean.
-c This option causes e2fsck to use badblocks(8) program to do
a read-only scan of the device in order to find any bad blocks.
If any bad blocks are found, they are added to the bad block
inode to prevent them from being allocated to a file or direc‐
tory. If this option is specified twice, then the bad block scan
will be done using a non-destructive read-write test.
-k When combined with the -c option, any existing bad blocks in the
bad blocks list are preserved, and any new bad blocks found by
running badblocks(8) will be added to the existing bad blocks
list.
-y Assume an answer of `yes' to all questions; allows e2fsck to be
used non-interactively. This option may not be specified at the
same time as the -n or -p options.
答案2
看起来您有 48 个坏扇区。坏扇区很多。仅将驱动器用于非重要数据。
如果驱动器有 1 或 2 个坏扇区,这不是问题,但如果有更多坏扇区,我个人会更换它,以减少担心。
密切关注。如果坏扇区数量在短时间内增加,请更换它。如果无法更换,请将其保留用于不重要的数据。无论如何,您现在应该备份数据。
如果在保修期内,他们会为您更换驱动器。
希望这对任何人都有帮助!:)
- 请在此处阅读有关坏扇区的更多信息:坏扇区解释:硬盘为何会出现坏扇区以及您可以采取哪些措施