배경
일부 Sata-to-USB3.0 인클로저에 2TB 드라이브를 장착하고 여기에 1TB의 데이터를 복사했습니다. 2,5 5300rpm 구동이니까 거의 20시간 정도 걸렸네요. 저는 편집증적인 유형 중 하나이므로 데이터를 복사하기 전에 TotalCommander를 사용하여 복사하려는 모든 항목의 sha256 체크섬을 만든 다음 새 USB 드라이브에 복사된 데이터를 확인했습니다. 하지만 두 개의 다른 디스크(1TB)에 대해 동일한 인클로저의 다른 두 부분을 사용했습니다. 아무런 문제가 없었습니다.
문제
체크섬을 확인하는 동안 Windows 10 알림 센터에 빨간색 "X"가 표시된 알림이 표시되어 파일 시스템을 확인하라는 내용을 확인했습니다. 어느 쪽인지는 표시되지 않았지만 어쨌든 클릭했습니다. 아무 일도 일어나지 않았기 때문에 무슨 일이 일어났는지 알아보기 위해 eventviewer를 실행했습니다. 새 볼륨의 오류와 관련된 세 개의 EventID 55 이벤트를 확인했습니다. 그 중 하나는 „:$I30:$INDEX_ALLOCATION”
손상되었다고 말하고 다른 두 개는 손상된 파일이 <can't determine file name>
. 볼륨의 모든 작업을 중지하고 실행했지만 chkdsk /F
다른 소프트웨어가 디스크에 액세스하고 있다고 불평했기 때문에 디스크 관리 유틸리티를 사용하여 드라이브 문자를 제거했습니다. chkdsk에서 복구하기 위해 문자를 다시 추가하려고 할 때 갑자기 모든 옵션이 회색으로 표시되고 파티션이 Healthy (GPT Protective Partition)
. 이것은 유형 EEh
에 따른 것 입니다.이 위키피디아 기사.
디스크는 GPT가 아니었습니다. Convert to GPT disk
디스크 관리 도구에서 마우스 오른쪽 버튼을 클릭하면 여전히 옵션이 표시됩니다 . 다음은 다음의 출력 DETAIL DISK
과 DETAIL PARTITION
명령입니다 DISKPART
.
DISKPART> detail disk
ST2000LM003 HN-M201RAD
Disk ID: 08686B3E
Type : RAID
Status : Online
Path : 2
Target : 0
LUN ID : 0
Location Path : PCIROOT(0)#PCI(1700)#RAID(P02T00L00)
Current Read-only State : No
Read-only : No
Boot Disk : No
Pagefile Disk : No
Hibernation File Disk : No
Crashdump Disk : No
Clustered Disk : No
There are no volumes.
DISKPART> detail partition
Partition 1
Type : EE
Hidden: Yes
Active: No
Offset in Bytes: 512
There is no volume associated with this partition.
이 디스크는 표시된 것과는 달리 RAID의 일부가 아니며 현재 마더보드의 SATA 포트에 직접 연결되어 있습니다. 컨트롤러가 RAID 모드에 있기 때문에 RAID 유형으로 표시될 수도 있습니다.
내가 무엇을생각하다(확인할 방법이 없습니다.) 알림 센터에서 이 알림을 클릭했을 때 chkdsk가 백그라운드에서 볼륨을 복구하려고 했다는 것입니다. 파티션의 ID를 EEh로 설정했을 것입니다. 아마도 다시 재설정할 의도가 있을 것입니다. 끝났을 때. 드라이브 문자를 없음으로 설정하면 오류가 발생하여 명시된 대로 남겨두어야 합니다.
내가 시도한 것
DISKPART의 SETID 명령을 사용하여 파티션 유형 07을 지정하려고 했지만 작동하지 않습니다.
DISKPART> set id=07
DiskPart has encountered an error: The parameter is incorrect.
See the System Event Log for more information.
이벤트 로그 메시지는 이벤트 로그에 기록되지 않으며 작동하지 않습니다.
이 파티션을 원래대로 다시 설정하면 파일에 다시 액세스할 수 있을 것이라고 생각하며, 동일한 방식으로 포맷된 디스크가 하나 더 있기 때문에 파티션 ID를 07h로 설정하면 문제가 해결될 것이라고 확신합니다. 나만 못할 것 같다. 다음은 동일한 다른 하드 디스크의 데이터입니다.
DISKPART> detail disk
ST2000LM 003 HN-M201RAD SCSI Disk Device
Disk ID: BB31CF75
Type : USB
Status : Online
Path : 0
Target : 0
LUN ID : 0
Location Path : UNAVAILABLE
Current Read-only State : No
Read-only : No
Boot Disk : No
Pagefile Disk : No
Hibernation File Disk : No
Crashdump Disk : No
Clustered Disk : No
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
* Volume 4 E SMSNG1 NTFS Partition 1863 GB Healthy
DISKPART> detail partition
Partition 1
Type : 07
Hidden: No
Active: No
Offset in Bytes: 1048576
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
* Volume 4 E SMSNG1 NTFS Partition 1863 GB Healthy
DISKPART>
비슷한 노력을 해본 경험이 있는 사람이 있다면 통찰력을 공유해 주세요. 이 상황에서 회복하는 연습을 하고 싶어서 당분간은 드라이브에 손을 대지 않겠습니다. 복구 시 파일의 체크섬을 확인하고 chkdsk를 유발한 손상에 대한 책임을 드라이브나 USB 브리지에 두려고 합니다.
편집 - 드라이브 데이터
--------------- SeaTools for Windows v1.4.0.5 ---------------
2017-08-30 20:37:53
Model Number: 003 HN-M201RAD
Serial Number: S377J9GGA02406
Firmware Revision: 2BE1
Identify - Started 2017-08-30 20:37:53
Model Number: 003 HN-M201RAD
Serial Number: S377J9GGA02406
Firmware Revision: 2BE1
Drive Capacity: 2,00 TB / 1,82 TiB
Max LBA: 3907029167
Cache Size: ----
Lifetime Bytes Read: 3,54 GB
Lifetime Bytes Written: 545,50 MB
Power-On Hours: 4255
Annualized Workload Rate [ (Writes + Reads) * (8760 / POH) ]: 0 TB/yr
Drive Temperature (C/F): 29 / 84
WWN: 50004CF210CD3B3B
Sector size (Logical/Physical/Allignment): 512 / 4096 / 0
Signal Speed (Max/Negotiated): 6.0 / 6.0 Gb/s
Transport Supported: SATA 3.0
Rotation rate: 5400 RPM
Form factor: 2.5 inch
Specification Supported: ATA8-ACS
Encryption Support: Not Supported
Security Mode: Supported, Frozen
SMART: Enabled
Host Protected Area features: Enabled
Advanced Power Management: Enabled
Download Microcode: Segmented
EDIT2 - 섹터 0, 7, 8
답변1
디스크가 2TB보다 작기 때문에 MBR을 고수하고 GPT를 생성하고 모든 체크섬을 처리하는 번거로움을 피하고 대신 섹터 0의 마지막 64바이트를
0000000000432 | 00 00 00 00 00 00 00 00 3E 6B 68 08 04 D0 00 00 |
0000000000448 | 02 00 EE FE 7F FF 01 00 00 00 FF FF FF FF 00 00 |
0000000000464 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000496 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA |
에게
0000000000432 | 00 00 00 00 00 00 00 00 3E 6B 68 08 04 D0 00 00 |
0000000000448 | 02 00 07 FE 7F FF 00 08 00 00 00 80 E0 E8 00 00 |
0000000000464 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000496 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA |
그러면 효과가 있을 것입니다.
GPT 헤더가 섹터 7에 있고 테이블이 섹터 8에 있는 이유를 잘 모르겠습니다. 섹터 7과 15 중 하나여야 합니다.또는1과 2...