systemd更新后安装后无法启动

systemd更新后安装后无法启动

首先,它多次重复此错误:

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-2aaa8b51a8118cb0dfcf-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 中修复这个问题,但我不确定什么样的黑客把它放在那里......我假设你没有手动执行它,所以我不确定这是否是一个问题。

相关内容