问题描述
使用 LUKS 加密我的 Ubuntu 24.10(Oracular Oriole)笔记本电脑后,我遇到了以下问题:
- 有些应用程序根本无法启动,尤其是那些通过 snap 安装的应用程序
- 单击应用程序图标(如 Ubuntu App Center/Snap Store)时,没有任何反应
- 尝试从命令行安装 Snap Store 时出现错误:
cannot locate base snap core22: No such file or directory
您可以使用以下命令检查系统上安装了哪些核心包:
snap list | grep core
Snap 版本
$ snap --version
snap 2.67.1+24.10
snapd 2.67.1+24.10
series 16
ubuntu 24.10
kernel 6.11.0-21-generic
系统信息
- Ubuntu 24.10(Oracular Oriole)
- 使用 LUKS 进行全盘加密
- 安装了几个 snap 应用程序(Firefox、Signal Desktop 等)
根本原因分析
调查发现了多个相关问题:
- 交换设置失败
/etc/fstab
:加密后, ( )中引用的交换文件/swap.img
不再存在 - 核心 snap 损坏:LUKS 加密过程以某种方式损坏或破坏了核心 snap 包(core20、core22、core24),这些包是其他 snap 应用程序所依赖的基本 snap 包
snap list
虽然使用和检查时核心 snap 包似乎已正确安装和挂载mount | grep snap
,但它们无法正常运行,从而阻止应用程序启动。
解决方案
修复涉及两个步骤:
1.修复丢失的交换文件
2. 将所有核心 snap 包刷新到其 edge 版本
这是解决 snap 应用程序问题的关键修复:
完成这些步骤后,所有 snap 应用程序都开始再次正常工作。
为什么有效
当 Ubuntu 使用 LUKS 加密时,核心 snap 软件包似乎无法正确转换到加密环境。现有的 snap 软件包仍然挂载,但不知何故被损坏或无法被尝试使用它们的 snap 应用程序访问。
强制刷新到边缘版本会以与加密文件系统兼容的方式重建这些核心快照。
给其他人的说明
如果您在使用 LUKS 加密 Ubuntu 系统后遇到类似问题,请检查:
/etc/fstab
并确保它指向现有的交换文件您可以通过列出需要刷新的核心包来确定它们:
这将显示所有可能需要刷新的核心 snap 包(core20、core22、core24 等)。
您可以尝试安装 Snap Store
sudo snap install snap-store
并查看是否出现“无法找到基本快照”错误,以验证您的系统是否受到同一问题的影响。