使用 ZFS 的 Ubuntu 19.10 上的 grub 配置损坏

使用 ZFS 的 Ubuntu 19.10 上的 grub 配置损坏

我的 apt 由于 grub 配置失败而损坏。

看起来 grub 正在尝试发现我的 zfs 快照中的 linux-images

Setting up linux-image-5.3.0-23-generic (5.3.0-23.25) ...
Processing triggers for man-db (2.8.7-3) ...
Processing triggers for linux-image-5.3.0-23-generic (5.3.0-23.25) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.3.0-23-generic
cryptsetup: ERROR: Couldn't resolve device rpool/ROOT/ubuntu_q9qi62
cryptsetup: WARNING: Couldn't determine root device
I: The initramfs will attempt to resume from /dev/sda5
I: (UUID=a9d90fb7-5154-4897-9a2e-90c040c8ee90)
I: Set the RESUME variable to override this.
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: vmlinuz-5.3.0-18-generic in rpool/ROOT/ubuntu_q9qi62
Found initrd image: initrd.img-5.3.0-18-generic in rpool/ROOT/ubuntu_q9qi62
Found linux image: vmlinuz-5.3.0-19-generic in rpool/ROOT/ubuntu_q9qi62
Found initrd image: initrd.img-5.3.0-19-generic in rpool/ROOT/ubuntu_q9qi62
Found linux image: vmlinuz-5.3.0-23-generic in rpool/ROOT/ubuntu_q9qi62
Found initrd image: initrd.img-5.3.0-23-generic in rpool/ROOT/ubuntu_q9qi62
/etc/grub.d/10_linux_zfs: 338: .: Can't open /tmp/zfsmnt.rcbjOa/etc/.zfs/snapshot/autobackup-sd25sfd-2019-10-23--17-41-11/os-release
umount: /tmp/zfsmnt.rcbjOa: target is busy.
rmdir: failed to remove '/tmp/zfsmnt.rcbjOa': Device or resource busy
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-5.3.0-23-generic (--configure):
 installed linux-image-5.3.0-23-generic package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 linux-image-5.3.0-23-generic

我正在使用安装程序的默认 ubuntu19.10 zfs 配置。

答案1

老了却不被重视,所以……

我刚刚遇到这个问题。原来是 sophos AV 扫描程序自动扫描 /tmp 下的新挂载点。这导致文件系统被锁定。因此,在运行更新时禁用 sophos 可以解决此问题。

添加以下钩子也可以解决未来的问题

root@:/etc/grub.d# ls -tlr *sophos*
-rwxr-xr-x 1 root root 45 Feb  9 13:16 01_sophos
-rwxr-xr-x 1 root root 46 Feb  9 13:16 999_sophos
root@:/etc/grub.d# cat *sophos*
#!/bin/sh

systemctl stop sophos-spl.service
#!/bin/sh

systemctl start sophos-spl.service
root@abl-nonprod-agent-02:/etc/grub.d#

 

相关内容