다음을 사용하여 파티션 정보를 복구하려고 합니다.테스트디스크. 시험해 보기 위해 원본 하드 디스크의 모든 데이터를 다음을 사용하여 다른 물리적 드라이브로 복사했습니다.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.
아무것도 변경하지 않고 계속 진행한 후 "빠른 분석" 출력은 다음과 같습니다.
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입니다. 시승에는 파티션 정보가 복사되지 않는 것 같습니다. 왜?
의 출력SF디스크두 디스크 모두 동일합니다. 여기 /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 파티션을 인식했습니다. 이번에는 "테스트 디스크"만 적용했기 때문에 파티션 테이블을 아껴 쓸 수 있었습니다.
더 읽어보면 매우 도움이 됩니다:암호화된 홈 파티션을 마운트하는 방법은 무엇입니까?