Wie kann ich die primäre APFS-Partition mit einer anderen APFS-Partition mit leerem/freiem Speicherplatz zusammenführen?

Ich verwende MacOS Mojave. Unten ist die diskutilAusgabe

Geben Sie hier die Bildbeschreibung ein

Es gibt 150 GB freien Speicherplatz. Nachdem ich den Größenänderungsbefehl ausgeführt habe, sehe ich Fehler 69519. Wie füge ich den freien Speicherplatz mit zusammen disk0s2?

MacBook-Pro:~ mac$ sudo diskutil apfs resizeContainer disk0s2 0  
Started APFS operation  
Error: -69519: The target disk is too small for this operation, or a gap is required in your partition
map which is missing or too small, which is often caused by an attempt to grow a partition beyond the
beginning of another partition or beyond the end of partition map usable space  

Ich habe die folgenden Schritte ausgeführt ( disk0s4wird im Bild nicht angezeigt, da es gelöscht wurde und jetzt freier Speicherplatz ist)

Schritt 1: Löschen Sie den Container

sudo diskutil apfs deleteContainer disk0s4

Schritt 2: Löschen Sie das Volume

sudo diskutil eraseVolume "Free Space" %noformat% /dev/disk0s4

Schritt 3: Ändern Sie die Größe des Containers

sudo diskutil apfs resizeContainer disk0s2 0
Sie haben also 2 Formate, das APFS (101 GB) und das HFS (250 GB), und Ihr Mojave befindet sich im 101-GB-Speicherplatz disk0s2. Warum fehlen 150 GB und werden nicht angezeigt?

Antworten (1)

Sie müssen die Partitionierung des Laufwerks kennen. Insbesondere wo der freie Platz ist. Der diskutil list disk0Befehl zeigt die Partitionen in aufsteigender Reihenfolge und die Größe jeder Partition an. Dieser Befehl zeigt jedoch keinen freien Speicherplatz an. Das Festplatten-Dienstprogramm zeigt gelegentlich freien Speicherplatz an, aber der Wert ist oft falsch und zeigt nicht an, wo sich der freie Speicherplatz in Bezug auf die anderen Partitionen befindet

Wo wird also der freie Speicherplatz angezeigt? Hier sind einige Möglichkeiten, um festzustellen, wo sich der freie Speicherplatz befindet.

  1. Der sudo gpt -r show /dev/disk0Befehl zeigt die logischen Sektorblöcke an, die von jeder Partition verwendet werden. Der Befehl zeigt auch den freien Speicherplatz zwischen den einzelnen Partitionen in logischen Sektorblockeinheiten an. In den Tagen von OS X konnten Sie diesen Befehl auf den Startlaufwerken ausführen. Ab macOS muss dazu der Systemintegritätsschutz (SIP) deaktiviert werden.
  2. Verwenden Sie den Befehl, um die Start- und Größenbytewerte diskutil info -plist disk0s#der Partitionsnummer abzurufen . #Sie müssen den Befehl für jede Partition auf einem Laufwerk wiederholen. Als Nächstes können Sie eine Tabelle kompilieren, die der Ausgabe des gpt -r show /dev/disk0Befehls ähnelt. Grundsätzlich ist freier Speicherplatz jeder Speicherplatz, der keiner Partition, dem Protected Master Boot Record (PMBR) und den GUID-Partitionstabellen (GPT) zugeordnet ist.
  3. Schreiben Sie ein BASH-Skript, das Weg Nummer 2 automatisieren würde. Ein kostenloses Skript kann von dieser Seite heruntergeladen werden . Angenommen, Ihre Downloads gelangen in den Standardordner Downloads, können Sie den freien Speicherplatz erhalten, indem Sie den unten gezeigten Befehl eingeben. Hinweis: Sie müssen SIP nicht eingeben sudooder deaktivieren.

    ~/Downloads/driveinfo-1.0.1/driveinfo -r disk0
    

Um einer APFS-Containerpartition freien Speicherplatz hinzuzufügen, muss sich der freie Speicherplatz direkt unter der Partition befinden.

Wenn Sie gelöscht haben disk0s4, haben Sie direkt danach freien Speicherplatz geschaffen disk0s3. Da disk0s3sich zwischen disk0s2und diesem freien Speicherplatz befindet, können Sie den freien Speicherplatz nicht mit dem in Schritt 3 angegebenen Befehl wiederherstellen. Sie können den freien Speicherplatz wiederherstellen, disk0s3indem Sie den unten angegebenen Befehl eingeben.

sudo diskutil resizeVolume disk0s3 R 
Danke. Kann ich disk0s4, auch bekannt als freier Speicherplatz, mit disk0s3 zusammenführen und dann die Größe von disk0s3 ändern?
disk0s4Ja, Sie können (auch bekannt als der freie Speicherplatz) mit zusammenführen disk0s3und dann die Größe ändern. disk0s3Der sudo diskutil resizeVolume disk0s3 RBefehl führt den freien Speicherplatz zusammen. Sie haben nicht gesagt, wie Sie als nächstes die Größe ändern möchten disk0s3.