以下を使用してパーティション情報を回復しようとしています。テストディスク。試みるために、次のコマンドを使用して元のハードドライブ上のすべてのデータを別の物理ドライブにコピーしました。DD次のように:
$ dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,noerror,sync
元のドライブで TestDisk を実行すると、次のようになります。
Disc /dev/sda - 500 GB / 465 GiB - CHS 969021 16 63
Warning: the current number of heads per cylinder is 16
but the correct value may be 255
You can use the Geometry menu to change this value.
It's something to try if
- some partitions are not found by TestDisk
- or the partition table can not be written because partitions overlaps.
何も変更せずに続行すると、Quick Analysis は以下を出力します。
Disk /dev/sda - 500 GB / 465 GiB - CHS 969021 16 63
Partition Start End Size in sectors
* HPFS - NTFS 2 0 33 205 3 19 204800 [System-reserviert]
P HPFS - NTFS 205 3 20 203174 9 41 204593152 [W764]
P Linux 203176 10 11 305359 3 51 103000064
L Linux 313112 6 7 373707 2 50 61079552
HPFS - NTFS 373707 2 51 969022 15 47 600078336 [DATA]
HPFS - NTFS 373707 2 58 969020 15 63 600076329
テストドライブでTestDisk「高速分析」を実行すると、次のようになります。
Disk /dev/sdb - 500 GB / 465 GiB - CHS 969021 255 63
Partition Start End Size in sectors
HPFS - NTFS 0 32 33 12 223 19 204800 [System-reserviert]
HPFS - NTFS 12 223 20 12748 53 41 204593152 [W764]
Linux 12748 86 11 19159 202 51 103000064
Linux 19646 68 7 23448 74 50 61079552
HPFS - NTFS 23448 74 51 60801 112 47 600078336 [DATA]
このディスクは同じブランドのディスクではありません。テストしたハードドライブはSSDでした。試乗にパーティション情報がコピーされていないようです。なぜ?
出力フロッピーディスクどちらのディスクも同じです。ここの内容は次のとおりです/dev/sda
。
$ sudo sfdisk -d /dev/sda
# partition table of /dev/sda
unit: sectors
/dev/sda1 : start=376696782, size=600076386, Id= 7, bootable
/dev/sda2 : start= 0, size= 0, Id= 0, bootable
/dev/sda3 : start= 0, size= 0, Id= 0, bootable
/dev/sda4 : start= 0, size= 0, Id= 0, bootable
これが出力です別れた。ディスクモデルが異なります。他のデータは同じです。
$ sudo parted /dev/sda print
Model: Disk Name (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File systems Flags
1 193GB 500GB 307GB primary ntfs boot
S-ATAディスク構造(カーネルで見ることができます)...
$ sudo sfdisk -g /dev/sda
/dev/sda: 969021 cyclinders, 16 heads, 63 sectors/track
...そしてSSDディスク
$ sudo sfdisk -g /dev/sdb
/dev/sdb: 60801 cyclinders, 255 heads, 63 sectors/track
答え1
最後に、2番目のドライブでTestDiskの出力を再現できました。ジオメトリの設定を元のドライブの設定に変更しました。私は次のことをしました。
元のドライブのジオメトリ設定を見つけます。
$ sudo sfdisk -g /dev/sda
/dev/sda: 969021 cyclinders, 16 heads, 63 sectors/track
TestDiskを開き、「ディスクテスト」を選択し、メニューGeometry
から上記の設定を適用します。恐れないでください。この設定は永続的ではありません。
次に選択するQuick analyze
と、結果は元のドライブに表示されたものと同じになります。今回は、元のドライブと同様に、必要なLinuxパーティションを認識しました。今回は「テストディスク」だけを適用したので、少ない労力でパーティションテーブルに書き込むことができました。
もっと読むことはとても役に立ちます:暗号化された基本パーティションをマウントする方法は?