windows系统nfs挂载

比起君子讷于言而敏于行,我更喜欢君子善于言且敏于行。

目录

一、remmina页面挂载方式

1.手动挂载

[2. 自启动挂载](#2. 自启动挂载)

二、ssh登录方式挂载

三、理论知识

[1. 错误直觉(问题根源)](#1. 错误直觉(问题根源))

[2. Windows 的真实模型](#2. Windows 的真实模型)

1)用户(User)

[2)会话(Session / 房间)](#2)会话(Session / 房间))

[a. GUI / Remmina(桌面房间)](#a. GUI / Remmina(桌面房间))

b.SSH(后台房间)

[c.SYSTEM / 服务登录(更封闭的房间)](#c.SYSTEM / 服务登录(更封闭的房间))

[3)结论:同一用户 ≠ 同一房间](#3)结论:同一用户 ≠ 同一房间)

[3. 网络盘在 Windows 里是什么?](#3. 网络盘在 Windows 里是什么?)

[4. ~/.bash_profile 为什么可以解决问题](#4. ~/.bash_profile 为什么可以解决问题)

[5. 为什么 Remmina → SSH 不稳定](#5. 为什么 Remmina → SSH 不稳定)

[6. 最终稳定方案](#6. 最终稳定方案)

[7. 为什么linux不会出现这个问题](#7. 为什么linux不会出现这个问题)

总结


一、remmina页面挂载方式

1.手动挂载

随便打开一个文件------此电脑 鼠标右键------映射网络驱动器------填写后点击完成

2. 自启动挂载

1) 使用想要设置的账户登陆系统(比如:admin或者test),控制面板->程序->启动或关闭windows功能: 确保nfs服务被勾选

2) cmd页面,输入gpedit.msc 回车

3) 计算机配置------>用户配置------>脚本(启动/关机)------>启动------>打开属性

❗ "登录的是 test" ≠ "脚本就是以 test用户执行的"

Windows 里,计算机启动脚本 :默认是 system && 用户登录脚本 :才是默认当前登录用户

所以这里的配置选择的是"用户配置"而不是"计算机配置"

4) 点击 预览(B)...,会显示文件的位置。新建mount_nfs.bat文件,将挂载内容根据实际情况拷进去:

net use y: \\nfs.com\shared\window /persistent:yes

5) 点击添加,选中该文件

6)双击该文件,进行一次mount

二、ssh登录方式挂载

复制代码
#把这句命令加进去
vim ~/.bash_profile
cmd.exe /c "net use y: \\nfs.com\shared\windows /persistent:yes"

这条命令真正做了什么?

cmd.exe:Windows 官方、完全信任的执行环境

net use:Windows 官方网络盘登记接口;给"当前登录 Token"挂载网络盘不是全局行为

persistent:yes 写入用户级配置(长期有效);写入注册表 HKCU\Network\X:

下次【交互式登录】自动重连

本质变化: 网络盘从"会话级" → "用户级"

三、理论知识

起因是我发现,remmina页面挂载nfs之后,ssh页面进去df -h看不到挂载的这个nfs,于是开始寻找答案。

1. 错误直觉(问题根源)

大众以为:账号一样 = 环境一样 ❌

实际上的:Windows 同时看 你是谁(用户)+ 你从哪儿进来(入口)

2. Windows 的真实模型

1)用户(User)

└─ 身份:用户名 / 密码

2)会话(Session / 房间)

a. GUI / Remmina(桌面房间)

登录方式:Remmina;RPD;本地桌面登录

特点:有桌面、有 explorer.exe、能看到大多数盘符

b.SSH(后台房间)

登录方式:ssh user@ip:端口; cygwin sshd;没桌面

特点:没桌面、没explorer.exe、 独立 Token、默认看不到交互式盘符

c.SYSTEM / 服务登录(更封闭的房间)

开机启动脚本、计划任务(SYSTEM)

特点:权限最高、但不是"用户"、用户盘符完全不可见

3)结论:同一用户 ≠ 同一房间

3. 网络盘在 Windows 里是什么?

不是全系统文件系统,更像: "某个用户在某个房间领到的使用凭证"

默认特性:1)只对创建它的会话负责;2) 不保证别的会话能看到

4. ~/.bash_profile 为什么可以解决问题

SSH 登录时一定会执行:

1)执行用户 = autotester

2)执行环境 = SSH 的 Token

3)cmd.exe /c net use

a. 拿到真正 Windows 控制台 b. net.exe 正常工作

4)结果:SSH 房间里,Y: 永远存在

5. 为什么 Remmina → SSH 不稳定

Remmina 挂载只存在于 Interactive Token

SSH 进入后偶尔看到(Token 复用 / 缓存),大多数看不到(正常现象)

重启后更混乱的原因: Token 重新生成,缓存失效

6. 最终稳定方案

Remmina使用用户登录脚本

SSH 使用 ~/.bash_profile写入cmd.exe /c net use ... /persistent:yes

核心原则:谁用,谁就在自己的登录方式里挂,双管齐下

7. 为什么linux不会出现这个问题

Linux:资源属于"系统命名空间"。谁进来,都看到同一个世界

Windows:资源属于"登录会话 / Token"。同一个人,从不同门进来,进的是不同房间


总结

Windows 的网络盘不是"用户的",而是"用户在某种登录方式里的"。

相关推荐
Access开发易登软件19 小时前
Access 窗体中实现数字滚动动画:Timer + Easing 的技术实现
运维·数据库·nginx·microsoft·access
hweiyu0019 小时前
Linux 命令:split
linux·运维·服务器
tomiatomia20 小时前
MinIO docker 部署使用的几个坑
运维·docker·容器
lihe75820 小时前
每天凌晨3点自动同步UBUNTU源
linux·运维·ubuntu·本地源
x***r15120 小时前
Putty远程管理软件安装步骤详解(附首次连接教程)
windows
86Eric20 小时前
Vagrant 镜像打包与新环境部署全流程实操(避坑指南)
运维·vagrant·virtualbox·vagrantfile
广然21 小时前
EVE-NG 镜像管理工具 1.1 Web 版本正式发布!
运维·服务器·前端
祁鱼鱼鱼鱼鱼21 小时前
DNS 笔记记录
运维·服务器·网络
tod11321 小时前
Makefile进阶(上)
linux·运维·服务器·windows·makefile·进程
阳光九叶草LXGZXJ21 小时前
达梦数据库-学习-50-分区表指定分区清理空洞率(交换分区方式)
linux·运维·数据库·sql·学习