내 데스크탑에는 5개의 파티션이 있는 하나의 3TB 하드 드라이브가 있습니다: 1. EFI, 2. Windows 7 SP1(64비트), 3. HP 공장 복구 파티션, 4. 데이터 저장용 NTFS, 5. Ubuntu 18.04 .2(64비트). GRUB(v.2.02)는 부트로더입니다.
Windows 7로 부팅하는 동안 항상 "4,294,966,385 블록만큼 마지막 파티션과 겹치는 보조 파티션 테이블" 경고가 표시되고 마지막 사용 가능한 섹터는 1,565,565,838(하드 드라이브의 마지막 섹터 5,860,533,168보다 훨씬 일찍 앞선)로 재설정됩니다. ). Windows 7에서 문제를 해결하도록 놔두든 Ubuntu에서 gparted로 문제를 해결하든 동일한 경고가 계속해서 나타납니다.
귀하의 친절한 도움을 위해 제가 요청하는 질문은 두 가지입니다.
Windows를 로드하는 동안 Windows 7에서 보조 GPT를 잘못 재설정하는 것을 방지할 수 있는 솔루션이나 방법이 있습니까?
보조 GPT를 잘못 배치하면 현재 일부 파일의 파일 크기가 0바이트가 됩니다. 이러한 파일의 내용이 아직 남아 있으므로 이러한 파일을 복원할 수 있는 방법이 있습니까?
자세한 오류 메시지는 다음과 같습니다.
(1. Ubuntu 단계)
마지막 부팅 OS가 Ubuntu이고 Gparted와 Gdisk에서 파티션 오류가 감지되지 않았다고 가정해 보겠습니다.
(2. Windows 단계)
재부팅합니다. Windows 7을 로드하는 동안 Windows 바탕 화면을 표시하기 전에 다음과 같은 메시지가 표시됩니다.
Checking file system on E:
The type of the file system is NTFS.
Volume label is NTFS_DATA
One of your disks needs to be checked for consistency. You
may cancel the disk check, but it is strongly recommended
that you continue. To skip disk checking, press any key...
계속해서 권장 디스크 검사를 완료합니다. Windows에 접속한 후 CHKDSK.exe를 실행하여 디스크를 다시 확인했는데 오류 보고서가 표시되지 않았습니다. (그런데 Windows 로딩 단계에서 디스크 검사를 한 결과 파일 크기가 0바이트인 일부 파일을 발견했습니다.)
Windows의 디스크 관리를 엽니다. 하드디스크의 전체 용량을 2794.52GB로 정확하게 인식할 수 있습니다. 또한 마지막 파티션을 제외한 모든 파티션을 인식할 수 있습니다(마지막 파티션은 ext4이기 때문입니다).
그러나 gdisk64.exe(GPT fdisk의 Windows 64비트 버전)를 실행하면 다음과 같은 경고 신호가 나타납니다.
c:\gdisk>gdisk64 -l 0:
GPT fdisk (gdisk) version 1.0.4
The protective MBR's 0xEE partition is oversized! Auto-repairing.
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Warning! Secondary partition table overlaps the last partition by
4294966385 blocks!
You will need to delete this partition or resize it in another utility.
Disk 0:: 1565565872 sectors, 746.5 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 1565565838
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB EF00 EFI system partition
2 206848 1925441535 918.0 GiB 0700
3 1925441536 1953521663 13.4 GiB 0700
4 1953523712 5650817023 1.7 TiB 0700
5 5650817024 5860532223 100.0 GiB 8300
PC를 종료하고 다시 Windows 7로 부팅했습니다. Windows를 로드하는 동안 위에서 언급한 것과 동일한 디스크 검사를 요구하지 않습니다. Windows에 들어간 후 Windows의 디스크 관리를 열면 여전히 하드 드라이브와 파티션의 전체 용량을 올바르게 인식할 수 있습니다. 그럼에도 불구하고 gdisk64.exe는 마지막 파티션과 4,294,966,385 블록만큼 겹치는 보조 파티션 테이블에 대해 여전히 동일한 경고를 보고하며, 마지막 사용 가능한 섹터는 1,565,565,838입니다. 이는 마지막 파티션의 끝 섹터(5,860,532,223)보다 훨씬 일찍 앞선 것입니다.
(3. 우분투 단계)
재부팅합니다. Ubuntu 18.04.2에서는 터미널에서 gdisk 및 fdisk를 엽니다. 그들은 동일한 문제가 있음을 확인합니다.
$ sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Warning! Secondary partition table overlaps the last partition by
4294966385 blocks!
Try reducing the partition table size by 17179865540 entries.
(Use the 's' item on the experts' menu.)
Disk /dev/sda: 5860533168 sectors, 2.7 TiB
Model: TOSHIBA DT01ACA3
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 1565565838
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB EF00 EFI system partition
2 206848 1925441535 918.0 GiB 0700
3 1925441536 1953521663 13.4 GiB 0700
4 1953523712 5650817023 1.7 TiB 0700
5 5650817024 5860532223 100.0 GiB 8300
$ sudo fdisk -l /dev/sda
Disk /dev/sda: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Device Start End Sectors Size Type
/dev/sda1 2048 206847 204800 100M EFI System
/dev/sda2 206848 1925441535 1925234688 918G Microsoft basic data
/dev/sda3 1925441536 1953521663 28080128 13.4G Microsoft basic data
/dev/sda4 1953523712 5650817023 3697293312 1.7T Microsoft basic data
/dev/sda5 5650817024 5860532223 209715200 100G Linux filesystem
gparted를 열면 경고 메시지가 나타납니다.
Not all of the space available to /dev/sda appears to be
used, you can fix the GPT to use all of the space (an extra
4294967296 blocks) or continue with the current setting?
[Fix] [Ignore]
나는 gparted가 GPT를 수정하도록 선택했습니다. 그런 다음 gdisk를 다시 실행했는데 경고가 표시되지 않습니다. 오류가 수정되었으며 마지막으로 사용할 수 있는 섹터는 5,860,533,134입니다.
$ sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 5860533168 sectors, 2.7 TiB
Model: TOSHIBA DT01ACA3
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 2048-sector boundaries
Total free space is 4973 sectors (2.4 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB EF00 EFI system partition
2 206848 1925441535 918.0 GiB 0700
3 1925441536 1953521663 13.4 GiB 0700
4 1953523712 5650817023 1.7 TiB 0700
5 5650817024 5860532223 100.0 GiB 8300
PC를 재부팅하고 다시 Ubuntu로 부팅합니다. gdisk 및 gparted는 GPT 오류를 감지하지 않습니다.
(4. Windows 단계)
그런 다음 Windows 7로 부팅을 시도합니다. 위에서 언급한 Windows 단계에서 발생한 일이 다시 발생합니다. Windows를 시작하는 동안 "E:에서 파일 시스템 검사 중"을 수행하고 디스크 일관성 검사를 요청합니다. 그 후 chkdsk와 디스크 관리 모두 경고 없이 정상적인 결과를 표시하지만 gdisk64는 마지막 파티션과 4,294,966,385개 블록이 겹치는 보조 파티션 테이블에 대해 계속해서 동일한 경고를 보고합니다. 마지막으로 사용 가능한 섹터는 1,565,565,838로 돌아가고 디스크의 마지막 섹터(5,860,533,168)보다 훨씬 일찍 선행합니다. 하지만 마지막 재부팅(Ubuntu 단계)에서 gparted에 의해 수정되고 5,860,533,134로 설정되었습니다.
여기서 근본적인 문제는 Windows 7이 마지막 파티션 뒤에 백업을 유지하는 대신 하드 드라이브의 중간 지점에 보조/백업 GPT를 설정하는 데 있는 것 같습니다. 내가 아는 것처럼 "마지막으로 사용 가능한 섹터"는 보조/백업 GPT가 시작되는 곳입니다. 하드 드라이브에는 총 5,860,533,168개의 섹터가 있습니다. 마지막으로 사용할 수 있는 섹터는 gparted 수정 후 5,860,533,134이지만 Windows 7을 로드하는 과정 후에 다시 1,565,565,838이 됩니다. Windows 7(SP1, 64비트)이 디스크 관리에서 하드 드라이브의 전체 용량을 인식할 수 있다는 사실은 도움이 되지 않습니다. 자체적으로 백업 GPT를 잘못된 위치에 재설정하지 마십시오. 보조 GPT를 원래 위치로 재설정하는 방법을 알고 있지만, OS 로딩 단계에서 Windows 7이 잘못 배치되지 않도록 방지하는 방법을 모르겠습니다.
다음은 제 질문입니다. 보조 GPT를 잘못 배치하면 현재 일부 파일의 파일 크기가 0바이트가 됩니다. 이러한 파일의 내용이 아직 남아 있으므로 이러한 파일을 복원할 수 있는 방법이 있습니까?
Windows를 로드하는 동안 Windows 7에서 보조 GPT를 잘못 재설정하는 것을 방지할 수 있는 방법이 있습니까?
도와주세요.
답변1
5860533168
(우분투에서는) 논리 섹터의 실제 개수입니다. 여기에는 33비트가 필요하며 32비트로 저장하려고 하면 가장 중요한 비트가 손실되고 숫자가 됩니다 1565565872
(Windows에서 사용함).
귀하의 Windows(또는 그 일부)는 더 많은 것을 사용해야 하는 32비트를 사용하는 것 같습니다. Windows와 Ubuntu는 보조 파티션 테이블을 어디에 배치해야 할지 고민합니다. 우분투가 맞습니다.
마이크로소프트에 따르면[강조 내]:
Microsoft는 Windows가 이러한 대용량 디스크를 지원하는 방법을 조사했습니다. 결과는 이전의 모든 Windows 버전에 적용되는 몇 가지 문제를 보여줍니다.Windows 7 서비스 팩 1 포함및 Windows Server 2008 R2 서비스 팩 1.
현재까지 Windows가 2TB보다 큰 단일 디스크 스토리지 용량을 처리할 때 다음과 같은 잘못된 동작이 발생하는 것으로 알려져 있습니다.
- 2TB를 초과하는 숫자 용량이 넘칩니다. 이로 인해 시스템은 2TB를 초과하는 용량만 처리할 수 있게 됩니다. 예를 들어 3TB 디스크에서 사용 가능한 용량은 1TB에 불과할 수 있습니다.
- 2TB를 초과하는 숫자 용량은 잘립니다. 결과적으로 주소 지정 가능한 공간은 2TB를 넘지 않습니다. 예를 들어 3TB 디스크에서 사용 가능한 용량은 2TB에 불과할 수 있습니다.
- 저장 장치가 올바르게 감지되지 않습니다. 이 경우 장치 관리자나 디스크 관리 창에 표시되지 않습니다.
Windows 7 SP1에서 문제를 일으키지 않을 만큼 작은 디스크를 복제하여 이러한 상황이 발생한 것 같습니다. 아마도 1GB일 것입니다(이전 디스크 끝에 있던 HP 공장 복구 파티션의 배치로 판단).
현재 Windows 시스템 파티션의 파일 시스템이 손상되었습니다. 구조를 복구하는 것이 가능할 수도 있지만 손상이 중요한 파일에 영향을 미치지 않았는지 확신할 수 없습니다. 지금은 작동하더라도 손상된 파일로 인해 나중에 문제가 발생할 수 있습니다.
경고: 다음 절차가 최선의 해결 방법이 아닐 수도 있습니다. 나는 당신의 문제를 경험한 적이 없기 때문에 그 문제에서 회복하려고 노력한 적이 없습니다. 이것이 바로 제가 시도할 것입니다. 다른 답변(또는 의견)이 나타날 때까지 기다릴 수도 있습니다.
이전 데이터가 포함된 이전 디스크가 아직 있고 복제된 Windows 복사본에 수행한 모든 변경 사항을 삭제하려는 경우 다음과 같이 진행할 수 있습니다.
- UUID 충돌을 방지하기 위해 새 디스크를 연결 해제하고 이전 디스크를 연결하십시오.
- 이전 Windows를 부팅합니다.
- 업데이트를 설치하면 Windows가 3TB 디스크를 완벽하게 지원할 수 있습니다. (하지만이 기사"잘못 구성된 시스템 설정, 레지스트리의 불규칙한 항목 또는 인텔® 빠른 스토리지 기술"도 방해가 될 수 있다고 언급합니다.)
- 다시 복제하십시오. 저는 기존 Windows 파티션만 대용량 디스크의 기존 파티션에 복제합니다. 우분투는 그대로 유지됩니다. Windows를 제대로 부팅하려면 대용량 디스크의 GRUB 또는/및 EFI 부팅 항목을 업데이트해야 할 수도 있습니다.
이전 Windows로 돌아갈 수 없는 경우 다음을 시도해 보세요.
- 가능하다면 Windows가 보조 파티션 테이블을 작성하지 않도록 하십시오.
chkdsk
Windows가 있는 파일 시스템(보통 )에서 실행합니다C:\
. 이것이 얼마나 안전한지 잘 모르겠습니다. Windows가 마지막 섹터라고 생각하는 것 너머에 있는 Windows 파티션의 일부가 있으므로 도구가 제대로 작동할 수도 있고 작동하지 않을 수도 있습니다. 디스크 연결또 다른(완전히 업데이트됨) Windows에서 실행하는chkdsk
것이 더 안전할 수 있습니다(단, 이러한 목적으로 USB 인클로저를 사용하려는 경우일부 인클로저는 문제를 일으킬 수 있습니다).- 업데이트를 설치하면 Windows가 3TB 디스크를 완벽하게 지원할 수 있습니다.