Mac讀不到外接硬碟的解決方法

分享在Mac電腦不正確退出USB後就再也抓不到的解決方法。
https://youtu.be/7WleqqELU2M

首先是把外接式硬碟拿到別台電腦讀讀看,能不能正常存取,如果別台電腦OK,理論上插回Mac過一陣子,以400GB來說,大約20~30分鐘可以在背景自動修復完成。

要知道Mac有沒有在自動修復,可以執行「Activity Monitor」看看有沒有 fsck_ 開頭的 process 在執行中。

除了可以在「Activity Monitor」,可以中斷正在背景自動修復程式,也可以在Ternimal 裡透過下面的指令來完成:

ps aux | grep fsck

說明:這個指令用來列出有關鍵字 fsck 的執行中的程式。

sudo kill -9 {pid}

pid 的部份是變動的,需要置換為在ps 指令看到的第二欄的數字。

當沒有程式在存取外接式USB時,就可以正常的在 Disk Utility 裡「退出」該disk, 在退出後就可以再使用 First Aid 的功能去修復 USB 外接式硬碟。

要透過指令退出硬碟,需要先使用指令:

diskutil list

列出所有的儲存裝置,找到要退出的硬碟後,再使用指令:

diskutil eject {disk_id}

退出該裝置。disk_id 需要從 diskutil list 指令裡找。


執行畫面

執行Disk Utility 後,MAX500G 的外接式硬碟顯示為「無法存取」(灰色):

MAX500G 的外接式硬碟,執行 First Aid 顯示錯誤訊息:

repair failed. (修復失敗)

主要原因是背景有另一個 fsck_exfat -y /dev/rdisk2s1 正在自動執行中,透過First Aid 執行的 fsck_exfat 會多一個 -x 的參數。

對一個Mac電腦正在背景執行 fsck_exfat 的裝置來執行 diskutil list 和 diskutil eject 會顯示錯誤訊息:Volume timeout while waiting to eject

使用 ps aux | grep fsck 指令,可以看到有二列的結果,第一列是 root 753 第二列是一般使用者帳號 812, 可以過透 sudo kill -9 753 來結束Mac在背景自動執行的修復程式。

在停掉 root 執行的 fsck_ 系列的修復程式(除了是 exfat 也可能是其他的,例如 hfs)之後,再執行 diskutil eject 就可以正確的退出外接裝置:

再重新執行一次 First Aid:

使用者自行觸發的修復程序,檢查中…:

過一段時間後,就可以修復成功:

這時候,再退出外接式硬碟,重新插入USB 就可以和以往一樣,正常的使用。

Facebook網友回應

您可能也會感興趣的文章...

隱藏setn三立新聞網的網頁閒置5分鐘視窗

生活小事

連到setn三立新聞網的網頁,閒置5分鐘會彈出訊息: ※ 本網頁已閒置超過5分鐘,請點擊右上關閉鈕,即可關閉。 每次去關掉,覺得麻煩。 不想被網頁彈出的對話框干擾的處理方 […]

Read More

桑迪胡克承諾的公益廣告

生活小事

WOW, 好神奇的公益廣告!一個畫面放2段故事。 出乎意料、震撼和感傷的廣告。 會不會和殺死小燈炮的人一樣,需要被社會關心的一群人?即使全面禁槍的台灣社會,也一樣會發生類 […]

Read More

小琉球海域的寶特瓶海

生活小事

這世界上,沒辦法讓每個人都不亂丟垃圾,海洋垃圾,或是海洋裡的動物被垃圾殘害死於非命,感覺很傷心。會去撿家裡附近環境垃圾的,應該沒有幾個人或幾乎沒有人會去做。 如果不想有所 […]

Read More

發佈留言

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