Fehlender Speicherplatz auf dem GPT-Laufwerk, das FAT- und APFS-Volumes verwendet

1

Ich habe eine 500 GB SSD mit einem 280 GB NTFS-Volume und einem 180 GB APFS-Container. Die Ausgabe von diskutil und gdisk ist unten.

Ich habe die Größe des NTFS-Volumes auf 280 GB von 300 GB mit der Datenträger-MMC in Win7 geändert. Das GPT zeigt die Lautstärke klar als 280 GB an. DiskUtility und diskutil zeigen es jedoch als 300 GB an.

Ich möchte den APFS-Container um diese 20 GB vergrößern, um den Speicherplatz auf der OSX-Seite wiederzugewinnen. diskutil / APFS beschwert sich, es gibt keinen zusätzlichen Platz.

Pro Gdisk ist der GPT in Ordnung und gesund und es handelt sich um eine 465 GB nutzbare Festplatte mit 20 GB freiem Speicherplatz. gpt v zeigt das unten, was bestätigt, dass irgendwo 20 GB ungenutzt sind:

No problems found. 40529892 free sectors (19.3 GiB) available in 3
segments, the largest of which is 40527872 (19.3 GiB) in size.

Vollständige Befehlsausgabe -

$ diskutil list
/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk2
   1:         Microsoft Reserved                         134.2 MB   disk2s1
   2:       Microsoft Basic Data Win Data                301.4 GB   disk2s2
   3:                 Apple_APFS Container disk4         177.9 GB   disk2s3
