如何在 OS X 的外部磁碟機上執行 fsck?

如何在 OS X 的外部磁碟機上執行 fsck?

我在嘗試對外部磁碟機重新分割時收到此錯誤:“”。

我想fsck -fy在驅動器上運行,但不知道在外部驅動器上執行此操作的正確語法?

誰能幫我解決這個問題嗎?

答案1

實際上你想做的是:

% sudo fsck_hfs -fy /dev/disk1s1(取決於您要檢查的分割區)。

fsck只有當您必須將其fsck_hfs作為命令運行時,它才不起作用。

答案2

我在嘗試對外部磁碟機重新分割時收到此錯誤:“”

這確實是一個非常具有描述性的錯誤。


為了fsck在外部磁碟機上運行,您首先需要找出磁碟機的識別碼。運行diskutil list並檢查下面列出的捲的名稱-例如,IDENTIFIER它會類似於。disk3s4

使用該名稱運行fsck。您也可以傳遞-f選項來強制檢查乾淨的檔案系統。

sudo fsck /dev/disk3s4

fsck具有多種檔案系統類型的簡寫:

  • fsck_hfs對於 HFS,使用-f強制檢查日誌系統的選項
  • fsck_exfat對於 ExFAT(-f此處沒有選項)
  • fsck_msdos對於 FAT(-f此處沒有選項)

答案3

我必須使用 -l 標誌運行:

diskutil list # find your identifier
/sbin/fsck_hfs -l -f /dev/disk16

-l標誌告訴 fsck 以唯讀模式檢查磁碟機。

答案4

這不是對原始問題的直接回答,但密切相關。

另一種選擇是使用 diskutil 本身來驗證或修復外部磁碟機。
我不確定它與 fsck 相比如何,但它修復了我在重新啟動系統更新期間不小心將其插入後未安裝的外部驅動器。

diskutil list  # to find the IDENTIFIER
  (some internal disks listed first)
  /dev/disk2 (external, physical):                                              
    #:                    TYPE NAME                    SIZE       IDENTIFIER
    0:   GUID_partition_scheme                        *500.1 GB   disk2     
    1:                     EFI EFI                     209.7 MB   disk2s1   
    2:               Apple_HFS FreeAgent GoFlex Drive  499.8 GB   disk2s2   

然後命令如

diskutil verifyDisk disk2
diskutil verifyVolume disk2s1
diskutil verifyVolume disk2s2

由於某種原因,只需執行驗證命令即可解決我的問題,但如果您需要更進一步,還有修復命令:

diskutil repairDisk disk2
diskutil repairVolume disk2s1
diskutil repairVolume disk2s2

相關內容