跳到主要內容
AnyStorage
免費下載

掛載 Azure Blob

把 Azure Blob Storage 掛載成本機磁碟(Windows)

Blob 容器不說 SMB,所以 net use 對應不了。BlobFuse2 與 NFS 3.0 各自的前提條件,以及在 Windows 和 macOS 上真正可行的做法。

Blob 容器不是 Azure 檔案共用。微軟兩條掛載路線的真實門檻,以及在 Windows 與 macOS 上能落地的方案。

Azure Blob 掛載 Windows,Azure Blob 網路磁碟機,Azure Blob 本機磁碟

Blob 容器不是檔案共用

開始之前最該知道的一件事:Azure Blob Storage 和 Azure Files 是兩個服務,其中只有一個說的是作業系統能原生掛載的通訊協定。

Azure Files 提供 SMB,所以 net use \\account.file.core.windows.net\share 可用,微軟文件也提醒要放行 TCP 445。而 Blob 容器是透過 443 連接埠上的 REST 存取,根本沒有可以指向的 SMB 端點。凡是以 net use 開頭教你「對應 Blob 容器」的教學,講的其實是 Azure Files,只是名字用錯了。

微軟確實記載了兩種掛載容器的方式,但各自的條件都把一般的 Windows 桌機排除在外。

每條掛載 Blob 容器的路線實際上要求什麼
路線用戶端系統協定前提條件最後得到什麼
Azure Files + net useWindows / macOS / LinuxSMB,445 連接埠要有 Azure 檔案共用,而不是 Blob 容器真正的磁碟機代號
BlobFuse2僅 Linux經 libfuse 的 RESTfuse3、設定檔、快取目錄類 POSIX 的掛載點
Blob 的 NFS 3.0Linux,且在虛擬網路內NFS,連接埠 111 與 2048新建帳戶,建立時啟用階層命名空間與 NFS v3掛載點,僅限 VNet
Azure Storage ExplorerWindows / macOS / LinuxREST一個瀏覽視窗,不是掛載
本機 WebDAV 橋接,例如 AnyStorageWindows / macOS / LinuxREST,在回送位址上重新發布磁碟機代號或 Finder 的磁碟區

為什麼 BlobFuse2 在 Windows 上幫不上忙

BlobFuse 是微軟開源的 Blob Storage 虛擬檔案系統驅動程式,文件對平台講得很直白:它用 libfuse 函式庫與 Linux 的 FUSE 核心模組溝通,並在 Azure 儲存體 REST API 之上實作檔案系統操作。也就是說,它在 Linux 上掛載容器。沒有 Windows 版本,設計上也搬不過來——在 Windows 上做同樣的事,等於要安裝 WinFsp 這類檔案系統驅動程式。

NFS 3.0 比看起來更嚴格

NFS 3.0 這條路是真的,但很窄。微軟的操作指南講的是從 Linux 的 Azure 虛擬機器或地端 Linux 系統掛載容器,真正有意思的是前提條件:

  • 儲存體帳戶必須位於一個虛擬網路中;能掛載的是同一虛擬網路內的用戶端,或已連線到該虛擬網路的地端網路。
  • 必須啟用階層命名空間與 NFS v3,而且文件寫明現有帳戶不能啟用 NFS 3.0,只能新建。
  • 協定使用 111 與 2048 連接埠,用戶端出方向要放行,路徑上網路安全性群組的入方向也要放行。
  • 新容器的預設模式是 0750,所以在 root 改權限之前,非 root 使用者沒有存取權。

sh

mkdir -p /nfsdata
mount -t aznfs -o sec=sys,vers=3,nolock,proto=tcp \
  mystorageacct.blob.core.windows.net:/mystorageacct/mycontainer /nfsdata

在 Azure 內部有用,但它不是你面前這台 Windows 筆電拿到磁碟機代號的辦法。

Storage Explorer 能做什麼、不能做什麼

Azure Storage Explorer 是一個不錯的免費工具,可以瀏覽 blob、佇列、資料表與檔案共用。但它不是掛載。它以外的任何程式都無法用路徑開啟一個 blob,所以剪輯軟體、Excel、shell 指令碼與備份工具全被擋在門外。這個區別值得講清楚,因為「桌面用戶端」和「掛載的磁碟機」常被混用,而只有後者能滿足需要檔案系統路徑的應用程式。

在 Windows 拿到磁碟機代號,在 macOS 拿到磁碟區

AnyStorage 以儲存體帳戶名稱與存取金鑰連線 Azure Blob Storage,憑證加密保存在本機,接著把所有開著的連線透過跑在你自己電腦上的 WebDAV 伺服器發布出來。側邊欄 Services、WebDAV 頁籤、Start,端點是 http://127.0.0.1:3211,HTTP Basic 驗證永遠開著:預設帳號 anystorage,密碼是首次使用時產生的 24 個字元。

在 Windows 上對應一次就好:

cmd

reg add "HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters" /v BasicAuthLevel /t REG_DWORD /d 2 /f
net stop WebClient
net start WebClient
net use Z: http://127.0.0.1:3211/ /user:anystorage * /persistent:yes

BasicAuthLevel 必須是 2,因為 Windows 預設拒絕在明文 HTTP 上送出 Basic 憑證,而這個端點是回送位址上的 HTTP。如果對應被「發生系統錯誤 67。」或「錯誤碼: 0x80070043」擋下,先查 WebClient 服務——微軟在 2023 年 11 月淘汰了它,現在預設不啟動;完整原因見 net use 錯誤 67

在 macOS 上,Finder 按 Cmd+K,輸入同樣的位址與憑證,磁碟區就出現在 /Volumes 底下。不需要 macFUSE,也不需要核心擴充套件,因為這是網路掛載而不是檔案系統驅動程式。AnyStorage 需要 macOS 11 以上、Windows 10 以上或 Ubuntu 20.04 以上;0.2.24 於 2026 年 9 月 23 日釋出,Mac 上可用 brew install --cask kilerd/tap/anystorage 安裝。

在同一個磁碟機代號底下,Blob 容器旁邊可以是 S3、Cloudflare R2、Backblaze B2、MinIO、Google Cloud Storage、阿里雲 OSS、騰訊雲 COS、Google 雲端硬碟、OneDrive、Dropbox、WebDAV、FTP、SFTP 與本機資料夾。兩個限制要先知道:免費版掛載唯讀,讀寫屬於 Pro,且免費版可用兩個連線。大檔案上傳建議在應用程式裡做,那條路徑直接走 Azure REST API,也就不受 Windows WebDAV 用戶端 單檔 50MB 預設值 的限制。

可以用 net use 對應 Blob 容器嗎?

不行。net use 需要 SMB 或 WebDAV,而 Blob 容器兩者都沒有。提供 SMB 的服務是 Azure Files;如果資料真的在 blob 裡,就只能走橋接或 Linux 那兩條掛載路線。

有 Windows 版的 BlobFuse 嗎?

沒有。BlobFuse2 建立在 libfuse 與 Linux FUSE 核心模組之上。在 Windows 上做類似的事需要 WinFsp 這類第三方檔案系統驅動程式,而 WebDAV 掛載完全繞開了它。

現有的儲存體帳戶可以啟用 NFS 3.0 嗎?

不行。微軟文件寫明必須新建帳戶並啟用階層命名空間與 NFS v3,現有帳戶無法升級。真要走這條路,請把移轉工作量算進去。

掛載會影響 Azure 的計費嗎?

透過任何掛載讀取,本質都是對 blob 端點送出 REST GET,所以資料傳輸與交易次數的計費跟其他用戶端完全一樣。掛載改變的是介面,不是計費模型。

接著看