未找到逻辑卷组,LVM 在启动时卡住

未找到逻辑卷组,LVM 在启动时卡住

我正在运行 Ubuntu 14.04(64 位)。长话短说,我已经编译了一个自定义内核,现在我的加密硬盘遇到了一些问题。

当我启动机器并尝试启动新内核时,它开始加载并报告:

Reading all physical volumes, this may take a while ...
   No Logical Volume Groups found
   No Logical Volume Groups found

在编译新内核时,我采用了当前的内核配置(作为/boot/config-$(uname-r)基础,因此编译期间使用的所有模块也应该可用于新内核。

我有点困惑从哪里开始调试。一位同事建议我看一下initrd两个内核的镜像。我已经解压了这两张图片,但没能确定可能出了什么问题。大小完全不同:

新的initrd:

emikkva@slartibartfast:/tmp/15$ ll init.img
-rw-rw-r-- 1 emikkva emikkva 18278400 july 18 18:01 init.img

还有旧的:

emikkva@slartibartfast:/tmp/15$ ll ../13/init.img 
-rw-rw-r-- 1 emikkva emikkva 77744640 heinä 18 18:02 ../13/init.img

但唯一的区别是(两个图像都已解压):

emikkva@slartibartfast:/tmp/15$ diff -r . ../13
Binary files ./init.img and ../13/init.img differ
Only in ../13/lib: firmware # This might be a problem?
Only in ../13/lib/modules: 3.13.0-32-generic
Only in ./lib/modules: 3.15.0-rc8+

两个内核的 grub 引导参数相同。使用旧内核效果很好。

我知道我在这里提供的信息很少,但我当然会根据评论和答案用任何可能相关的内容更新问题。

编辑:

lsblk 输出:

emikkva@slartibartfast:~$ lsblk
NAME                           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                              8:0    0 238,5G  0 disk  
├─sda1                           8:1    0   243M  0 part  /boot
├─sda2                           8:2    0     1K  0 part  
└─sda5                           8:5    0 238,2G  0 part  
  └─sda5_crypt (dm-0)          252:0    0 238,2G  0 crypt 
    ├─ubuntu--vg-root (dm-1)   252:1    0 222,3G  0 lvm   /
    └─ubuntu--vg-swap_1 (dm-2) 252:2    0  15,9G  0 lvm   [SWAP]

PV:

emikkva@slartibartfast:~$ sudo pvs
  PV                     VG        Fmt  Attr PSize   PFree
  /dev/mapper/sda5_crypt ubuntu-vg lvm2 a--  238,23g    0 

dmsetup ls --tree:

emikkva@slartibartfast:~$ sudo dmsetup ls --tree
ubuntu--vg-swap_1 (252:2)
 └─sda5_crypt (252:0)
    └─ (8:5)
ubuntu--vg-root (252:1)
 └─sda5_crypt (252:0)
    └─ (8:5)

编辑2:

按照@derobert的建议检查配置文件:

emikkva@slartibartfast:~/airlied-linux$ grep -i 'config_crypto_aes\|config_dm_crypt\|config_crypto_xts\|config_crypto_sha256\|config_crypto_sha512' .config
CONFIG_DM_CRYPT=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m

新内核的配置是相同的,除了_SSE3-ending 选项之外,它们被注释掉了。

当前使用的加密算法似乎是aes-xts-plain64根据 的输出dmsetup table sda5_crypt

答案1

所以,原因是我像这样编译了内核:

make oldconfig
make -j6
sudo make install

我想知道为什么我以前的(官方 ubuntu 存储库)initrd 大小为 28m,而新的 initrd 大小为 8m。我还没有安装模块!

正在做

sudo make INSTALL_MOD_STRIP=1 modules_install 
sudo make install

修复。现在 HD 加密已正确初始化并且 LVM 不会损坏。感谢@derobert 的帮助。

相关内容