fsck 的奇怪行为

fsck 的奇怪行为

我正在使用带有两个硬盘的 Debian 7:500Gb PATA 和 750Gb SATA。

blkid 向我展示了以下内容:

root@intel:/etc# blkid
/dev/sda1: UUID="b6350c6b-5fbd-4e07-9a4b-10b600fbb64c" TYPE="swap" 
/dev/sda2: UUID="2f852e13-38ee-4b56-a474-d675c22d5f28" TYPE="ext4" 
/dev/sda3: UUID="78e34fe3-365c-4c4d-86b8-51615641f9ec" TYPE="ext4" 
/dev/sdb1: LABEL="data" UUID="03c3f01f-d390-49de-a570-3de4b73a9fea" TYPE="ext4"

fstab的内容:

root@intel:/etc# cat /etc/fstab
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=2f852e13-38ee-4b56-a474-d675c22d5f28    /               ext4    errors=remount-ro  0       1
# /home was on /dev/sda3 during installation
UUID=78e34fe3-365c-4c4d-86b8-51615641f9ec    /home           ext4    defaults       0       2
# /data was on /dev/sdb1
UUID=b6350c6b-5fbd-4e07-9a4b-10b600fbb64c    /data       ext4    defaults       0   2
# swap was on /dev/sda1 during installation
UUID=03c3f01f-d390-49de-a570-3de4b73a9fea    none            swap    sw         0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

系统无法启动,直到我注释掉/dev/sdb1fsck无法检查文件系统:

root@intel:/etc# fsck /dev/sdb1
fsck from util-linux 2.20.1
fsck: fsck.swap: not found
fsck: error 2 while executing fsck.swap for /dev/sdb1

但启动后出现注释

# /data was on /dev/sdb1
UUID=b6350c6b-5fbd-4e07-9a4b-10b600fbb64c    /data       ext4    defaults       0   2

我可以fstab挂载 /dev/sdb1。

唯一的问题是“发生了什么事?”。我的 750Gb HDD 快要坏了吗?我该如何检查 /dev/sdb1?

此致。

答案1

您的 blkid 显示 /dev/sdb1 是一个 ext4 文件系统(并且您尝试挂载它,表明它是),但是,您的 fstab 不同意:

# swap was on /dev/sda1 during installation
UUID=03c3f01f-d390-49de-a570-3de4b73a9fea    none            swap    sw         0       0

并且您的 UUID 与 /dev/sdb1 匹配,正如您使用 blkid 所示:

/dev/sdb1: LABEL="data" UUID="03c3f01f-d390-49de-a570-3de4b73a9fea" TYPE="ext4"

在启动期间,它尝试使用 /dev/sdb1 作为交换分区,并执行 fsck.swap /dev/sdb1,但由于它不是交换分区,因此失败。

您应该能够使用它来进行 fsck,fsck.ext4 /dev/sdb1并且您需要编辑 fstab 以反映真正的交换分区的 uuid。

看起来你只是把两个 UUID 互换了:

UUID=b6350c6b-5fbd-4e07-9a4b-10b600fbb64c    /data       ext4    defaults       0   2
UUID=03c3f01f-d390-49de-a570-3de4b73a9fea    none            swap    sw         0       0

对比

/dev/sda1: UUID="b6350c6b-5fbd-4e07-9a4b-10b600fbb64c" TYPE="swap" 
/dev/sdb1: UUID="03c3f01f-d390-49de-a570-3de4b73a9fea" TYPE="ext4"

答案2

使用 cfdisk 或类似工具检查分区表。/dev/sdb1 的分区类型可能设置为“Linux swap”而不是“Linux”。

为了直接检查分区,请调用e4fsck /dev/sdb1

相关内容