Mein Desktop hat eine (und einzige) 3TB-Festplatte mit 5 Partitionen: 1. EFI, 2. Windows 7 SP1 (64-Bit), 3. HP Factory Recovery-Partition, 4. ein NTFS zur Datenspeicherung und 5. Ubuntu 18.04.2 (64-Bit). GRUB (v.2.02) ist der Bootloader.
Wenn ich Windows 7 starte, erhalte ich immer die Warnung „Die sekundäre Partitionstabelle überlappt die letzte Partition um 4.294.966.385 Blöcke“ und der letzte nutzbare Sektor wird auf 1.565.565.838 zurückgesetzt (was dem letzten Sektor 5.860.533.168 der Festplatte viel zu früh vorausgeht). Die gleiche Warnung erscheint immer wieder, egal ob ich sie von Windows 7 beheben lasse oder ob ich sie mit gparted in Ubuntu behebe.
Ich bitte Sie bei zwei Fragen um Ihre freundliche Hilfe:
Gibt es eine Lösung oder Möglichkeit, zu verhindern, dass Windows 7 die sekundäre GPT während des Ladevorgangs von Windows fälschlicherweise zurücksetzt?
Die falsche Platzierung der sekundären GPT führt dazu, dass einige meiner Dateien jetzt eine Dateigröße von null Byte haben. Gibt es eine Möglichkeit, diese Dateien wiederherzustellen, da der Inhalt dieser Dateien noch vorhanden ist?
Nachfolgend sind die detaillierten Fehlermeldungen aufgeführt:
(1. Ubuntu-Phase)
Nehmen wir an, das letzte gebootete Betriebssystem ist Ubuntu und Gparted und Gdisk erkennen keine Partitionsfehler.
(2. Windows-Phase)
Neustart. Während des Ladens von Windows 7 und vor dem Anzeigen des Windows-Desktops wird angezeigt:
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...
Ich fahre fort und beende die empfohlene Datenträgerprüfung. Nachdem ich in Windows gestartet bin, führe ich CHKDSK.exe aus, um die Datenträger erneut zu prüfen, und erhalte keinen Fehlerbericht. (Übrigens habe ich festgestellt, dass einige Dateien jetzt aufgrund der Datenträgerprüfung während der Windows-Ladephase eine Dateigröße von null Byte haben.)
Ich öffne die Datenträgerverwaltung von Windows. Sie erkennt die volle Kapazität der Festplatte korrekt als 2794,52 GB. Außerdem erkennt sie alle Partitionen außer der letzten (weil diese ext4 ist).
Wenn ich jedoch gdisk64.exe ausführe (die 64-Bit-Version von GPT fdisk für Windows), wird eine Warnung angezeigt:
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
Ich fahre den PC herunter und starte ihn erneut in Windows 7. Es wird nicht die gleiche Datenträgerprüfung wie oben beim Laden von Windows verlangt. Nachdem ich in Windows bin, öffne ich die Datenträgerverwaltung von Windows. Sie kann die volle Kapazität der Festplatte und der Partitionen immer noch korrekt erkennen. Trotzdem meldet gdisk64.exe immer noch die gleiche Warnung für die sekundäre Partitionstabelle, die die letzte Partition um 4.294.966.385 Blöcke überlappt, und der letzte nutzbare Sektor ist 1.565.565.838, was dem Endsektor der letzten Partition (5.860.532.223) viel zu früh vorausgeht.
(3. Ubuntu-Phase)
Neustart. In Ubuntu 18.04.2 öffne ich gdisk und fdisk im Terminal. Sie bestätigen, dass das gleiche Problem vorliegt:
$ 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
Ich öffne gparted und es erscheint eine Warnmeldung:
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]
Ich lasse gparted die GPT reparieren. Dann führe ich gdisk erneut aus und es gibt keine Warnung. Der Fehler wurde behoben und der letzte nutzbare Sektor ist 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
Ich starte den PC neu und starte Ubuntu erneut. gdisk und gparted erkennen keinen GPT-Fehler.
(4. Windows-Phase)
Ich versuche dann, Windows 7 zu starten. Was in der oben erwähnten Windows-Phase passiert ist, passiert erneut. Während des Startens von Windows führt es eine „Überprüfung des Dateisystems auf E:“ durch und fordert eine Konsistenzprüfung der Festplatte an. Danach zeigen sowohl chkdsk als auch die Datenträgerverwaltung normale Ergebnisse ohne Warnung an, aber gdisk64 meldet immer noch und erneut dieselbe Warnung für die sekundäre Partitionstabelle, die die letzte Partition um 4.294.966.385 Blöcke überlappt. Der letzte nutzbare Sektor wird wieder auf 1.565.565.838 gesetzt und geht dem letzten Sektor der Festplatte (5.860.533.168) viel zu früh voraus, obwohl dies beim letzten Neustart (Ubuntu-Phase) von gparted behoben und auf 5.860.533.134 gesetzt wurde.
Ich denke, das grundlegende Problem liegt hier anscheinend darin, dass Windows 7 einen sekundären/Backup-GPT auf halber Strecke der Festplatte einrichtet, anstatt das Backup hinter der letzten Partition zu belassen. Soweit ich weiß, beginnt der sekundäre/Backup-GPT beim „letzten nutzbaren Sektor“. Die Festplatte hat insgesamt 5.860.533.168 Sektoren. Der letzte nutzbare Sektor ist nach der Korrektur von gparted 5.860.533.134, wird aber nach dem Laden von Windows 7 wieder 1.565.565.838. Die Tatsache, dass mein Windows 7 (SP1, 64-Bit) die volle Kapazität der Festplatte in der Datenträgerverwaltung erkennt, hilft nicht dabei, das Zurücksetzen des Backup-GPT an einer falschen Stelle zu vermeiden. Ich weiß, wie ich den sekundären GPT dorthin zurücksetze, wo er hingehört, aber ich weiß nicht, wie ich verhindern kann, dass mein Windows 7 ihn während der Ladephase des Betriebssystems falsch platziert.
Nachfolgend meine Fragen: Die falsche Platzierung des sekundären GPT führt dazu, dass einige meiner Dateien jetzt eine Dateigröße von null Bytes haben. Gibt es eine Möglichkeit, diese Dateien wiederherzustellen, da der Inhalt dieser Dateien noch vorhanden ist?
Gibt es eine Möglichkeit, zu verhindern, dass Windows 7 die sekundäre GPT während des Ladevorgangs von Windows fälschlicherweise zurücksetzt?
Bitte helfen Sie.
Antwort1
5860533168
(Ubuntu erkennt es) ist die tatsächliche Anzahl logischer Sektoren. Dies erfordert 33 Bits und wenn Sie versuchen, es in 32 Bits zu speichern, geht das höchstwertige Bit verloren und die Zahl wird 1565565872
(Windows verwendet es).
Es sieht so aus, als ob Ihr Windows (oder einige Teile davon) 32 Bit verwendet, obwohl es mehr verwenden sollte. Windows und Ubuntu streiten sich darüber, wo die sekundäre Partitionstabelle platziert werden soll. Ubuntu hat recht.
Laut Microsoft[Hervorhebung von mir]:
Microsoft hat untersucht, wie Windows diese großen Festplatten unterstützt. Die Ergebnisse zeigen mehrere Probleme, die für alle Windows-Versionen vor undinklusive Windows 7 mit Service Pack 1und Windows Server 2008 R2 mit Service Pack 1.
Bisher ist bekannt, dass das folgende fehlerhafte Verhalten auftritt, wenn Windows eine Einzeldatenträgerspeicherkapazität von mehr als 2 TB verarbeitet:
- Die numerische Kapazität über 2 TB hinaus läuft über. Dies führt dazu, dass das System nur die Kapazität über 2 TB hinaus adressieren kann. Beispielsweise kann auf einer 3-TB-Festplatte die verfügbare Kapazität nur 1 TB betragen.
- Die numerische Kapazität über 2 TB hinaus wird gekürzt. Dies führt dazu, dass nicht mehr als 2 TB adressierbarer Speicherplatz zur Verfügung stehen. Auf einer 3-TB-Festplatte kann die verfügbare Kapazität beispielsweise nur 2 TB betragen.
- Das Speichergerät wird nicht richtig erkannt. In diesem Fall wird es weder im Geräte-Manager noch im Datenträgerverwaltungsfenster angezeigt.
Ich vermute, Sie sind in diese Situation geraten, weil Sie eine Festplatte geklont haben, die klein genug war, um in Windows 7 SP1 keine Probleme zu verursachen. Wahrscheinlich 1 GB (gemessen an der Platzierung der HP Factory Recovery-Partition, die sich am Ende der alten Festplatte befand).
Das Dateisystem auf der aktuellen Windows-Systempartition wurde beschädigt. Die Strukturen können möglicherweise repariert werden, aber Sie können nicht sicher sein, dass die Beschädigung keine wichtigen Dateien betroffen hat. Auch wenn es jetzt funktioniert, können beschädigte Dateien in Zukunft Probleme verursachen.
Achtung: Die folgenden Vorgehensweisen sind möglicherweise nicht die beste Lösung. Ich habe Ihr Problem nie erlebt und daher auch nie versucht, es zu beheben. Dies ist nur das, was ich versuchen würde. Vielleicht möchten Sie warten, bis andere Antworten (oder Kommentare) erscheinen.
Wenn Sie noch die alte Festplatte mit den alten Daten haben und bereit sind, alle Änderungen, die Sie an der geklonten Kopie von Windows vorgenommen haben, zu verwerfen, können Sie wie folgt vorgehen:
- Trennen Sie die neue Festplatte (um UUID-Konflikte zu vermeiden) und schließen Sie die alte an.
- Starten Sie das alte Windows.
- Installieren Sie Updates, damit Ihr Windows 3 TB-Festplatten vollständig unterstützt. (ObwohlDieser Artikelerwähnt, dass auch „falsch konfigurierte Systemeinstellungen, unregelmäßige Einträge in der Registrierung oder die Intel® Rapid Storage-Technologie“ stören können).
- Erneut klonen. Ich würde nur die alte Windows-Partition auf die bereits vorhandene Partition auf der großen Festplatte klonen; Ubuntu würde intakt bleiben; GRUB und/oder der EFI-Booteintrag auf der großen Festplatte müssen möglicherweise aktualisiert werden, um Windows ordnungsgemäß zu booten.
Wenn Sie nicht zu Ihrem alten Windows zurückkehren können, können Sie Folgendes versuchen:
- Lassen Sie Windows wenn möglich nicht die sekundäre Partitionstabelle schreiben.
- Führen Sie es
chkdsk
auf dem Dateisystem aus, auf dem Windows läuft (normalerweiseC:\
). Ich bin mir nicht sicher, wie sicher das ist. Beachten Sie, dass ein Teil Ihrer Windows-Partition hinter dem liegt, was Windows für den letzten Sektor hält, sodass das Tool möglicherweise nicht richtig funktioniert. Verbinden Sie die Festplatte mitein anderer(vollständig aktualisiert) Windows und die Ausführungchkdsk
dort ist möglicherweise sicherer (aber wenn Sie für diesen Zweck ein USB-Gehäuse verwenden möchten, beachten Sie bitteEinige Gehäuse können Probleme verursachen). - Installieren Sie Updates, damit Ihr Windows 3-TB-Festplatten vollständig unterstützt.