web-dev-qa-db-ja.com

USBハードディスクドライブの論理セクターサイズを設定することはできますか?

同じと思われる2台の3TB Western Digital USBハードディスクドライブを持っています。 1つには、ほぼ完全な3TBのデータが含まれています。もう一方をそのデータのバックアップにしたい。小さなファイルがたくさんあるので、cpの実行は、ddを使用してUSB経由で3TBをコピーするよりもさらに遅くなります。両方のドライブが同時に購入され、どちらもMSD​​OSパーティションテーブルを使用していますが、一方は4096/4096の論理/物理セクターサイズを示し、もう一方は512/4096を示しています。

私の問題は、512/4096ドライブににコピー(== --- ==)しようとしていることですが、 512バイト(論理)セクターのMSDOSパーティションテーブル。さまざまなコマンドを試しました(テーブルをパーティション分割する最初の数セクターのddpartedfdisk、gparted、Windows XP“管理」およびWindows 7「管理」)ですが、作成時に3TBであると考えられていた最大2TBの制限または最大300GBのパーティションのいずれかになります。

ドライブの1つが4096/4096で実行されているとすると、 この質問 は私の場合には当てはまりません。

GPTを使用することは私のフォールバックオプションですが、NTFSパーティションよりもわずかに小さいパーティションが作成されるため、パーティション上のファイルシステムをddすることはできません。

ソースディスクに完全に一致する3TBパーティションを作成できるように、MSDOSパーティションテーブル(LinuxまたはWindowsのいずれか)に4096/4096を強制する方法はありますか?

7
IBBoard

同様の問題が発生しました。より高速なアクセスのためにPCに移動したいSeagate3TB USBデスクトップ拡張ドライブがありました(PCにはUSB 2.0しかありませんでした)。一度それをしたら、ファイルシステムにアクセスできませんでした。 USB toSATAコントローラーに戻すと再び機能しました。 2つを比較すると、外付けの場合(USB to SATAコントローラーを使用)、ドライブの論理/物理セクターサイズは4096/4096であり、内部マザーボードSATAに接続すると、512/4096の論理/物理セクターサイズであることがわかりました。 OPと同様に、4096の論理セクターサイズでは2TiBを超えるパーティションが可能ですが、512セクターサイズでは2TiBの制限が適用されます。何かを(ゆっくりとUSB経由で)どこかにコピーし、再パーティション化(GPT)し、再フォーマットし、コピーして戻したくなかったので、それを維持しました。 Linuxでの私の究極の解決策は次のとおりです。

4kセクターを使用する元のMBRパーティションテーブルを削除します。 gdisk(fdiskのGPTバリアント)を使用して、まったく同じ領域にまたがる512バイトのセクターを使用してパーティションを作成します。これは基本的に、4Kランドのパーティションの開始/終了のセクターを取得し、8を掛けることになります。最後にオフバイがあったので、そこにさらに8を追加しましたが、これまでのところ良好です(e2fsckが警告しました) e2fskはまだ動いているので、安全かどうかは100%わかりませんが、理論上は問題ないようで、ファイルを少しマウントしたところ、問題なく見えました。

5
Shane Anderson

あなたの問題はおそらく 4096バイトのセクターディスク上の512バイトのセクターMBRを修正する方法は? に似ています。要するに、それは4Kセクターフォーマットを理解していないことによるUSBエンクロージャーのファームウェアの制限です


物理セクターサイズはHDDのネイティブセクターサイズであるため、ドライブのファームウェアを更新して低レベルフォーマットを実行する方法が見つからない限り、HDDにその値を「強制的に」変更させる方法はありません。

一部の(古い)4K HDDは、物理サイズでエミュレート512バイトセクターモード(512eと呼ばれ、512/4096ドライブが行うこと)をサポートする場合がありますはまだ4Kですが、論理サイズである512バイトのセクターがあると報告されます。つまり、パーティションを4Kに適切に配置する必要があります。そうしないと、パフォーマンスに大きな影響が出ます。技術的には、報告された論理値は、ディスク構成ソフトウェアによって、または製造元がサポートしている場合はファームウェアを更新することによって変更される場合があります

