다음을 사용하여 파티션 정보를 복구하려고 합니다.테스트 디스크. 시도하기 위해 다음 명령을 사용하여 원래 하드 드라이브의 모든 데이터를 다른 물리적 드라이브에 복사했습니다.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
마침내 두 번째 드라이브에서 TestDisk의 출력을 재현할 수 있었습니다. 방금 지오메트리 설정을 원래 드라이브의 설정으로 변경했습니다. 나는 다음을 수행했습니다.
원래 드라이브의 형상 설정을 찾으십시오.
$ sudo sfdisk -g /dev/sda
/dev/sda: 969021 cyclinders, 16 heads, 63 sectors/track
TestDisk를 열고 "디스크 테스트"를 선택한 다음 Geometry
메뉴에서 위 설정을 적용합니다. 두려워하지 마십시오. 이 설정은 영구적이지 않습니다.
그런 다음 선택 Quick analyze
하면 결과가 원래 드라이브에 표시된 것과 동일해야 합니다. 이번에는 원래 드라이브와 마찬가지로 필요한 Linux 파티션을 인식했습니다. 이번에는 "테스트 디스크"만 적용했기 때문에 더 적은 노력으로 파티션 테이블에 쓸 수 있었습니다.
더 읽어보면 매우 도움이 됩니다:암호화된 기본 파티션을 마운트하는 방법은 무엇입니까?