windows server2022启用smb并挂载到ubuntu
问题
comfyui大模型需要占用大量的磁盘空间,而ubuntu扩容后,资源还是不足,所以扩展一部分资源在windows主机上。
条件
- windows server2022主机
- 启用hyper-v
- ubuntu虚拟机运行在hyper-v中
- 显卡直通到ubuntu,comfyui运行在ubuntu上
windows server2022添加内部虚拟交换机
创建内部虚拟交换机
如果还没有创建,请先建立一个:
在 Windows Server 2022 中打开 Hyper-V 管理器。
在右侧操作栏点击 虚拟交换机管理器。
选择 新建虚拟网络交换机 -> 选择 内部 (Internal) -> 点击 创建虚拟交换机。
命名为 ComfyUI-Internal(或任何你喜欢的名字)。
点击 确定。将虚拟机连接到该交换机
在 Hyper-V 管理器中,右键点击你的 Ubuntu 虚拟机 -> 设置。
选择添加硬件 ->网络适配器
在左侧硬件列表中找到 网络适配器。
在右侧的“虚拟交换机”下拉菜单中,选择你刚刚创建的 ComfyUI-Internal。
点击 确定。
配置IP地址
先配置windows 的IP地址,因为是在内网的,所以只需要配置一个IP/Mask,能和ubuntu通信即可,不需要配置网关。
配置ubuntu的IP地址
sudo nano /etc/netplan/00-installer-config.yamlnetwork:
version: 2
ethernets:
# 外网网卡:通过 DHCP 获取地址和默认网关
eth0:
dhcp4: true
# 内网网卡:手动设置静态 IP,不设网关
eth1:
addresses:
- 192.168.100.2/24
# 注意:千万不要在这里写 gateway4,否则会导致 Ubuntu 上网冲突执行 sudo netplan apply 生效。
测试网络通信
ping 192.168.100.1配置windows共享
创建专用用户:
- 右键点击“开始” -> 计算机管理。
- 在左侧导航栏:本地用户和组 -> 用户。
- 右键空白处 -> 新用户。
- 用户名:comfy_user,设置一个强密码(例如 Comfy123456)。
- 勾选:密码永不过期,取消勾选:下次登录须更改密码。
设置共享文件夹:
- 找到你的模型文件夹(如 D:\AI_Models)。
- 右键点击文件夹 -> 属性 -> 共享 -> 高级共享。勾选 共享此文件夹,共享名保持为 AI_Models。
- 点击 权限:删除 Everyone。点击 添加,输入 comfy_user 并确定。 赋予 comfy_user 读取/更改 权限。 点击 确定 保存。
- 获取主机 IP:按下 Win + R,输入 cmd。输入 ipconfig,记录下 IPv4 地址
如果 Ubuntu 连不上,最常见的原因是 Windows 防火墙拦住了 SMB。
在 PowerShell (管理员) 运行一行命令即可彻底解决:
Enable-NetFirewallRule -DisplayGroup "文件和打印机共享"配置ubuntu
安装工具
sudo apt update
sudo apt install cifs-utils -y创建挂载点
sudo mkdir -p /mnt/win_models**配置自动挂载 (fstab)**: 为了避免每次重启都要重新挂载,我们修改系统文件:
sudo nano /etc/fstab
//192.168.1.10/AI_Models /mnt/win_models cifs username=comfy_user,password=Comfy123456,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0注:uid 和 gid 设置为 1000 通常是 Ubuntu 第一个普通用户的 ID,这样 ComfyUI 才有权读写文件
执行挂载:
sudo mount -a在confyUI中指定文件路径
confyUI中保留了原来的ubuntu文件,指定新的models的路径。
这种方法需要在windows的共享文件夹中创建各个models的文件名称,然后编辑extra_model_paths.yaml 文件,在modesl下指定目录即可。
比如我的windows上创建了win_unet, 挂载好后,文件就在/mnt/win_models/win_unet
我只需要编辑添加即可。
unet: |
models/unet/
/mnt/win_models/win_unet/