しかし、私はそのようなソフトウェアを知りません。同じディスクに対して異なる論理値が表示される場合は、外部エンクロージャーの古いディスクコントローラーが新しい512eまたは4Kフォーマットを認識しないためです。これは、 Shane Andersonの回答 および:で述べたように、USBHDDでよく発生します。

実際、多くの古いUSBエンクロージャーは、2TBを超えるドライブもサポートしていません。

さらに悪いことに、一部のエンクロージャーは512バイトのセクターを4Kのセクターに結合することにより、逆のことを行います

問題を複雑にしているのは、特定のUSBディスクエンクロージャーです。これらのエンクロージャーの一部は、AFの逆の動作をします。8つのディスクセクターを取り、それらを1つの新しい4096バイトセクターにバンドルします。この動きの背後にある理由はわかりませんが、実用的な利点の1つは、2TiBより大きいディスクを古いMBRパーティショニングシステムで使用できることです。主な欠点の1つは、これらのエンクロージャーの1つでパーティション化されたディスクを直接使用したり、このタイプの変換を行わないエンクロージャーで使用したりできないことです。同様に、この変換なしで準備されたディスクは、そのようなエンクロージャーに転送されるときに使用できません。

4096バイトのセクターディスクで512バイトのセクターMBRを修正する方法

同様の問題:


また、ディスクのコピーにddを使用しないでください。代わりに、いくつかのディスククローンツールを使用してください。これらのツールは、空白のクラスターをスキップするのに十分なほど賢く、サイズの異なるディスク間でクローンを作成することもできます

また、「DOSパーティションテーブル」はありませんが、MBRとGPT(およびその他の一般的でない形式)があります。残念ながら、分裂しており、多くのLinuxツールは「msdos」と呼んでいますが、これは誤りです

MBRで対処できるのは2つだけです32 セクター(512バイトセクターで2TB、4Kセクターで16TB)。そのため、4096/4096ドライブは正しく動作します。 Shane Andersonの回避策は機能すると思いますが、それがうまくいかない場合は、GPTを使用するしかありません。実際、GPTはチェックサムとバックアップパーティションテーブルをサポートしているため、パーティションが1つしかない場合でもGPTをお勧めします。これにより、偶発的な破損/削除の可能性が大幅に減少します。

1
phuclv

2を超える多くのWesternDigital外付けUSBドライブTB(少なくとも一部のMy Book、My Book Essential、Elements、およびEasystoreドライブを含む)は、512バイトの論理セクターまたは4096バイトの論理セクターのいずれかに構成できます。 WD Quick Formatterツールを使用します。4096バイトの論理セクター用に構成されている場合、エンクロージャーのUSB-to-SATAブリッジは、SATAインターフェイスの512バイトの論理セクターから内部ドライブへの変換とUSBインターフェイスの4096バイトの論理セクターの間の変換を行います。ホストコンピュータに。

512バイトの論理セクターの場合、MBRパーティションテーブルは最大2 TBのドライブ)しか使用できません。これは、MBRテーブルエントリが32ビットで、最大2 ^ 32または4,294,967,296セクターであるためです。2 ^ 32セクターx512バイト/セクターは2TBです。4096バイトの論理セクターでは、MBRパーティションケーブルは最大16 TBのドライブを使用できます。(2 ^ 32セクターx4096バイト/セクターは16TB)Windows XPはMBRパーティションテーブルのみをサポートするため、2を超えるドライブのすべてのスペースを使用する唯一の方法は4096バイトの論理セクターですTB WindowsXPの場合。WindowsVista以降でサポートされている新しいGPTパーティションテーブル形式には32ビットの制限がなく、セクターサイズに関係なく2より大きいディスクをサポートできますTB 。

