在 Windows 上掛載 NFS
-
Windows 版本要求:
- 專業版或企業版:Windows 10 和 Windows 11 的專業版或企業版可以直接使用 NFS 客戶端功能。
- 家用版:Windows 家用版不支持直接使用 NFS 客戶端。
-
安裝 NFS 客戶端(僅適用於專業版或企業版):
- 打開“控制台”。
- 點擊“程式集”。
- 選擇“開啟或關閉 windows 功能”。
- 勾選 “Service for NFS” 和 “Client for NFS”。
- 點選”確定”。
-
掛載 NFS 檔案系統:
-
打開“命令提示符”或“PowerShell”。
-
使用以下命令掛載 NFS 檔案系統:
mount -o anon \\<NFS 伺服器 IP>\<共享名稱> <本地驅動器:>例如,假設 NFS 伺服器的 IP 是 192.168.1.100,NFS 共享名稱是 /shared,並且你想將它掛載到本地的 Z: 驅動器,命令如下:
mount -o anon \\192.168.1.100\shared Z:
-
Windows 家用版的限制
Windows 家用版不支持內建的 NFS 客戶端,因此無法像專業版或企業版那樣直接掛載 NFS 檔案系統。
使用 WSL 作為替代
一個解決方案是使用 Windows Subsystem for Linux (WSL) 作為替代。WSL 允許你在 Windows 上運行 Linux 環境,從而可以使用 Linux 的 NFS 工具來掛載 NFS 檔案系統。
-
安裝 WSL:
-
打開“命令提示符”或“PowerShell”並輸入以下命令來安裝 WSL:
wsl --install -
這個命令將安裝 WSL 和一個預設的 Linux 發行版(通常是 Ubuntu)。
-
-
安裝 NFS 客戶端:
-
打開 WSL 終端。
-
安裝 NFS 客戶端工具:
sudo apt update sudo apt install nfs-common
-
-
創建掛載點:
-
在你的 WSL 文件系統中創建一個目錄,作為掛載點。例如:
sudo mkdir -p /mnt/nfs_share
-
-
掛載 NFS 檔案系統:
-
使用以下命令掛載 NFS 檔案系統:
sudo mount -t nfs <NFS 伺服器 IP>:<共享名稱> <本地掛載點>例如:
sudo mount -t nfs 192.168.1.100:/shared /mnt/nfs_share -
這樣,你就可以在 /mnt/shared 路徑下訪問 NFS 共享檔案。
-
掛載失敗解決方法
情況 1: 不知道NFS分享的資料夾是哪一個
方法 1: 使用 showmount 命令
-
使用
showmount命令查詢 NFS 伺服器共享的目錄:showmount -e <NFS 伺服器 IP>這將顯示 NFS 伺服器上共享的目錄列表。例如:
Export list for 192.168.1.100: /export/nfs_share * /another/share 192.168.1.0/24
方法 2: 檢查伺服器配置(如果有權限)
-
使用 SSH 連線到 NFS 伺服器:
ssh username@192.168.1.100 -
查看
/etc/exports文件:cat /etc/exports這將顯示 NFS 伺服器上配置的所有 NFS 共享。例如:
/export/nfs_share *(rw,sync,no_subtree_check) /another/share 192.168.1.0/24(rw,sync,no_subtree_check)
掛載共享目錄
sudo mkdir -p /mnt/nfs_share
sudo mount -t nfs 192.168.1.100:/export/nfs_share /mnt/nfs_share
情況 2: access denied by server while mounting
如果你有 SSH 存取權限,可以直接登入 NFS 伺服器並查看或修改其配置。以下是詳細步驟:
1. 使用 SSH 登入 NFS 伺服器
使用提供的使用者名稱和密碼透過 SSH 登入 NFS 伺服器。
ssh admin@192.168.1.100
2. 查看 NFS 配置
登入後,查看 NFS 伺服器的配置,特別是 /etc/exports 文件,以確保你的客戶端 IP 位址在允許範圍內。
cat /etc/exports
3. 新增或修改 NFS 共享配置
如果用戶端 IP 位址不在允許範圍內,可以編輯 /etc/exports 檔案以新增或修改共用設定。
編輯 /etc/exports 檔案:
sudo nano /etc/exports
新增或修改共用配置,確保你的客戶端 IP 位址在允許範圍內。例如,新增如下行:
/fsm 192.168.XXX.X(rw,sync,no_root_squash)
儲存並退出編輯器(在 nano 中按 Ctrl+O 儲存,Ctrl+X 退出)。
4. 重新導出 NFS 共享
使變更生效,重新匯出 NFS 共用:
sudo exportfs -rav
5. 確保必要的服務正在運作
確保 NFS 和 rpcbind 服務正在運作:
sudo systemctl start nfs-kernel-server
sudo systemctl enable nfs-kernel-server
sudo systemctl start rpcbind
sudo systemctl enable rpcbind
接著同之前一樣嘗試掛載。
6. 若依然無法掛載可採取的方法
編輯 /etc/exports 檔案:
sudo nano /etc/exports
將剛剛新增的配置改為:
/fsm 192.168.XXX.X(rw,sync,no_root_squash,insecure)
儲存並退出編輯器(在 nano 中按 Ctrl+O 儲存,Ctrl+X 退出)。
7. 終極方法
編輯 /etc/exports 檔案:
sudo nano /etc/exports
將剛剛新增的配置改為:
/fsm *(rw,sync,no_root_squash,insecure)
儲存並退出編輯器(在 nano 中按 Ctrl+O 儲存,Ctrl+X 退出)。
注意:這樣的配置意味著任何人只要知道你的 NFS 伺服器的 IP 地址和共享目錄路徑,都可以以 root 權限連接並進行讀寫操作,這可能帶來安全風險。
