系统启动进入紧急模式,journalctl显示磁盘挂载失败及Snap相关错误求助
嘿,我来梳理下当前遇到的问题并给出排查方向~
首先说下我的设备存储配置:
- HDD1:
/dev/sdb2<->/mnt/disk1 - HDD2:
/dev/sda2<->/mnt/disk2 - SSD2:
/dev/nvme0n1p2<->/mnt/ssd2
其中这块SSD是存放用户主目录(homes)的磁盘。
问题现象
每次开机都会直接进入紧急模式,系统提示登录后输入journalctl -xb查看详细日志。查看日志后发现两类关键错误:
1. 核心挂载失败错误
systemd[1]: Failed to mount /mnt/disk1
2. 一系列Snap自动导入相关错误
nvme1n1: Process '/usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/nvme1n1' failed with exit code 1
nvme0n1: Process '/usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/nvme0n1' failed with exit code 1
sda: Process '/usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/sda' failed with exit code 1
sdb: Process '/usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/sdb' failed with exit code 1
nvme1n1p2: Process '/usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/nvme1n1p2' failed with exit code 1
nvme0n1p1: Process '/usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/nvme0n1p1' failed with exit code 1
排查与解决建议
优先解决磁盘挂载失败问题
系统进入紧急模式通常是因为关键挂载点无法正常挂载,所以先聚焦/mnt/disk1的问题:
- 手动尝试挂载,获取具体错误
在紧急模式下执行以下命令,尝试手动挂载磁盘:
如果挂载失败,终端会输出具体错误(比如文件系统损坏、UUID不匹配、磁盘硬件异常等),根据错误信息针对性处理:mount /dev/sdb2 /mnt/disk1- 若提示文件系统错误:可以用对应文件系统的修复工具,比如ext4格式的话执行
fsck /dev/sdb2(注意修复前尽量确保磁盘未挂载,若无法卸载可尝试只读模式检查:fsck -n /dev/sdb2) - 若提示UUID不匹配:检查
/etc/fstab里/mnt/disk1的配置条目,对比blkid /dev/sdb2输出的UUID,确保两者一致,同时检查挂载选项是否合理。
- 若提示文件系统错误:可以用对应文件系统的修复工具,比如ext4格式的话执行
处理Snap相关错误
这些Snap的错误大概率是因为磁盘挂载异常导致的,Snap在自动导入时无法访问对应的磁盘分区。等磁盘挂载问题解决后,可以尝试以下操作:
- 重启Snap服务
systemctl restart snapd.service - 重新执行Snap自动导入
如果问题依旧,可以检查Snap的存储配置,确认是否有绑定到异常磁盘分区的设置,必要时可以重新初始化Snap存储(注意此操作会移除已安装的Snap应用,谨慎执行)。snap auto-import --mount-all
备注:内容来源于stack exchange,提问作者Alberto

