![systemd更新后安装后无法启动](https://linux22.com/image/90761/systemd%E6%9B%B4%E6%96%B0%E5%90%8E%E5%AE%89%E8%A3%85%E5%90%8E%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8.png)
首先,它多次重复此错误:
Lvmetad is not active yet, using direct activation during sysinit
Volume group "mint-vg"not found
Cannot process volume group mint-vg
比它显示:
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/mint--vg-root does not exist.
Dropping to a shell!
然后进入BusyBox(iniframfs)
我也尝试过旧的内核,但它给出了同样的结果。
我记得在此之前安装了“systemd”更新。编辑:我使用 Linux mint 18 作为这台主计算机上的实时和主驱动器,并遇到了顺便描述的问题。有谁知道我应该从这里做什么?
编辑1:
我尝试了这个解决方案:
缺少根 VG,已掉落到 initramfs shell。 [解决了]
从LVM LVS
现在起,我知道我的 vg 是“mint-vg”,我的 root LV 是“root”。我在 Mounted /boot/grub/grub.cfg 中更改了它并重新启动了计算机。
但现在它多次重复这个错误:
Lvmetad is not active yet, using direct activation during sysinit
Volume group "mint" not found
Cannot process volume group mint
比它显示:
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/mint-vg-root does not exist.
Dropping to a shell!
有谁知道如何更新 grub 和 initramfs 吗?
编辑2:
我认为上面的新错误是由于“mint”和“vg”之间的额外破折号造成的,因此我通过 KVPM GUI 应用程序将卷组名称更改为“mint_vg”。不,我仍然遇到与上面相同的错误,只是映射器名称和卷组名称发生了更改。
编辑3:
我不知道我现在正在做什么,我在活动磁盘上安装了启动修复,解密并安装我的主系统,然后运行启动修复。现在系统有一个更新的 grub,我认为还有一个更新的内核...我尝试了所有三个内核,包括新内核,它们都给出了与两者相同的结果。
编辑4:
我的 root 的 blkid 的 uuid 在 etc/fstab 和 etc/crypttab 中是不同的。我更改了实时磁盘中的这些文件,但重新启动时仍然出现相同的错误。
编辑5:
上面有些命名错误,从/dev/disk改成/dev/mapper
编辑6:
我在 Peter 的回答中进展顺利(降级了 systemd!我更改了实时驱动器的 /etc/host 中的一些内容以匹配我的主驱动器的 /etc/host),但我尝试了 Peter 的最后三个命令行,它给了我这些问题:
root@mint / # grub-install /dev/sda
Installing for i386-pc platform.
grub-install: error: cannot find a device for /boot/grub (is /dev mounted?).
root@mint / # update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.4.0-31-generic
cat: /proc/cmdline: No such file or directory
root@mint / # update-grub
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).
root@mint / #
我也尝试放弃这些行并尝试再次启动我的主驱动器;没用。
编辑7:
据彼得说,我忘记了这句话
for d in dev proc sys; do mount -o bind /$d /mnt/root/$d; done
它给了我语法错误do
。哦,好吧,根据他的说法,我只需要将它们分解即可:
sudo mount -o bind /dev /mnt/root/dev
sudo mount -o bind /proc /mnt/root/proc
sudo mount -o bind /sys /mnt/root/sys
之后我按照他回答中的其余步骤进行操作,直到我遇到问题为止编辑6
grub-install /dev/sda
似乎有效:
Installing for i386-pc platform.
Installation finished. No error reported.
update-initramfs -u
另一方面给了我一些可能是错误的消息,我将在编辑后检查这些消息:
update-initramfs: Generating /boot/initrd.img-4.4.0-31-generic
cryptsetup: WARNING: invalid line in /etc/crypttab for luks-8cb0dfcf-f4c8-47a2-aede-7fae0217797e -
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
我认为最大的问题在于update-grub
:
Generating grub configuration file ...
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
Found linux image: /boot/vmlinuz-4.4.0-31-generic
Found initrd image: /boot/initrd.img-4.4.0-31-generic
Found linux image: /boot/vmlinuz-4.4.0-28-generic
Found initrd image: /boot/initrd.img-4.4.0-28-generic
Found linux image: /boot/vmlinuz-4.4.0-21-generic
Found initrd image: /boot/initrd.img-4.4.0-21-generic
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1. Check your device.map.
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
done
如果有人知道上述问题的解决方案,请告诉我。
编辑8:
为了更好地衡量,这里是/etc/fstab
和/etc/crypttab
稳定表:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=9434a2fe-8f66-494d-a098-2aaa8b51a811 / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
#UUID=97fff05b-8e15-4a6b-ba91-08babab89e8e /boot ext2 defaults 0 2
#/dev/mapper/mint--vg-swap_1 none swap sw 0 0
#UUID=02270177-d1a5-41bf-9b1c-f8f46fe22bb3 none swap sw 0 0
#Move /tmp to RAM
tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0
/dev/disk/by-uuid/89d3985d-93b9-4193-bc7e-ada76afba948 /mnt/89d3985d-93b9-4193-bc7e-ada76afba948 auto nosuid,nodev,nofail,x-gvfs-show 0 0
#UUID=97fff05b-8e15-4a6b-ba91-08babab89e8e /boot ext2 defaults 0 2
UUID=97fff05b-8e15-4a6b-ba91-08babab89e8e /boot ext2 defaults 0 2
加密选项卡:
sda5_crypt UUID=9434a2fe-8f66-494d-a098-2aaa8b51a811 none luks,discard
#cryptswap1 UUID=02270177-d1a5-41bf-9b1c-f8f46fe22bb3 /dev/urandom swap,offset=1024,cipher=aes-xts-plain64
luks-f1e0883c-d8c1-4ec1-b5e7-8a9918ea0d5e UUID=f1e0883c-d8c1-4ec1-b5e7-8a9918ea0d5e /etc/luks-keys/luks-f1e0883c-d8c1-4ec1-b5e7-8a9918ea0d5e nofail
编辑9:
在上面的两个文件中更改9434a2fe-8f66-494d-a098-2aaa8b51a811
为8cb0dfcf-f4c8-47a2-aede-7fae0217797e
现在执行后update-initramfs -u
我只有W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
错误消息,现在将重点关注这一点。无效消息(编辑7) 离开了。
编辑10:
我放弃了,重新安装一切比经历这些废话容易得多。我永远不会再安装 4 级或 5 级更新。
答案1
所以既然你变得绝望了,这里有一个临时/肮脏的解决方案......
- 启动救援媒体
挂载文件系统并chroot到其中,例如。
mkdir /mnt/root mount /dev/mapper/mint--vg-root /mnt/root mount /dev/sda1 /mnt/root/boot # example if you have separate boot for d in dev proc sys; do mount -o bind /$d /mnt/root/$d; done chroot /mnt/root /bin/bash
然后尝试一些修复...我建议降级 systemd 版本或其他文件(请参阅 /var/log/apt/history.log 中的升级历史记录)(以下是 ubuntu 16.04 上的示例...我不有薄荷糖看看)
$ apt-cache policy systemd systemd: Installed: 229-4ubuntu6 Candidate: 229-4ubuntu6 Version table: *** 229-4ubuntu6 500 500 http://de.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages 100 /var/lib/dpkg/status 229-4ubuntu4 500 500 http://de.archive.ubuntu.com/ubuntu xenial/main amd64 Packages $ apt-get install systemd=229-4ubuntu4
然后如果您需要更新它,例如。因为您更改的某些软件会以不同的方式生成它,所以请重新生成引导内容(如果尚未修复,请确保修复 fstab...):
grub-install /dev/sda update-initramfs -u update-grub
最后一点,你的输出表明/dev/disk/vg-...
我不认为这是正确的。它应该说/deg/mapper/vg-...
“映射器”,而不是“磁盘”。我会在 fstab 中修复这个问题,但我不确定什么样的黑客把它放在那里......我假设你没有手动执行它,所以我不确定这是否是一个问题。