我在启动时遇到问题:我看到了消息lvmetad is not active yet, using direct activation during sysinit
。该消息完全阻止了我的登录过程。我无法切换到非图形登录屏幕(它们都只显示闪烁的光标)或执行除使用CTRL- ALT-重新启动之外的任何其他操作DEL。
如果我等待很长时间(超过 10 分钟),我会收到以下消息:
resume: Could not stat the resume file /dev/disk/by-uuid/a62a5e02...
Please type in the full path name to try again or press ENTER to boot the system:
如果我按下ENTER,启动将恢复,并且我的登录屏幕将在一秒钟内出现 - 这似乎只适用于较旧的内核<=4.4.0-43,对于较新的内核,ENTER 不起作用,而且我也无法使用键盘输入任何其他内容。
10 分钟休息后的消息resume: ...
让我想到这可能与挂起到 RAM 后的陈旧磁盘映像有关,但我不知道如何解决这个问题。
我没有看到任何错误dmesg
,与 LVM 相关的一切看起来都很好。
有一段时间,我能够使用内核 4.4.0-43 无延迟地启动,但是今天(在 apt-get 内核升级之后)甚至这个也停止了工作。
我发现了这两个关于该问题的帖子,但我不愿意尝试更改 grub 视频设置,因为它们(应该)与之无关,lvmetad
而且用户报告说这种解决方法本身也存在一系列问题。
lvmetad 尚未激活;在 sysinit 期间使用直接激活
有人能告诉我这个吗?即使在过去,启动也不需要 10 分钟,而现在 10 分钟的超时似乎有点过分了…… ;)
[编辑]这是请求的输出:
BLKIDD:
/dev/sda1: UUID="2EC7-7121" TYPE="vfat" PARTUUID="77533e31-4b1a-40da-9e49-ecebfb701229"
/dev/sda2: UUID="b206ab4e-2119-4d90-ab77-5088177faa08" TYPE="ext2" PARTUUID="a5ddb725-1822-4847-8fd3-c1566b83f740"
/dev/sda3: UUID="uhcPym-YPqH-XGTC-Y0YB-ynxd-K4iK-b0viGE" TYPE="LVM2_member" PARTUUID="455fe5cf-64a0-4ef5-b3e7-19e5f86b3ee4"
/dev/mapper/kubuntu--vg-root: UUID="cba585cc-e15b-419c-b055-f1fe2a56c7da" TYPE="ext4"
猫/ etc / fstab:
/dev/mapper/kubuntu--vg-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda2 during installation
UUID=b206ab4e-2119-4d90-ab77-5088177faa08 /boot ext2 defaults 0 2
# /boot/efi was on /dev/sda1 during installation
UUID=2EC7-7121 /boot/efi vfat umask=0077 0 1
/dev/mapper/kubuntu--vg-swap_1 none swap sw 0 0
swapon 没有产生任何输出,但使用选项 -a:
swapon: stat of /dev/mapper/kubuntu--vg-swap_1 failed: No such file or directory
[编辑]在我的 grub.cfg 中,我发现对 lvmid 的引用与任何 blkid 都不对应 - 这可能是问题吗?
set root='lvmid/nvk03P-ihq7-kTsM-LvZ4-DzQu-iOag-4BOz7I/kHYiDJ-9NSq-Wlkc-0YXH-HiX2-SVZ7-MPSFnp'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='lvmid/nvk03P-ihq7-kTsM-LvZ4-DzQu-iOag-4BOz7I/kHYiDJ-9NSq-Wlkc-0YXH-HiX2-SVZ7-MPSFnp' cba585 cc-e15b-419c-b055-f1fe2a56c7da
此外,在 grub.cfg 中有一些对 root 和 UUID 的引用 - UUID 对应于 /boot (sda2),--set root b2...
但下面两行是root=/dev/mapper/kubuntu--vg-root
不同的设备:
[---snip---]
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 b206ab4e-2119-4d90-ab77-5088177faa08
else
search --no-floppy --fs-uuid --set=root b206ab4e-2119-4d90-ab77-5088177faa08
fi
linux /vmlinuz-4.4.0-57-generic.efi.signed root=/dev/mapper/kubuntu--vg-root ro quiet splash $vt_handoff
[---snip---]
[编辑] 注释 fstab 中的交换行对启动没有帮助,并且系统启动后,lvdisplay 会显示根和交换分区:
lvm> lvdisplay
--- Logical volume ---
LV Path /dev/kubuntu-vg/root
LV Name root
VG Name kubuntu-vg
LV UUID kHYiDJ-9NSq-Wlkc-0YXH-HiX2-SVZ7-MPSFnp
LV Write Access read/write
LV Creation host, time kubuntu, 2016-06-07 12:33:08 +0200
LV Status available
# open 1
LV Size 432.86 GiB
Current LE 110811
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/kubuntu-vg/swap_1
LV Name swap_1
VG Name kubuntu-vg
LV UUID YiuKj2-FVgn-ufGg-lvZ5-IML5-w3hH-ZeHrrH
LV Write Access read/write
LV Creation host, time kubuntu, 2016-06-07 12:33:08 +0200
LV Status available
# open 0
LV Size 31.93 GiB
Current LE 8173
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
[编辑]
根据下面 heynnema 的建议,我删除并重新添加了 swap。确实出现了问题:在删除并重新创建 swap 之前,/proc/swaps 是空的,并且 free 显示总数为 0。现在它可以正确安装,并且 free 和 /proc/swaps 都显示预期的输出。不幸的是,启动延迟的初始问题仍然存在。完成此步骤后,我必须更新 iniramfs ( update-initramfs -k all -c
) - 现在它可以正常工作了。呼。感谢 heynnema 的大力支持!
答案1
这lvmetad is not active yet, using direct activation during sysinit
是正常消息,并不会导致您的启动问题。
有人删除了您的交换分区。
/etc/fstab
有这一行:
/dev/mapper/kubuntu--vg-swap_1 none swap sw 0 0
寻找一个它永远找不到的交换分区。sudo blkid
和swapon
命令证实了这一点。
短期修复,注释掉上面的行fstab
:
在终端...
gksudo gedit /etc/fstab
改变
/dev/mapper/kubuntu--vg-swap_1 none swap sw 0 0
对此
#/dev/mapper/kubuntu--vg-swap_1 none swap sw 0 0
这将允许您在正常时间范围内启动,但系统将没有定义的交换空间。
长期修复,安装 LVM GUI 工具来管理您的 LVM 磁盘:
在终端...
sudo apt-get update
sudo apt-get install system-config-lvm
转到 Unity 仪表板并输入lvm
。使用此 GUI 工具重新制作 LVM 交换分区。然后返回并取消注释短期修复中的行。