我正在运行 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 的帮助。