每次启动 Ubuntu 时,我都会收到一条警告消息,提示我的硬盘出现故障。没什么大不了的,这只是一个警告,我是一名程序员,我会忽略警告(开玩笑)。
更严肃地说:我已经备份了我需要的所有数据,但我将继续使用这台电脑,直到它爆炸!那么我该如何告诉 Ubuntu 我不在乎并让它停止向我显示警告?
答案1
我不确定你是否遇到了和我一样的消息,但我被告知我的磁盘有许多坏扇区,这就是我删除警告信息的方法:
- 打开磁盘实用程序系统>行政>磁盘工具(或者也许单击警告就会打开它?)
- 选择发生故障的磁盘并单击更多信息链接。(链接位于显示警告的红色文本处)
- 在如果磁盘出现故障,请不要警告我- 位于窗口底部属性上方的复选框。
我真诚地希望这能解决您的所有问题。
答案2
如果能知道是什么产生了警告就好了,但在没有任何进一步信息的情况下,我在启动板上搜索“硬盘故障通知”,找到了这个
https://bugs.launchpad.net/ubuntu/+source/gnome-disk-utility/+bug/412440
这让我想到了这个
https://bugs.launchpad.net/ubuntu/+source/gnome-disk-utility/+bug/412152
显然,2009-09-19 已完成主要工作。这让我怀疑您是否已更新。如果没有,请更新apt-get update; apt-get install devicekit-disks
。如果是,则应该有一种方法可以通过此更新来禁用每个设备的通知。
我建议首先遵循以下模式https://bugs.launchpad.net/ubuntu/+source/gnome-disk-utility/+bug/412152/comments/32在您跳转以禁用通知之前。
答案3
也许禁用该驱动器上分区的磁盘检查可以阻止错误。您只需将该磁盘的pass-num
字段更改/etc/fstab
为 0 即可防止fsck
在启动时检查指定的分区。典型的fstab
情况如下:
设备名称 挂载点 fs-type 选项 dump-freq pass-num 标签=/ / ext3 默认值 1 1 /dev/hda6 swap 交换默认值 0 0 无 /dev/pts devpts gid=5,mode=620 0 0 无 /proc proc 默认值 0 0 无 /dev/shm tmpfs 默认值 0 0 /dev/cdrom /mount/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/hda
例如,对于驻留在上的每个分区,将其pass-num
值更改为 0 以禁用检查。您可以在一次重新启动时禁用对所有分区的检查,看看这样做是否有用。
答案4
禁用或覆盖udisks
ATA SMART 支持 udev 规则的探测将阻止 Gnome Disk Utility 3.0.2(我的情况是 Ubuntu 12.04)显示硬盘故障通知。来自以下评论https://bugs.launchpad.net/ubuntu/+source/linux/+bug/574462/comments/7这个解决方法可以接受。
创建一个具有以下内容的文件,以便/etc/udev/rules.d/81-udisks-no-ata-smart.rules
它覆盖/lib/udev/rules.d/80-udisks.rules
。
# Force all disk probes to return not ATA SMART capable so that a drive with SMART
# failures does not trigger Gnome Disk Utility to display a pop-up warning message.
# Note: Some programs that rely on udisks to perform SMART checks may not work.
# However, manual SMART reads (e.g. using smartctl) are not be affected.
# USB ATA enclosures with a SAT layer
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", ENV{UDISKS_ATA_SMART_IS_AVAILABLE}="0"
# ATA disks driven by libata
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="ata", ENV{DEVTYPE}=="disk", ENV{UDISKS_ATA_SMART_IS_AVAILABLE}="0"
# ATA disks connected via SAS (not driven by libata)
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="ATA", ENV{UDISKS_ATA_SMART_IS_AVAILABLE}="0"