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_hfsHFSの場合は、-fジャーナルシステムのチェックを強制するオプションを使用する
  • fsck_exfatExFATの場合(-fここではオプションなし)
  • fsck_msdosFATの場合(-fここではオプションなし)

答え3

-l フラグを付けて実行する必要がありました:

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

この-lフラグは、fsck にドライブを読み取り専用モードでチェックするように指示します。

答え4

これは元の質問への直接的な答えではありませんが、密接に関連しています。

もう 1 つのオプションは、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

関連情報