Debian — 启动映像中缺少 /by-uuid/

Debian — 启动映像中缺少 /by-uuid/

我们在服务器上进行了一些磁盘操作(系统磁盘已扩展为新硬盘),不幸的是,重启后启动卡在错误上:

警告!/dev/disk/by-uuid/c6ce1608-d59e-4072-8b8b-178d217ca849 不存在。转到 shell!

如果我尝试列出此文件夹(按 uuid),则不存在。如果我尝试手动创建此文件夹和其中的符号链接,则服务器将成功启动,但直到下次重新启动。下次重新启动时文件夹再次丢失。

我能请你帮忙吗?

答案1

initramfs 肯定有问题。您必须从实时会话中修复它。在实时会话中,以 root 身份运行以下命令:

# Mount your Debian root drive
# Replace 'sdX' with the path to your Debian
# root
/dev/sdX /mnt

# Bind mount some virtual file systems
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

# chroot into your Debian root
chroot /mnt

# Update the initramfs
update-initramfs -u

# Refresh your grub config files
update-grub

答案2

我遇到了同样的问题,罪魁祸首是 blkid 的旧版本。我能够通过 chroot 进入我的安装并运行来修复它

apt-get install --reinstall util-linux
update-initramfs -u

对于那些对此问题感到好奇的人来说,更详细一点:在我的系统上,udev 通过运行创建 by-uuid 文件夹blkid -o udev(您可以在中看到这一点/lib/udev/rules.d/60-persistent-storage.rules)。我使用的 blkid 版本不支持 udev 格式。运行apt-get install util-linux(提供 blkid 的软件包)提示已安装最新版本,但事实显然并非如此。重新安装 util-linux 后,我的 blkid 二进制文件已更新。

相关内容