无法挂载 LVM2_member

无法挂载 LVM2_member

我的磁盘真的很糟糕,甚至 grub 也不再响应了...所以我想获取旧磁盘的数据并完全重新安装(无论如何我都想做的事情)。首先我找到了分区的名称:

    root@kubuntu:/media/kubuntu# fdisk -l
    Disk /dev/nvme0n1: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors
    Disk model: INTEL SSDPEKNW020T8                     
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 2F317938-7F93-4301-A833-A6AB350EBFF2

    Device           Start        End    Sectors  Size Type
    /dev/nvme0n1p1    2048    1050623    1048576  512M EFI System
    /dev/nvme0n1p2 1050624    2549759    1499136  732M Linux filesystem
    /dev/nvme0n1p3 2549760 4000796671 3998246912  1.9T Linux filesystem

发现它是用 crypto_LUKS 加密的:

    root@kubuntu:/home/kubuntu# lsblk -lf | grep LUKS
    nvme0n1p3 crypto_LUKS 2                                    4c6e6d37-9275-45eb-acc8-                        ad3fc6a5f194 

尝试将映射器放入未加密的数据:

    root@kubuntu:/home/kubuntu# cryptsetup luksOpen /dev/nvme0n1p3 mydata
    Enter passphrase for /dev/nvme0n1p3: 
    root@kubuntu:/home/kubuntu#

发现它是 LVM 系统的一部分:

    root@kubuntu:/home/kubuntu# sudo mount /dev/mapper/mydata /mnt/nvme/
    mount: /mnt/nvme: unknown filesystem type 'LVM2_member'.

因此执行了一些 lvm 命令来查看分区:

    root@kubuntu:/home/kubuntu# lvmdiskscan
    /dev/nvme0n1       [       1.86 TiB] 
      /dev/loop0         [      <1.80 GiB] 
      /dev/mapper/mydata [       1.86 TiB] LVM physical volume
      0 disks
      10 partitions
      1 LVM physical volume whole disk
      0 LVM physical volumes
    root@kubuntu:/home/kubuntu# lvscan
      ACTIVE            '/dev/vgkubuntu/root' [<1.82 TiB] inherit
      ACTIVE            '/dev/vgkubuntu/swap_1' [976.00 MiB] inherit

    root@kubuntu:/home/kubuntu# lvdisplay
      --- Logical volume ---
      LV Path                /dev/vgkubuntu/root

看起来它们是活跃的,所以想安装它们:

    root@kubuntu:/home/kubuntu# mount /dev/mapper/mydata /mnt
    mount: /mnt: unknown filesystem type 'LVM2_member'.

从这里开始,它对我来说变得模糊......并尝试了几种方法来安装分区:

    root@kubuntu:/home/kubuntu# mount /dev/vgkubuntu/root /mnt/nvme/
    mount: /mnt/nvme: wrong fs type, bad option, bad superblock on /dev/mapper/vgkubuntu-                root, missing codepage or helper program, or other error.
    root@kubuntu:/home/kubuntu# mount -t ext4 /dev/vgkubuntu/root /mnt/nvme/
    mount: /mnt/nvme: wrong fs type, bad option, bad superblock on /dev/mapper/vgkubuntu-root, missing codepage or helper program, or other error.

只是一些额外的信息,不知道是否有用......

    root@kubuntu:/home/kubuntu# lsblk
    NAME                   MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    nvme0n1                259:0    0   1.9T  0 disk  
    ├─nvme0n1p1            259:1    0   512M  0 part  
    ├─nvme0n1p2            259:2    0   732M  0 part  
    └─nvme0n1p3            259:3    0   1.9T  0 part  
      └─mydata             253:0    0   1.9T  0 crypt 
        ├─vgkubuntu-root   253:1    0   1.8T  0 lvm   
        └─vgkubuntu-swap_1 253:2    0   976M  0 lvm  

还使用udiskctl:

    kubuntu@kubuntu:~$ udisksctl unlock -b /dev/nvme0n1p3
    Passphrase: 
    Error unlocking /dev/nvme0n1p3:         GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Device /dev/nvme0n1p3 is already unlocked as /dev/dm-0
     root@kubuntu:/home/kubuntu/Downloads# udisksctl mount -b /dev/mapper/mydata 
    Object /org/freedesktop/UDisks2/block_devices/dm_2d0 is not a mountable filesystem.

所以现在尝试挂载/dev/dm-0

    kubuntu@kubuntu:~$ sudo mount /dev/dm-0 /mnt/nvme/
    mount: /mnt/nvme: unknown filesystem type 'LVM2_member'

仍然挂在 LVM2_member 类型上......

答案1

完成后cryptsetup luksOpen,如果 LV 未激活,您很可能需要激活它:

sudo vgchange -ay # Activate LVs if not active
sudo lvscan
sudo lvdisplay
sudo mount /dev/mapper/vgkubuntu-root /mnt

答案2

dmesg在尝试安装之前和之后检查输出;如果磁盘在尝试挂载文件系统时报告错误,则文件系统的超级块可能已损坏且无法读取。

/mnt/nvme必须作为空目录存在,然后才能在其上安装任何内容。因此,mkdir -p /mnt/nvme在尝试安装之前先运行。看起来错误消息是关于您尝试安装到的目录,而不是关于文件系统。

如果您确定文件系统类型是ext4,那么mkfs.ext4 -n /dev/mapper/vgkubuntu-root应该显示您可以尝试的备用超级块的预期位置。 (该-n选项告诉mkfs我们只模拟它在文件系统创建时会做什么。)

然后,您可以尝试安装mount -t ext4 -o ro,sb=<alternate superblock number> /dev/mapper/vgkubuntu-root /mnt/nvme<alternate superblock number>替换为上一个命令指示的备用超级块编号之一。

相关内容