web-dev-qa-db-ja.com

ドライブ全体を占めるファイルシステムを使用して、ドライブにパーティションテーブルを作成するにはどうすればよいですか?

私は4TBのハードドライブ/ dev/sdbを持っています。これは、ドライブ全体を占めるフォーマットされたNTFSファイルシステムを持っています。どうやらどのような種類のパーティションテーブルもありません。ある場合は、古くなっているか破損しています。

fdisk -lこれを示しています:

Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x2052474d

This doesn't look like a partition table
Probably you selected the wrong device.

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   ?     6579571  1924427647   958924038+  70  DiskSecure Multi-Boot
Partition 1 does not start on physical sector boundary.
/dev/sdb2   ?  1953251627  3771827541   909287957+  43  Unknown
Partition 2 does not start on physical sector boundary.
/dev/sdb3   ?   225735265   225735274           5   72  Unknown
Partition 3 does not start on physical sector boundary.
/dev/sdb4      2642411520  2642463409       25945    0  Empty

Partition table entries are not in disk order

gdisk -lは、MBRパーティションテーブルのみが存在することを示します。

Linuxで実行している場合、ドライブは正常に動作します。/dev/sdbを問題なくマウントできます。しかし、Windowsマシンでハードドライブエンクロージャを使用してドライブをロードし、chkdskを実行できるようにします。ただし、WindowsはこのMBRをfdiskに表示されているように認識し、4つのパーティションを表示しますが、いずれも使用できません(NTFSとしてマークされているパーティションはありません)。

NTFSファイルシステムの内容を変更せずにこのドライブにパーティションテーブルを書き込むだけで、Windows 7がドライブ全体を占める単一のパーティションとしてアクセスできるようにすることはできますか?もしそうなら、どのように?

編集:パーティションテーブルを単純に書き込むことができない場合、おそらくファイルシステムを数キロバイト縮小してからパーティションテーブルを書き込むことによって、Windowsでドライブを使用するという同じ目標を達成するための非破壊的な方法はありますか? (つまり、gpartedを使用)。

1
jtbr

この特定の状況では、ドライブ上のすべてのデータが失われるため、このドライブにMBRを書き込むことはできません。最善の方法は、すべてのデータを別の場所にコピーしてから、Windows上のドライブをdiskmgmt.mscでパーティション分割することです。

3
pbies

原則として、次のようなことができます。

  1. ntfsresizeを使用して、既存のファイルシステムを少し縮小します(理論的には、2081セクターで十分ですが、安全のために少なくとも2 MiBを実行します)。
  2. ファイルシステムをディスクに一定量シフトします。 1MiBが最適です。同じデバイスからの読み取りと同じデバイスへの書き込みを行うため、これは注意が必要な部分です。これは、コピーする前にデータを上書きしない方法で行う必要があります。つまり、最初からコピーするというより一般的なアプローチではなく、ファイルシステムの最後からコピーする必要があります。オフハンドでは、GPartedのようなパーティションサイズ変更ツールとAFAIKを除いて、これを行うツールを知りません。これらのツールはすべて、パーティションテーブルが存在する必要があります。 ddを使用してこれを行うスクリプトは可能であり、作成するのはそれほど難しくありませんが、注意深いテストが必要になります。
  3. ファイルシステムの新しい開始点で始まり、ファイルシステムの終わりで終わる単一のパーティションとともに、ディスク上にパーティションテーブルを作成します。

安全に似た方法でステップ2を実行するツールが見つからない限り、pbiesが示唆するように、ディスクからデータをコピーし、パーティションを作成してから、データを復元することが最善の解決策になる可能性があります。これは、特にファイルシステムがほとんど空の場合は、ファイルシステム全体をシフトしようとするよりも高速な場合があります。手順2(または手順全体)を一度に実行するツールを見つけた場合でも、ここで概説した手順は非常に危険であるため、続行する前にバックアップを作成することを強くお勧めします。

補足として、このNTFSディスクをLinuxでのみ使用しているようです。これを行わない説得力のある理由の1つを発見しました。それは、LinuxのNTFSメンテナンスツールはせいぜい初歩的なものです。 Linuxから排他的にデータにアクセスする場合は、バックアップしてパーティションを作成し、Linux-native filesystem(s)を作成して、データを新しいLinux-nativeファイルシステムに復元することをお勧めします。 (s)。これにより、Windowsを使用せずに、Linux内からファイルシステムの損傷を修復する機能が向上します。

0
Rod Smith