萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Ubuntu 連接 Windows Phone (MTP) 失敗解決:gvfs-mtp PPA 更新與 udev 規則手動配置

Ubuntu 預設 MTP (Media Transfer Protocol) 支援較舊,無法正確識別 Windows Phone 設備 (VID:PID 01b1:01b1 等),導致檔案管理器無法掛載存儲。解決方案:添加 gvfs-mtp PPA 更新核心 MTP 後端 + 建立 udev 規則強制識別裝置。本文提供完整指令流程。

解決步驟

  1. 添加 gvfs-mtp PPA 並更新 (提供較新 libmtp/gvfs-backend-mtp)
    
        sudo add-apt-repository ppa:langdalepl/gvfs-mtp
        sudo apt-get update && sudo apt-get upgrade
        
  2. 建立 udev 規則檔
    
        sudo nano /etc/udev/rules.d/69-libmtp.rules
        
  3. 寫入規則內容 (針對常見 Windows Phone VID/PID)
    
        # Nokia/Microsoft Lumia 系列
        ATTR{idVendor}=="0421", ATTR{idProduct}=="06e8", SYMLINK+="libmtp-%k", MODE="660", ENV{ID_MTP_DEVICE}="1"
        ATTR{idVendor}=="0421", ATTR{idProduct}=="01c8", SYMLINK+="libmtp-%k", MODE="660", ENV{ID_MTP_DEVICE}="1"
        # 通用 Microsoft 實現
        ATTR{idVendor}=="045e", ATTR{idProduct}=="04ec", SYMLINK+="libmtp-%k", MODE="660", ENV{ID_MTP_DEVICE}="1"
        # 文中提到的 01b1:01b1 (可能為特定型號)
        ATTR{idVendor}=="01b1", ATTR{idProduct}=="01b1", SYMLINK+="libmtp-%k", MODE="660", ENV{ID_MTP_DEVICE}="1"
        
  4. 重新載入 udev 規則
    
        sudo udevadm control --reload-rules
        sudo udevadm trigger
        
  5. 重新連接手機:拔插 USB,解鎖手機螢幕 (MTP 需解鎖),檔案管理器應自動彈出裝置。

驗證與除錯


# 查看裝置是否被識別為 MTP
lsusb
# 輸出應含 ID 0421:06e8 Nokia Mobile Phones 等

# 手動測試 mtp 工具
mtp-detect
mtp-files
mtp-folders

原理說明

  • gvfs-mtp PPA 更新了 libmtp (裝置識別資料庫) 與 gvfs-backend-mtp (GVfs 虛擬檔案系統後端),支援更新機型。
  • udev 規則在核心層面賦予裝置節點正確權限 (MODE="660") 與標籤 (ENV{ID_MTP_DEVICE}="1"),讓 GVfs 自動掛載。
  • SYMLINK+="libmtp-%k" 建立穩定符號連結供 libmtp 程式庫使用。

適用版本

  • Ubuntu 12.04 / 13.10 / 14.04 / 14.10 / 15.04 / 15.10 / 16.04。
  • Ubuntu 17.10+ (GNOME 3.26+) 已內建較新 gvfs-mtp,通常無需額外 PPA,僅需補充 udev 規則即可。
copyright © 萬盛學電腦網 all rights reserved