存不進隨身碟?免安裝軟體讓 Mac 也能讀寫 NTFS 格式

小蛙幾乎每隔一段時間都要查一次怎麼寫入 NTFS,雖然步驟記下來了,但每次都還是要做一次感覺有點麻煩,今天有一點時間乾脆把這些流程寫成腳本,分享給有需要的人。

一般 Windows 的使用者大多把隨身碟或硬碟切割成 NTFS 格式,但是像小蛙常常要在 Windows 跟 Mac 之間傳檔,現在大多是用 Google Drive 來傳,不過總有些一定要透過 USB 隨身碟的情況,這種時候非常尷尬,在 Mac 環境下預設是沒有辦法寫入 NTFS 的,讀取倒是沒有問題,這是什麼意思呢?意思就是在 Mac 下可以看到隨身碟(可讀),也可以把照片、Word … 等檔案打開來(可讀),但是當你修改完之後發現,沒辦法存回隨身碟(不可寫),被迫只好在 Mac 下存一份修改過的檔案,然後透過網路或其他方式存出去。

這聽起來非常不方便啊!於是上網 Google 一下,找到這篇:Mounty for NTFS 讓你的 Mac OS 可以正確讀寫 NTFS 檔案系統,不過小蛙這篇不是要介紹這個方法,這個方法非常簡單只要安裝一下 Mounty for NTFS 就可以了,看到這邊如果對資訊或是對 Mac 沒有那麼熟悉的人,可以直接使用 Mounty for NTFS,下面的方法需要寫一些腳本才可以做到。

以下方法參考自:免安裝第三方軟體,用指令 Mac OS X 開啟 USB 外接硬碟 NTFS 讀寫功能(支援 OS X Yosemite),再加上小蛙自己寫的腳本跟一些使用心得的記錄。

確認目前隨身碟狀態

插上隨身碟之後,一般來說桌面上會出現一個外接裝置的 icon,點進去就可以存取檔案了,但如果是 NTFS 的就會跟上面提到的一樣,只可以讀取不可以寫入,這時候開啟終端機 Terminal,輸入 mount

最下面一行 /Volumes/HansNTFS 就是小蛙的隨身碟掛載在 mac 的路徑,看到後面有 ntfs 跟 read-only,在 Mac 上預設會自動掛載成 read-only,這時候我們需要做的事情是,取消掛載這個磁碟,然後再重新掛載成可讀寫。

取消掛載

輸入 sudo umount /Volumes/HansNTFS 把剛剛掛載 read-only 隨身碟解除掛載,一定要加 sudo 不然會警告權限不夠,解除掛載後再 mount 一次看看是否成功。

建立掛載資料夾 /Volumes/HansNTFS

在 /Volumes/ 下建立一個要掛載的資料夾名稱,可以不用跟原本的隨身碟名稱一樣,但小蛙這裡為了方便,給了他一樣的名字,之後插上隨身碟運行腳本之後,就可以在這個路徑下載存取隨身碟。同樣需要 sudo 的權限。

重新掛載可讀寫 NTFS
sudo mount -o rw,auto,nobrowse -t ntfs /dev/disk2s1 /Volumes/HansNTFS

上面的指令就可以重新掛載成可讀寫,但是後來就會發現一個問題,那桌面怎麼沒有出現圖示,從 Finder 裡面的側邊欄也沒有。

在桌面加入捷徑

進入的方式有兩種,第一種是從 Finder -> Go -> Go to Folder …,然後輸入「/Volumes/HansNTFS」,第二種方式是在桌面建立捷徑,在終端機下輸入「sudo ln -s /Volumes/HansNTFS ~/Desktop/HansNTFS」,/Volumes/HansNTFS 是前面建立並掛載的資料夾,到這邊就大功告成了!試試看是不是可以丟檔案進去了呢!

還要更好~

每次要使用 NTFS 隨身碟都要經過那麼多步驟實在太麻煩了,小蛙自己寫了一個腳本(小蛙寫腳本的功力很弱,不過還算是堪用),之後如果插入的是 NTFS 的隨身碟,只要執行一下腳本就可以使用囉!

#!/bin/bash
if [ "$1" = "" ]
then
        prefix=`mount | grep '/Volumes/HansNTFS' | awk -F' on ' '{print $1}'`
        posfix=`mount | grep '/Volumes/HansNTFS' | awk -F' on ' '{print $2}' | awk -F' ' '{print $1}'`
        sudo umount $posfix
        sudo mkdir -p $posfix
        sudo mount -o rw,auto,nobrowse -t ntfs $prefix $posfix
        sudo ln -sf $posfix ~/Desktop
else
        prefix=`mount | grep "/Volumes/$1" | awk -F' on ' '{print $1}'`
        posfix=`mount | grep "/Volumes/$1" | awk -F' on ' '{print $2}' | awk -F' ' '{print $1}'`
        sudo umount $posfix
        sudo mkdir -p $posfix
        sudo mount -o rw,auto,nobrowse -t ntfs $prefix $posfix
        sudo ln -sf $posfix ~/Desktop
fi

大概的流程是這樣,小蛙大多都使用這個 NTFS 隨身碟,為了方便使用,只要執行 ./mountUSB.sh 後面不帶參數,就會直接對小蛙常用的這個隨身碟做重掛載。

但也考慮了一個狀況,如果來的是別人的 NTFS 隨身碟怎麼辦?對啊!要怎麼辦呢?小蛙把這點也考慮進去了,如果來的是別人的隨身碟呢?首先插入的時候 Mac 會自動掛載 read-only 並且在桌面出現一個外接裝置的圖示,接著在終端機裡面一樣「./mountUSB.sh 隨身碟名稱」,這裡的隨身碟名稱就是外接裝置圖示下面的名稱,如此一來就可以動態重掛載 NTFS 裝置成讀寫囉!

您可能也會喜歡…

4 個回應

  1. 免安装是不错的了

  2. 搬瓦工表示:

    收藏了
    感谢分享

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *