我在 250Gb 硬盘上安装了 Ubuntu 服务器。在安装过程中,驱动器使用 LVM 进行分区,因此我的数据位于 /dev/sda5 上。当它启动并处于空闲状态时,登录提示符下不断出现磁盘错误。
我读到,要运行 fsck,我需要从 LiveCD 启动并在驱动器卸载(并通过 USB/SATA 线连接)的情况下运行命令。我已经这样做了,但当我尝试运行 fsck 时,驱动器似乎仍处于安装状态,例如:
root@ubuntu:/# fsck.ext3 -nf /dev/sdb5 e2fsck 1.42.13(2015 年 5 月 17 日) 警告!/dev/sdb5 正在使用中。 ext2fs_open2:超级块中的魔法数字错误 fsck.ext3:超级块无效,正在尝试备份块... fsck.ext3:尝试打开 /dev/sdb5 时,错误的魔数是超级块 无法读取超级块,或者超级块未描述有效的 ext2/ext3/ext4 文件系统。如果设备有效,并且确实包含 ext2/ext3/ext4 文件系统(而不是 swap 或 ufs 或其他文件系统),则超级块已损坏,您可以尝试使用备用超级块运行 e2fsck: e2fsck -b 8193 或者 e2fsck -b 32768
但是当我跑步时:
root@ubuntu:/# e2fsck -b 32768 /dev/sdb5
我被告知 /dev/sdb5 正在使用中,并且 e2fsck 无法继续。
我尝试使用 LiveCD GUI 和 umount 命令卸载驱动器,但仍然无法修复超级块。
有人能告诉我该如何解决这个问题吗?
答案1
从 Live DVD 发出,swapoff -a
然后重试sudo fsck -f /dev/sda5
。如果不起作用(因为 sda5 是物理卷),您必须为 fsck 指定 lvm 名称,例如/dev/ubuntu-vg/root
。使用lvmdiskscan
查看名称。
更新:sudo fsck -f /dev/ubuntu-vg
有效。