在 Ubuntu 中挂载 Windows 共享 - 永久设置
以手动方式从 Ubuntu 连接到 Windows 共享文件夹一次,该文件夹会在下次重新启动时消失。 This setup mounts the share permanently with cifs-utils and an fstab entry — with the Windows password kept in a protected credentials file, _netdev and nofail so boot never hangs, and uid/gid so the files belong to you.
📑章节
- 问题 - 每次重新启动后,您手动打开的共享都会消失
- 快速测试 - 从“文件”应用打开一次共享
- 安装 cifs-utils 软件包
- 在 /mnt/SharedDocs 创建挂载点
- 将 Windows 登录信息保存在受保护的凭据文件中
- 使用 _netdev 和 nofail 将永久条目添加到 /etc/fstab
- 立即安装、验证,然后进行重新启动测试
📋 概述和分步指南
首先从文件应用程序测试共享
在将任何内容永久化之前,请先证明一次基础知识:Windows PC 正在共享文件夹、网络路径有效并且您的 Windows 用户名和密码已被接受。打开“文件”应用,按 Ctrl + L 打开地址栏,然后输入共享地址 - 在视频中,它是 PC 上名为 OFFICE-PC 的 SharedDocs 文件夹:
smb://OFFICE-PC/SharedDocs
当询问时输入 Windows 用户名和密码。如果文件夹打开并且您可以看到其中的文件,则共享名称、PC 名称和登录名均正确 - 准确记下它们,因为永久设置使用相同的三项内容。在本指南中,将 OFFICE-PC 和 SharedDocs 替换为您自己的电脑名称和共享名称。
smb://192.168.1.10/SharedDocs。为 Windows PC 提供固定或保留的 IP 地址 - 永久安装的可靠性取决于其指向的地址。安装 cifs-utils
永久挂载需要 CIFS 工具 - mount.cifs 帮助程序,让 Ubuntu 将 SMB (Windows) 共享附加为普通文件夹。打开终端并安装包:
sudo apt update
sudo apt install cifs-utils
如果没有这个软件包,步骤 5 中的 fstab 条目将无法使用,并且安装会失败 — 这个小型安装是将一次性浏览与真正的启动时安装区分开来的。
创建挂载点
挂载点只是一个空文件夹,其中将显示共享的内容。在 /mnt 下创建一个,以共享命名:
sudo mkdir -p /mnt/SharedDocs
将此文件夹留空。挂载共享时,/mnt/SharedDocs 中的所有内容实际上都是 Windows PC 上的文件,而未挂载时,该文件夹只是空的,这也是一目了然地判断挂载是否处于活动状态的有用方法。
将登录信息存储在受保护的凭据文件中
每次启动时,挂载都需要您的 Windows 密码,但该密码绝不能位于 /etc/fstab 本身内 - fstab 可以由计算机上的每个用户帐户读取。相反,请将登录名保存在只有 root 可以读取的自己的小文件中。创建它:
sudo nano /root/.smbcredentials
输入两行,以及您自己的 Windows 用户名和密码,然后使用 Ctrl + O 保存,并使用 Ctrl + X 退出:
username=YourWindowsUser
password=YourWindowsPassword
现在锁定该文件,以便只有 root 可以读取它:
sudo chmod 600 /root/.smbcredentials
chmod 600 是此步骤的重点,而不是可选的额外内容。如果没有它,凭据文件只是以纯文本形式编写的 Windows 密码,PC 上的其他帐户可以读取它。稍后请记住:如果您更改了 Windows 密码,也请更新此文件 - 过时的密码是工作挂载突然停止的最常见原因。添加永久 fstab 条目
现在告诉 Ubuntu 在每次启动时挂载共享。首先保留原始 fstab 的备份副本 - 该文件中的一个错误行可能会影响启动,而备份是您恢复的方法。然后打开文件:
sudo nano /etc/fstab
在文件的最后添加这一行:
//OFFICE-PC/SharedDocs /mnt/SharedDocs cifs credentials=/root/.smbcredentials,iocharset=utf8,_netdev,nofail,uid=1000,gid=1000 0 0
每个部分的作用://OFFICE-PC/SharedDocs 是共享,/mnt/SharedDocs 是它出现的位置,cifs 是文件系统类型。 credentials= 指向步骤 4 中受保护的文件,因此 fstab 中不会出现密码。 iocharset=utf8 保持包含特殊字符的文件名正确。 _netdev 告诉系统此挂载需要网络,因此它会等待网络而不是过早失败。 nofail 意味着如果 Windows PC 关闭,Ubuntu 仍会正常启动,而不是挂起或掉到紧急提示符下。 uid=1000,gid=1000 使挂载的文件归您的 Ubuntu 用户所有,因此您的应用程序无需 sudo 即可保存到共享中 — 1000 是第一个用户帐户的常用 ID;使用 id 命令检查您自己的,如果您的不同,请进行调整。
立即安装并在重新启动之前进行验证
暂时不要重新启动。立即测试 fstab 条目,同时您仍然可以看到它产生的任何错误:
sudo mount -a
mount -a 挂载 fstab 中列出的所有内容。如果它默默地完成,则该条目是好的 - 打开 /mnt/SharedDocs,您应该看到 Windows 共享的文件,并且快速 df -h 显示作为已安装文件系统列出的共享。在其中创建一个小测试文件以证明您可以写入,而不仅仅是读取。仅在该测试通过后,重新启动 Ubuntu 计算机一次:共享应该自行恢复原状,无需手动连接 - 重新启动是永久设置有效的真正证明。
mount -a 报告错误,请立即修复,而不是在重新启动后修复 - 阅读该消息,因为它通常直接指出问题:错误的共享名或 PC 地址、凭据文件中的错误内容,或来自 Windows 端的“权限被拒绝”,其中用户需要文件夹的“共享”选项卡和“安全”选项卡上的权限。安装座很少会在事后自行断裂。当这样做时,一侧的某些内容会发生变化——Windows 密码、PC 地址或权限。🏷️主题搜索变量和关键字
🎙️ 完整文字记录 — 点击展开
__TOK_31__
__TOK_32__
__TOK_33__
❓ 常见问题(英文)
本教程是 100% 免费学习的吗?
__TOK_34__
初学者可以遵循本指南吗?
__TOK_35__
如果遇到困难我可以在哪里提问?
__TOK_36__