WD Quick Formatterツール (この記事の執筆時点でダウンロード可能なバージョン2.0.0.65)は、セクターサイズの変換を有効または無効にできます。このバージョンのツールはWindowsXPでは正しく機能しないため、Windows7以降でツールを実行することをお勧めします。 Windows 7、またはそれ以降のバージョンのWindowsで、ただしWindows 7互換モードで実行すると、ツールは[WD外付けドライブのフォーマット]画面に2つの構成オプションを表示します。

WD Quick Formatter "Format your WD external drive" screen

  • XP互換:このオプションは、ドライブを4096バイトの論理セクター用に構成し、MBRパーティションテーブルを作成します。
  • 最も互換性が高い(Vista以降が必要):このオプションは、512バイトの論理セクター用にドライブを構成し、GPTパーティションテーブルを作成します。

どちらのオプションも、ドライブ全体を埋める単一のパーティションを作成し、NTFSですばやくフォーマットします。

ツールをWindows7互換モードにせずにWindows8以降で実行すると、ツールはフォーマット画面に互換オプションを表示せず、「最も互換性のある」モード(512バイトの論理セクター)でフォーマットします。

WD Quick Formatter 2.0.0.65は、Windows XPでは正しく機能しません。4096バイトの論理セクターを正常に構成しますが、正しくフォーマットできません。その後、別のツールを使用して、ドライブのパーティション分割とフォーマットを行うことができます。

WD Quick Formatter1.2.0.10はWindowsXPで正しく動作しますが、WesternDigitalからダウンロードすることはできなくなりました。

ターゲットドライブがソースと同じ論理セクターサイズで構成されている場合、ddを使用してターゲットドライブにコピーできます。コピーは、パーティションテーブルを変更する必要なく機能します。

これらのWestern Digital外部USBドライブがXP互換性のために設定できることを確認できます:

  • Easystore 12 TB(WDBCKA0120HBK)

  • Easystore 8 TB(WDBCKA0080HBK)

  • My Book Essential 1140、3 TB(WDBACW0030HBK)

  • 要素1021、3 TB(WDBAAU0030HBK)

1
balazer

はいといいえ。

物理セクターのサイズを変更することはできません。また、トランスポート層のセクターサイズを変更できるドライブが少ないため、常に4Kの倍数を一度に書き込むことになります。

ただし、論理セクターサイズは物理セクターサイズとは関係がなく、オペレーティングシステムは書き込みを組み合わせることでこのような変換を処理できます。

ドライブは常に一度に4096バイトアクセスされます。とは言うものの、最新のオペレーティングシステムのブロックデバイスドライバーは、セクターサイズ間で変換できます。これは、最近ではブロックサイズとして知られているため、パーティションブロックサイズは、基盤となるデバイスのブロックサイズと一致する必要はありません。

512バイトの論理セクターデバイスでは4K論理セクターパーティションを、4K論理セクターデバイスでは512バイトの論理セクターパーティションを簡単に使用できます。

さらに、パーティションレベルの論理セクターは、ファイルシステムで使用されるセクターブロックサイズと一致する必要はありません。

Linux、ひいてはAndroidは、ExtFSで1024、2048、または4096のブロックサイズ(ファイルシステムレベルの論理セクターサイズ)を使用します。 (512バイトのセクタードライブでは、複数の物理セクターを使用して論理ブロックを形成します)。

FAT32では、DRDOS 6.xは8K論理セクターを使用してより大きなディスクをサポートし、Linuxはさらに大きな論理セクターを使用できます。これにより、はるかに大きなFAT32パーティションを作成できます。

同様に、非常に小さなファイルを多数含む非常に小さなファイルシステムを管理する場合、多くのソフトウェアプログラムは、64KBという小さな論理セクターサイズのプログラムを使用していました。

参照:

LinuxMSDOSTOOLSのマニュアルページ

Linuxmke2fsのマニュアルページ

FATに関するウィキペディアのページ:

https://en.wikipedia.org/wiki/File_Allocation_Table

https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system