Ubuntu 下让 Jellyfin 使用外部硬盘的完整步骤
一 准备工作
- 插入外置硬盘,确认设备与分区:
- 查看块设备:lsblk
- 查看文件系统与 UUID:lsblk -f 或 sudo blkid
- 创建挂载点(示例):sudo mkdir -p /mnt/udisk0
- 建议始终使用分区的 UUID 进行挂载,避免因设备名变化(如 /dev/sda1 → /dev/sdb1)导致失败。
二 挂载外部硬盘
- 手动挂载示例(按实际文件系统替换):
- ext4:sudo mount -t ext4 /dev/sda1 /mnt/udisk0
- NTFS:sudo mount -t ntfs-3g /dev/sda1 /mnt/udisk0
- 设置开机自动挂载(使用 UUID 更稳妥):
- 获取 UUID:sudo blkid /dev/sda1
- 编辑 /etc/fstab,在末尾添加一行:
- ext4:UUID=你的UUID /mnt/udisk0 ext4 defaults 0 2
- NTFS:UUID=你的UUID /mnt/udisk0 ntfs defaults 0 0
- 验证配置:sudo mount -a(无报错即生效)
- 权限与所有权(容器内以 jellyfin 用户运行时更稳妥):
- 将挂载点属主设为 jellyfin(示例):sudo chown -R jellyfin:jellyfin /mnt/udisk0
- 或在 fstab 中使用挂载选项(示例):defaults,uid=1000,gid=100,umask=022(1000/100 为常见 jellyfin 用户/用户组 ID,按实际调整)。
三 在 Jellyfin 中添加媒体库
- 本机安装:在 Jellyfin 管理后台的 控制台 → 媒体库 中添加文件夹,路径选择 /mnt/udisk0/电影、/mnt/udisk0/剧集 等。
- Docker 运行:将媒体目录挂载到容器内,例如:
四 常见问题与排查
- NTFS 报错 “The disk contains an unclean file system …” 或 “Mount is denied … already exclusively opened”:
- 修复文件系统:sudo ntfsfix /dev/sda1
- 若提示被占用,先卸载:sudo umount /mnt/udisk0,再重新挂载
- 若仍异常,建议在 Windows 对该盘符执行 chkdsk /f X: 后重启两次再接入 Ubuntu。
- 权限被拒绝或媒体库扫描不到文件:
- 确认挂载点属主为 jellyfin 用户(或设置 fstab 的 uid/gid/umask)
- 重启 Jellyfin 服务或容器后再触发扫描。
- 设备名变化导致开机未挂载:
- 使用 UUID 配置 /etc/fstab,避免依赖 /dev/sdX 名称。