尝试使用 fsck 修复 LVM 磁盘

ben*_*ggy 12 fsck

我在 Ubuntu 16 上,我正在尝试修复我的启动磁盘。我已按照此处的说明进行操作,但是一旦我处于恢复模式的 root 访问权限,它仍然说磁盘已安装且无法运行。如果我尝试sudo fsck -f /dev/sda3,它只会回复:

fsck from util-linux. 有谁知道为什么它会这样做?根据这个问题,fsck报这个命令的时候,就得用fsck.ext4了。但是,当我这样做时,我仍然收到有关正在使用的卷的消息。

我看到在 Ubuntu 18 上还有另一个问题,但没有答案。

大多数答案都建议使用 Live Disk,但 Etcher 目前不在 MacOS 上运行,从恢复命令提示符完成此操作肯定不是不合理的。

这是戴尔 Inspiron 笔记本电脑上的香草 Ubuntu 安装。

执行umount /dev/sda3让我“/dev/sda3 未安装”。
执行fsck.ext4 -f /dev/sda3给我“/dev/sda3 正在使用中”。

lsblk /dev/sda 的输出给出:

sda                     disk
   sda2                 part
   sda3                 part
      ubuntu--vg-root   lvm   /
   sda1                 part
Run Code Online (Sandbox Code Playgroud)

(显然,我是在另一台计算机上输入的)我省略了尺寸,希望很清楚。

我也试过了umount -lf /。这样做之后,当我运行时fsck,我收到一条消息,指出由于缺少 mtab 文件,它无法检查文件系统是否已安装。

Ter*_*nce 18

要检查 LVM,请执行以下步骤。

首先我们可以看到我们的驱动器布局lsblk

# lsblk
NAME                 MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                    8:0    0    20G  0 disk  
??sda1                 8:1    0    20G  0 part  
  ??xubuntu--vg-root 253:0    0    19G  0 lvm   / 
sr0                   11:0    1  1024M  0 rom   
Run Code Online (Sandbox Code Playgroud)

正如我们所看到的,LVM 名为xubuntu--vg-root,但我们无法fsck在此名称上运行,因为它找不到它。我们需要得到全名。为此,我们将运行lvm lvscan命令来获取 LV 名称,以便我们可以fsck在 LVM 上运行。

以下命令应以用户身份sudo或以root用户身份运行。

# lvscan
  inactive          '/dev/xubuntu-vg/root' [<19.04 GiB] inherit
  inactive          '/dev/xubuntu-vg/swap_1' [980.00 MiB] inherit
Run Code Online (Sandbox Code Playgroud)

正如我们所看到的,我们要检查的名称是/dev/xubuntu-vg/root这样的,因此我们应该能够fsck使用该名称运行

如果/dev/xubuntu-vg/root不是ACTIVE,我们需要激活它,以便我们可以对其进行检查。

lvchange -ay /dev/xubuntu-vg/root
Run Code Online (Sandbox Code Playgroud)

现在它应该是这样的:

# lvscan
  ACTIVE            '/dev/xubuntu-vg/root' [<19.04 GiB] inherit
  inactive          '/dev/xubuntu-vg/swap_1' [980.00 MiB] inherit
Run Code Online (Sandbox Code Playgroud)

现在我们可以fsck在 LVM 卷上运行。

fsck /dev/xubuntu-vg/root
Run Code Online (Sandbox Code Playgroud)

或以假设是运行强制检查

fsck -fy /dev/xubuntu-vg/root
Run Code Online (Sandbox Code Playgroud)

添加屏幕截图,因为 VirtualBox 不允许我复制和粘贴。

在此处输入图片说明

希望这可以帮助!

  • 完美的。这正是我所需要的。非常感谢。 (2认同)