$ sudo gdisk /dev/disk2
Command (? for help): p
Disk /dev/disk2: 976773168 sectors, 465.8 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): 04004F01-0E37-40FE-9832-C26943A645C3
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 976773134
Partitions will be aligned on 8-sector boundaries
Total free space is 40529892 sectors (19.3 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34          262177   128.0 MiB   0C01  Microsoft reserved ...
   2          264192       588881912   280.7 GiB   0700  Win Data
   3       629409785       976773128   165.6 GiB   AF0A  Mac Data
$ sudo diskutil apfs resizeContainer /dev/disk2s3 0
Started APFS operation
Error: -69743: The new size must be different than the existing size

Also, wie kann ich macOS (High Sierra) dazu bringen, tatsächlich zu bestätigen, dass hier 20 GB verfügbar sind, und diese zu verwenden?

Alex
quelle

Antworten:

1

Anmerkung: Ich gehe davon aus disk2 hat einen schützenden MBR, dh das Laufwerk verwendet kein GPT / MBR-Hybridpartitionierungsschema. Das gdisk Der Befehl zeigt den Typ der Partitionierung an, wenn er zum ersten Mal aufgerufen wird. In Ihrer Frage haben Sie jedoch die Möglichkeit, diese Ausgabe wegzulassen.

Frage: Wie kann ich MacOs dazu bringen, tatsächlich zu erkennen, dass 20 GB freier Speicherplatz vorhanden sind?

Das Festplatten-Dienstprogramm geht davon aus, dass auf keinem Laufwerk ein erheblicher freier Speicherplatz vorhanden ist. Alle erfolgreichen Vorgänge, die mit dieser Anwendung ausgeführt werden, lassen das Laufwerk immer ohne großen freien Speicherplatz aus.

Natürlich haben Laufwerke oft freien Speicherplatz. Tatsächlich können Sie mit dem Speicherplatz freien Speicherplatz erstellen diskutil Befehl. Daher kann / sollte das Festplatten-Dienstprogramm nur unter verwendet werden Ideal Bedingungen.

Das diskutil list Befehl hat noch nie freien Speicherplatz gezeigt. Da ist ein limits Option für diskutil resizeVolume und diskutil apfs resizeContainer Dadurch wird der Speicherplatz angezeigt, in den eine Partition erweitert werden kann. Man kann davon ausgehen, dass es sich um freien Speicherplatz unterhalb der Partition handelt.

Ein in macOS enthaltener Befehl, der freien Speicherplatz anzeigt, ist der gpt Befehl. In Ihrem Fall geben Sie den unten angegebenen Befehl ein.

sudo gpt -r show /dev/disk2

Die Ausgabe von gdiskWie in Ihrer Frage gezeigt, wurden im Wesentlichen die gleichen Informationen erzeugt, die der obige Befehl liefern würde.

Ich habe die Mathematik unten verwendet, um den freien Speicherplatz zu berechnen.

629,409,785 - 588,881,912 - 1 = 40,527,872 sectors 
40,527,872 sectors * 512 bytes/sector = 20,750,270,464 bytes = 20.8 GB
20.8 GB * 0.931323 GiB/GB = 22.3 GiB

Ich habe die folgende Mathematik verwendet, um die Größe der NTFS-Partition zu berechnen.

588,881,912 - 264,192 + 1 = 588,617,721 sectors
588,617,721 * 512 bytes/sector = 301,372,273,152 bytes = 301.4 GB
301.4 GB * 0.931323 GiB/GB = 280.7 GiB

Hinweis: Dies ist das gleiche Ergebnis, aus dem die Ausgabe stammt diskutil und gdisk zeigen Sie in Ihrer Frage. Hier ist kein Fehler. Das Problem liegt möglicherweise in der Art, wie Windows 7 die Partitionsgrößen beschriftet. Windows 7 hat möglicherweise GB für GiB falsch benannt oder umgekehrt.

Ich habe die folgende Mathematik verwendet, um die Größe der APFS-Partition zu berechnen

976773128 - 629409785 + 1 = 347,363,344 sectors
347,363,344 sectors * 512 bytes/sector =  177,850,032,128 bytes = 177.9 GB
177.9 GB * 0.931323 GiB/GB = 165.7 GiB

Hinweis: 1 GB = 1.000.000.000 Bytes und 1 GiB = 1.073.741.824 Bytes.

Frage: Wie kann ich MacOs dazu bringen, der APFS-Partition 20 GB freien Speicherplatz hinzuzufügen?

Du nicht Sie können freien Speicherplatz unmittelbar nach einer APFS-Partition hinzufügen, nicht jedoch unmittelbar zuvor freien Speicherplatz. In Ihrem Fall befindet sich der freie Speicherplatz vor der APFS-Partition.

Technisch gesehen können Sie die APFS-Partition zunächst an den Anfang des freien Speicherplatzes verschieben, wodurch der freie Speicherplatz unterhalb der APFS-Partition liegt. Dies ermöglicht Ihnen die Verwendung der diskutil apfs resizeContainer Befehl, um den freien Speicherplatz hinzuzufügen.

Es gibt Software von Drittanbietern, die behauptet, eine Partition verschieben zu können. Ich habe versucht, ein bootfähiges USB-Flashlaufwerk zu verwenden GParted Um eine APFS-Partition zu verschieben, erkennt GParted das APFS-Format nicht und verschiebt daher diesen Partitionstyp nicht. (Um ein bootfähiges USB-Flashlaufwerk mit GParted zu erstellen, habe ich verwendet UNetbootin um das GParted-ISO auf das Flash-Laufwerk zu übertragen.)

Eine andere Option würde ein anderes Laufwerk mit ausreichend freiem Speicherplatz erfordern. Die Schritte sind unten angegeben.

  1. Sichern Sie die APFS-Partition auf einem anderen Laufwerk.
  2. Löschen Sie die APFS-Partition. Sie können dies mit mit machen diskutil. gpt oder gdisk.
  3. Erstellen Sie eine neue APFS-Partition, um den freien Speicherplatz aufzunehmen. Sie können dies mit mit machen gpt oder gdisk.

    Hinweis: Stellen Sie sicher, dass die von Ihnen eingegebenen Sektorwerte durch 8 teilbar sind.

  4. Formatieren Sie die neue Partition. Sie können dies mit den Festplatten-Dienstprogrammen tun. diskutil, oder newfs_apfs.

  5. Wiederherstellung vom Sicherungslaufwerk.
David Anderson
quelle