Я пытаюсь восстановить информацию о разделах с помощьюТестДиск. Чтобы попробовать, я скопировал все данные с исходного жесткого диска на другой физический диск с помощьюддследующее:
$ 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.
И после продолжения без каких-либо изменений "Быстрый анализ" выводит:
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. Похоже, что информация о разделах не копируется на тестовый диск. Почему?
Выходsfdiskодинакова для обоих дисков. Здесь для /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
Наконец, мне удалось воспроизвести вывод TestDisk на втором диске. Я просто изменил настройки геометрии на настройки оригинального диска. Я сделал следующее:
Найдите настройки геометрии исходного диска:
$ sudo sfdisk -g /dev/sda
/dev/sda: 969021 cyclinders, 16 heads, 63 sectors/track
Откройте TestDisk, выберите "тестовый диск" и примените указанные выше настройки в Geometry
меню. Не бойтесь - настройки не являются постоянными.
Затем выберите Quick analyze
, и результат должен быть таким же, как и для исходного диска. На этот раз он распознал нужные разделы Linux, как и исходный диск. На этот раз я смог безопасно записать таблицу разделов, поскольку он применил только «тестовый диск».
Дальнейшее чтение, очень полезно:Как смонтировать зашифрованный домашний раздел?