如何防止我的文件系统在暂停后以只读方式挂载?

如何防止我的文件系统在暂停后以只读方式挂载?

我在 SDHC 卡上安装了 Ubuntu 12.04(只有一个 ext2 分区,没有交换)。当我使用 暂停时pm-suspend,我的根文件系统以只读方式挂载。我目前正在使用以下文件“修复”此问题:

/etc/pm/sleep.d/99_make_disk_rw:

#!/bin/sh

mount -o remount,rw /

但磁盘被标记为需要fsck重启。我该如何防止文件系统以只读方式挂载或发生其他错误?

更新:由于发生错误,它似乎以只读方式挂载。我已将挂载选项更改为,/恢复后它不再以只读方式挂载 SDHC 卡。因此问题发生在挂起时,而不是我原先认为的恢复时。/etc/fstabnoatime,nodiratime,errors=continue

我检查了一下/sys/bus/usb/devices/1-4/power/persist,它被设置为 1。因此,SDHC 卡不应该出现与操作系统断开连接的情况(或者更准确地说,它应该能够从断开连接中恢复而没有错误)。

以下似乎是系统日志的相关部分

Sep 10 10:34:23 iubit kernel: [  748.246226] sd 4:0:0:0: [sdb] Media Changed
Sep 10 10:34:23 iubit kernel: [  748.246234] sd 4:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Sep 10 10:34:23 iubit kernel: [  748.246243] sd 4:0:0:0: [sdb]  Sense Key : Unit Attention [current] 
Sep 10 10:34:23 iubit kernel: [  748.246253] Info fld=0x0
Sep 10 10:34:23 iubit kernel: [  748.246258] sd 4:0:0:0: [sdb]  Add. Sense: Not ready to ready change, medium may have changed
Sep 10 10:34:23 iubit kernel: [  748.246271] sd 4:0:0:0: [sdb] CDB: Read(10): 28 00 00 5d 3e f0 00 00 08 00
Sep 10 10:34:23 iubit kernel: [  748.246291] end_request: I/O error, dev sdb, sector 6110960
Sep 10 10:34:23 iubit kernel: [  748.247027] EXT2-fs (sdb1): error: ext2_fsync: detected IO error when writing metadata buffers
Sep 10 10:34:23 iubit anacron[6954]: Anacron 2.3 started on 2012-09-10
Sep 10 10:34:23 iubit anacron[6954]: Normal exit (0 jobs run)
Sep 10 10:34:24 iubit laptop-mode: Laptop mode 
Sep 10 10:34:24 iubit laptop-mode: enabled, not active
Sep 10 10:34:24 iubit kernel: [  749.055376] sd 4:0:0:0: [sdb] No Caching mode page present
Sep 10 10:34:24 iubit kernel: [  749.055387] sd 4:0:0:0: [sdb] Assuming drive cache: write through
Sep 10 10:34:25 iubit anacron[7555]: Anacron 2.3 started on 2012-09-10
Sep 10 10:34:25 iubit anacron[7555]: Normal exit (0 jobs run)
Sep 10 10:34:31 iubit kernel: [  756.090861] EXT2-fs (sdb1): previous I/O error to superblock detected

答案1

这里真正的问题是错误“错误:ext2_fsync:写入元数据缓冲区时检测到 IO 错误”。曾是导致此问题的是 ext2 错误,但我认为它已被修复,或至少已打上补丁。

由于元数据缓冲区,文件系统被标记为不一致,因此将其安装为 R/O 并需要进行磁盘检查。也许您应该将此标题更改为与此错误相关的内容,这样您可能会让一些更有知识的人看看它。

我有一台 EeePC,使用 8Gb SDHC 卡,挂载为 /home。它被格式化为 ext4,从 10.04LTS 到 12.04LTS,我从未遇到过任何 'buntu 问题。如果问题只是 ext2 模块的回归,那么将 SDHC 卡格式化为 ext4 并查看问题是否消失可能是值得的。

编辑:哦,您也可以将此报告为错误。看看您是否可以在 Launchpad 上找到原始报告并尝试将其重新打开为回归,或者如果您认为这样做合适,可以开始一个新的报告。

相关内容