当前位置: 首页 > news >正文

Ubuntu 自动挂载移动硬盘

根据实际情况,博主验证了,少部分情况下可能失效

虽然自动挂载通常很可靠,但有时也可能因为一些原因失败。这时,你可以检查以下几点:

文件系统驱动是否安装:如果你的移动硬盘是 NTFS 或 exFAT 格式,你需要确保系统安装了相应的驱动包。
对于 NTFS 格式:

sudo apt update
sudo apt install ntfs-3g

对于 exFAT 格式:

sudo apt update
sudo apt install exfat-fuse exfatprogs

查看设备和分区:使用 lsblkfdisk -l 命令来确认系统是否识别了你的移动硬盘

lsblk

你会看到类似 /dev/sdb 或 /dev/sdc 这样的设备,以及它的分区,例如 /dev/sdb1

手动挂载:如果自动挂载失败,你可以尝试手动挂载,这也能帮助你诊断问题。
创建一个挂载点:

sudo mkdir /mnt/mydisk

手动挂载分区:

sudo mount /dev/sdb1 /mnt/mydisk

请将 /dev/sdb1 替换为你实际的设备分区。

可能是 USB 驱动有问题,导致无法正常识别设备。可以尝试重新加载 USB 存储驱动模块:

# 卸载
sudo modprobe -r usb_storage
# 重新加载
sudo modprobe usb_storage
sudo blkid

自动挂在

::: details auto-mount-usb.sh

#!/bin/bashlog() {echo "[$(date '+%F %T')] $*"
}udisksctl monitor | while read -r line; docase "$line" in*"Added /org/freedesktop/UDisks2/block_devices/"*)device_name=$(echo "$line" | awk -F'/' '{print $NF}')device="/dev/$device_name"if [[ $device_name =~ ^sd[a-z][0-9]+$ ]]; thenlog "Detected new partition: $device"# 等待设备就绪(最多 5 秒)for i in {1..5}; doif lsblk -no MOUNTPOINT "$device" &>/dev/null; thenbreakfisleep 1done# 检查是否已经挂载if mount | grep -q "^$device "; thenlog "$device is already mounted, skipping."elselog "Attempting to mount $device"if udisksctl mount -b "$device" --no-user-interaction; thenlog "$device mounted successfully."elselog "Failed to mount $device."fifielselog "Device $device_name is not a partition, skipping."fi;;*"Removed /org/freedesktop/UDisks2/block_devices/"*)device_name=$(echo "$line" | awk -F'/' '{print $NF}')device="/dev/$device_name"if [[ $device_name =~ ^sd[a-z][0-9]+$ ]]; thenlog "Device $device removed, attempting to unmount"if mount | grep -q "^$device "; thenif udisksctl unmount -b "$device" --no-user-interaction; thenlog "$device unmounted successfully."elselog "Failed to unmount $device."fielselog "$device was not mounted."fifi;;esac
done

:::

保存后执行:

sudo chmod +x /usr/local/bin/auto-mount-usb.sh

创建 systemd 服务

sudo nano /etc/systemd/system/auto-mount-usb.service

内容:

[Unit]
Description=Auto mount/unmount USB drives via udisksctl
After=network.target local-fs.target[Service]
ExecStart=/usr/local/bin/auto-mount-usb.sh
Restart=always
RestartSec=2
User=root[Install]
WantedBy=multi-user.target

重新加载 systemd 并启用

sudo systemctl daemon-reload
sudo systemctl enable --now auto-mount-usb.service

查看运行情况

systemctl status auto-mount-usb.service
# 实时日志:
journalctl -fu auto-mount-usb.service
http://www.dtcms.com/a/523780.html

相关文章:

  • 如何使用Postman做接口自动化测试及完美的可视化报告?
  • 配置Centos7.6 yum镜像源
  • Flink非对齐checkpoint踩坑记
  • 使用 WebSocket 实现手机控制端和电脑展示端的实时通信,包含断线重连功能。
  • 服装网站建设怎么写wordpress strip_tags
  • 一文讲清:数据清洗、数据中台、数据仓库、数据治理
  • 【C++ STL】探索STL的奥秘——vector底层的深度剖析和模拟实现!
  • STM32CUBEMX安装离线库
  • 体验 Suno v5:最新的 Suno AI 音乐模型
  • 2.4 欧拉集群安装Nova计算服务
  • 贵港网站建设兼职免费广告设计网站
  • Cell Mol Biol Lett|Runx2诱导超级沉默子形成下调Lpl表达:重塑雪旺细胞脂质代谢的新机制
  • 国自然·医工交叉热点|泛癌组织学重建AI模型
  • Python依赖管理与环境迁移实战:Poetry+Docker构建高效开发体系
  • 山西网站建设推荐景区网站如何建设
  • Flutter---CupertinoPicker滚动选择器
  • 全面掌握PostgreSQL关系型数据库,备份和恢复,笔记46和笔记47
  • Python SQLAlchemy模块:从入门到实战的数据库操作指南
  • 天津哪里有做网站的jquery wordpress
  • 流媒体网站建设规划亚马逊网站建设案例
  • PHP 异步IO扩展包 AsyncIO v2.0.0 发布
  • 《信息系统项目管理师》案例分析题及解析模拟题5
  • Jenkins上实现CI集成软件信息Teams群通知案例实现。
  • ZYNQ平台中断服务函数中的变量不加volatile修饰导致的奇怪问题解决
  • 2026年UX/UI五大趋势:AI、AR与包容性设计将重新定义用户体验
  • 网站做跳转自己建网站卖鞋
  • 百度网站服务器外贸网站优化
  • 应广单片机烧录跳线J7专用PCB使用说明
  • Java 前后端加密与编码技术:从概念到实战场景全解析
  • 拒绝笨重,一款轻量、极致简洁的开源接口管理工具 - PostIn