You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何/dev/sdg1未在/dev/disk/by-uuid及by-label中列出且无法挂载?

解决Ubuntu 16.04升级后磁盘无法挂载(systemd设备超时)的问题

我之前碰到过类似的systemd设备超时导致磁盘挂载失败的情况,结合你描述的症状——升级后换旧内核也无法挂载、/dev/sdg1在by-uuid/by-label中无条目、systemd等待设备超时,给你梳理几个实用的排查和解决步骤:

第一步:确认磁盘硬件是否被系统识别

首先排除硬件或驱动层面的问题:

  • 执行 lsblk 或 fdisk -l 命令,查看输出里是否存在 /dev/sdg 和 /dev/sdg1。如果完全看不到这个磁盘,说明系统没识别到它,先检查物理连接(SAS/SATA线缆、磁盘插槽),或者RAID卡的状态(如果是RAID磁盘的话)。
  • 如果磁盘能被识别到,再用 blkid /dev/sdg1 查看它的UUID和LABEL信息,确认这些标识是否正常存在。

第二步:手动挂载测试,排查文件系统本身问题

如果磁盘已被识别,先尝试手动挂载验证文件系统是否正常:

  • 创建临时挂载点:mkdir -p /mnt/test
  • 执行挂载命令:mount /dev/sdg1 /mnt/test
    • 如果挂载成功,说明文件系统本身没问题,问题出在自动挂载的配置或udev/systemd的设备路径生成上。
    • 如果挂载失败,根据报错信息排查(比如文件系统损坏,这时候需要执行 fsck /dev/sdg1 修复,注意要在磁盘未挂载的状态下运行)。

第三步:修复udev设备路径生成问题

如果手动挂载成功,但by-uuid/by-label里没有对应条目,说明udev没有生成这些软链接:

  • 重新触发udev事件:udevadm trigger
  • 等待几秒后,执行 ls /dev/disk/by-uuid/ 和 ls /dev/disk/by-label/,查看是否出现目标磁盘的条目。
  • 如果还是没有,检查磁盘的label是否有特殊字符(你的labeldata_raid1_05看起来没问题,但可以用 e2label /dev/sdg1 重新设置label试试)。

第四步:调整systemd挂载配置,解决超时问题

如果udev正常生成了路径,但systemd还是超时,那需要调整挂载相关的配置:

  • 检查/etc/fstab配置:确保你用的UUID或LABEL和blkid输出的完全一致。建议优先使用UUID(比LABEL更可靠),比如把fstab里的 LABEL=data_raid1_05 替换成 UUID=xxxxxx(xxxxxx是blkid输出的UUID字符串)。
  • 延长systemd设备超时时间:在fstab的挂载选项里添加 x-systemd.device-timeout=30s(可以根据实际情况调整时长,比如60s),给磁盘足够的时间被识别和准备。例如:
    UUID=xxxxxx /mnt/data ext4 defaults,x-systemd.device-timeout=30s 0 2
    
  • 重新加载systemd配置:systemctl daemon-reload,然后尝试启动挂载单元:systemctl start mnt-data.mount(替换成你的挂载点对应的单元名),看是否能成功。

第五步:排查文件系统损坏

如果上述步骤都无效,可能是文件系统有潜在损坏:

  • 确保磁盘未挂载,执行 fsck /dev/sdg1,按照提示修复错误(注意:fsck可能会修改文件系统,建议先备份重要数据)。修复完成后再尝试挂载。

内容的提问来源于stack exchange,提问作者Brian R.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:15:40