我正在使用带有两个硬盘的 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/sdb1
。fsck
无法检查文件系统:
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
。