web-dev-qa-db-ja.com

512バイトセクター(ジャンパー)から4kバイトセクター(ジャンパーの削除)へのWestern DigitalGreenドライブ

4kセクターをサポートしていないOSで使用するために、ピン7と8がジャンパーされたWD20EARSドライブを使用していました。しかし今、私はそのハードドライブを4kセクターをサポートするOSに転送したいと思います。

ジャンパーを取り外し、Windows Server 2008 R2に接続して、クイックフォーマットを実行しました。ただし、 DiskCheckup は、「セクターあたりのバイト数」属性を512として報告します。

このドライブを4kセクタードライブとして使用するには、他に何をする必要がありますか?

10
tgxiii

これは正しい動作だと思います。 4kディスクは、インターフェイス側で512バイトのセクターを報告します。それらは内部的に4kブロックのセクターに対応していますが。

ジャンパーはほとんどのドライブにあり、セクターシフトを有効にするだけです。ほとんどのドライブでは、セクターアドレス指定が1シフトします。その理由は、WinodwsXPのような4k非対応のOSです。理解するには、Windows XPがセクター63で開始する最初のパーティションを作成することを知っておく必要があります(はい、これはタイプミスではありません)。

ほとんどの場合、Windowsは4kアロケーションユニット(NTFSクラスター)を備えたファイルシステムを使用します。したがって、従来のドライブからNTFSクラスターを読み取る場合は、8つの物理ブロックを読み取るだけでよいと想定します。非常に簡単です。

これで、ドライブは4kセクターサイズも使用するようになります。これは最小のアロケーションユニットであるため、OSが4kよりも小さいクラスターを読み取ることはないため、これはまったく問題ありません(フォーマット中に小さいFSクラスターを強制しなかったと仮定します)。私が書いたように、ドライブは互換性の理由からインターフェイスレベルで512バイトのセクターをまだ公開しています。ただし、512バイトのブロックを1つだけ読み取る場合、ドライブは内部で4kセクターを読み取り、それを分割してケーブルインターフェイスを介して512バイトのみを送信します。

では、問題は今どこにあるのでしょうか。 ###

Windows XPの問題は、パーティションがデフォルトでブロック63に位置合わせされているためです。これにより、NTSFクラスターが物理ブロックに位置合わせされなくなります。小さな画像を作成しました。これを説明する:

Cluster alignment

Windowsの図でわかるように、XP論理クラスターは物理4kブロックに整列されていません。その結果、Windowsが論理NTFSクラスターを読み取る場合、ドライブは2つのブロックを読み取る必要があります。さらに悪いことに、単一のNTFSクラスターが必要な場合は、2つのセクターを読み取り、要求されたデータのみをOSに返すためにそれらをマージする必要があります。

書き込み操作の場合、それはさらに悪いことです。この場合、ドライブは2つの物理4kセクターを読み取り、それらの内容を新しいNTFSクラスターの内容とマージしてから、両方のセクターをディスクに保存する必要があります。つまり、HDDのセクターを上書きして置き換えるのではなく、ドライブは8kを読み取り、バッファーにマージして8kを書き込む必要があります。これにより、書き込み操作が大幅に遅くなります。

HDDメーカーの不必要なマージを防ぐために、ジャンパーを介して有効にできる「互換性」ハックを追加しました。これは、512バイトの各セクターアドレスを1ずつインクリメントするだけです。その結果、Windowsによって作成された最初のパーティションはセクター64から始まり、マッピングは次のようになります。

enter image description here

これで、論理4k NTFSブロックの読み取り/書き込みにより、1つの物理セクターが正確に読み取り/書き込みされます。

もちろん、すでに4kセクターの境界に合わせてパーティションを作成している場合は、この回避策はまったく必要ありません。たとえば、Linuxでは、fdiskを使用して、パーティションを開始するブロックを定義できます。したがって、ここでは8の乗算を使用することをお勧めします。

Windowsは、Vista以降、セクター2048AFAIRで最初のパーティションを開始しています。したがって、この問題はここでは発生しなくなります。

[〜#〜]警告[〜#〜]:Vista、Win7、Win2k8 R2などの4k対応OSでジャンパー回避策を引き続き使用する場合、これは実際にはセクターの調整を壊す可能性があります。その理由は、ドライブが再びセクターアドレスを1インクリメントし、最初のパーティションがセクター2049にアラインされ、パフォーマンスが大幅に低下するためです。

したがって、4k対応のOSを使用している場合は、ドライブをパーティション分割する前にジャンパーを削除してください。あなたの特定のケースでは、ジャンパーを取り外した状態でドライブを再パーティション化した限り、すべてがうまくいくはずだと思います。ドライブのフォーマットは、セクターアラインメントや4Kアドレッシングとは何の関係もありません。フォーマット中に確認する必要がある唯一のことは、2k NTFSクラスターではOSからのHDDアクセスごとに4kセクター全体を読み取る必要があるため、4k未満のクラスターサイズを使用しないことです。ちなみに、ディスクはNTFSの読み取り/書き込み操作ごとに2セクターを読み取るだけなので、8kNTFSクラスターを使用してもまったく問題ありません。

15
SkyBeam