外部接続されたUSBハードディスクドライブに不良セクターがあるかどうかを確認するにはどうすればよいですか?
ドライブの自動セクター再配置機能を使用することは不適切な場合があるため、ohhoが提起する質問は独特になります。
欠陥のあるセクターがある場合は、次のいずれかを行います。
–これを検討してくださいbefore再配置を引き起こす可能性のあるアクション(または再マッピングやスペアリング、またはそれを呼び出すもの)を実行する前に。
SpinRite 6はMac向けではありませんが、バージョン5の2003ページは啓発的です。
自動再配置とデータ損失の関連リスクに関するセクションに注意してください。
SpinRiteはさておき、2003年から2013年までの10年間を早送りします。
ここの質問に…
Macの場合– OS Xの場合– SpinRiteと同じように注意深く何も知らない(自動再配置を無効にするものはない)。
つまり、現状では:USB上のディスクのセクターをOS Xで検証するには、再配置が発生する可能性があります。関連するデータ損失のリスクの程度を推定することはできませんが、そのリスクが許容可能である場合、最初に次の方向に進む必要があります。
ヒント:関連する質問(1)の下にあるものは、よりすぐにユーザーフレンドリーになります。
OSだけでは、S.M.A.R.T. USB 2.0やFireWireなどのバス上の外部ドライブにあるテクノロジーを使用できません。
他の場所には豊富な情報(および誤解;)があるため、答えのこの部分を1点だけに焦点を当てます。
kasbert/OS-X-SAT-SMART-Driver GitHubで:
…Mac OS X外付けUSBまたはFireWireドライブ用のカーネルドライバー。ドライブへのアクセスを提供することにより、標準ドライバーの動作を拡張しますSMART data。SMART dataへのインターフェースはATAファミリードライバーと同じです。動作します。ドライバにはSAT(SCSI ATA変換)対応の外部ドライブエンクロージャが必要です。…
LionでこのKEXTを試す場合、サードパーティのカーネル拡張と同様に、注意して続行してください。
OS X組み込みコマンドfsck_hfs
にはオプションがあります-S
OS XのUSBハードディスクに不良ブロックがあるかどうかを確認します。
公式のマニュアルページ から:
-S原因fsck_hfsがデバイス全体をスキャンしてI/Oを探しますエラー。 -Bオプションと同様に、エラーのあるブロックを名前にマップしようとします。
例:
fsck_hfs -fy -S /dev/disk3s11
パーティション上で実行すると不良ブロックなしですが、そこに何があるかはまだ確認/文書化していません(= /// =)are不良ブロック。
アプリケーション/ユーティリティでTerminal.appを開きます。
これをカットアンドペーストしてBrewをインストールします。/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Brewでe2fsprogsをインストールします:brew install e2fsprogs
タイプdiskutil list
デバイスを見つける(/ dev/diskX)
デバイスでbadblocks
を実行します:(Xをデバイス番号に置き換えます)
/usr/local/Cellar/e2fsprogs/1.44.3/sbin/badblocks -v /dev/diskX
実行できるドライブのファイルシステムに応じて
fsck_msdos /dev/disk1s1
これはFAT FSをチェックします。たぶんそれがあなたの望みですか?可能なコマンドは次のとおりです。
fsck_cs
fsck_exfat
fsck_hfs
fsck_msdos
fsck_udf
不良セクターがあると疑われる/知っている場合は、次に進むべき順序をアドバイスします。
1)ddを使用して、パーティション全体を別のデバイスにコピーします(df
を使用してパーティション名を検索します)。 400GbのUSB2ディスクで1日以上かかる可能性があります。 bs=
はそれを高速化し(係数5以上)、sync
は読み取りエラーがあった場合に入力ブロックをゼロで埋めます。
dd if=/dev/disk3s8 of=/dev/disk4s9 bs=1024k conv=noerror,sync
2)次に、それが実際に機能しているかどうかを確認します。フォルダ構造だけでなく、コンテンツも開きます。
3)そうでない場合は、パーティションのコンテンツをファイルレベルでコピーしてみてください。
cp -Rp /Volumes/<source>/ /Volumes/<destination>/
4)ファイルシステムに触れずにできる限り多くのデータを保存しようとした今、パーティションでチェックを実行します。 -f
オプションは、正常に表示されても強制します、-S
不良ブロックをスキャンします。この操作が非限定的であるとは限りませんが、ディスクを節約できる可能性があります。
fsck_hfs -fS /dev/disk3s8
実際に知る唯一の方法は、各セクターに書き込み、それを読み取って、同じエラーが返されるかどうかを確認し、途中でエラーをチェックすることです。
Linuxではbadblocks
がこれを行います。 badblocks
には、非破壊的な読み取り/書き込みテストモードがあります。
Windowsでは、chkdsk
を/F
、/B
、/R
オプションは、不良セクターについて各セクターをテストします。また、非破壊的ですが、実際に各セクターに書き込んでテストするかどうかはわかりません。
このスーパーユーザーの回答 は、SpinRite 6でも同じことができることを示していますが、私はテストしていません。