Der freie Speicherplatz kann dem Hauptvolume nicht zugewiesen werden

Ich habe versucht, den verbleibenden nicht zugewiesenen freien Speicherplatz nach der Deinstallation von Ubuntu zuzuweisen. Da im Festplattendienstprogramm derzeit keine Optionen verfügbar sind, um dies zu tun.

Festplattendienstprogramm

Der unschattierte Teil ist nicht zugeordnet. Ich habe versucht, das Problem mit Terminalbefehlen zu umgehen, aber ich erhalte eine Fehlermeldung, die ich nicht verstehen kann. Ich habe den Befehl ausgeführt

diskutil coreStorage resizeStack FCF7976D-78ED-4CE9-8029-C6557CB601C5 429.9G JHFS+ Mac 480G

und bekam

The Core Storage Logical Volume UUID is FCF7976D-78ED-4CE9-8029-C6557CB601C5
Started CoreStorage operation
Checking prerequisites for resizing Logical-Physical volume stack
Error: -69722: You can't perform this resize unless it has a booter (target  partition is probably too small)

Was ist dieser Fehler und wie kann ich ihn umgehen, um meinen freien Speicherplatz auf der Festplatte zurückzubekommen?


Link für die Befehle. http://blog.fosketts.net/2011/08/05/undocumented-corestorage-commands/ Sie können sich auch auf die Manpage von Apple auf diskutil beziehen

Bearbeiten1:

~ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Macintosh HD            429.9 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:        Bios Boot Partition                         1.0 MB     disk0s4
   5:                 Linux Swap                         4.1 GB     disk0s5
   6:           Linux Filesystem                         65.3 GB    disk0s6

/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            Macintosh HD           +429.5 GB   disk1
                                 Logical Volume on disk0s2
                                 FCF7976D-78ED-4CE9-8029-C6557CB601C5
                                 Unencrypted

~ sudo gpt show disk0
gpt show: disk0: Suspicious MBR at sector 0
      start       size  index  contents
          0          1         MBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  839592368      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  840002008    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  841271544       1800
  841273344       2048      4  GPT part - 21686148-6449-6E6F-744E-656564454649
  841275392    7999488      5  GPT part - 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
  849274880  127496192      6  GPT part - 0FC63DAF-8483-4772-8E79-3D69D8477DE4
  976771072       2063
  976773135         32         Sec GPT table
  976773167          1         Sec GPT header
Bitte ergänzen Sie die Ausgabe von diskutil listund sudo gpt -r diskXmit diskX: die Disk-ID der HDD (evtl. disk0). Bitte fügen Sie es als formatierten Text und nicht als Screenshot hinzu.
@klanomath hier sind die Ausgaben.

Antworten (1)

Der Befehl diskutil cs resizeStack ...erfordert etwas nicht zugeordneten Speicherplatz am Ende einer Logical Volume Group und der Recovery HD (Index 2 & 3), um sie erweitern zu können. Sie haben nur 1800 Blöcke à 512 Bytes (~2 MB) davon.

Nach der Installation und Deinstallation von Ubuntu haben Sie immer noch eine verlassene BIOS-Boot-Partition (wahrscheinlich GRUB) (Index 4), eine Swap-Partition (Index 5) und eine Haupt-Linux-Partition (Index 6) am Ende Ihrer Festplatte.

Bevor Sie die Größe des CS-Stacks ändern (was bei einer so vertriebenen Linux-Dual-Boot-Umgebung häufig fehlschlägt), müssen Sie die drei Linux-Partitionen löschen (und den MBR auf den Standard-pMBR ändern).

  • Sichern Sie Ihr internes Laufwerk
  • Trennen Sie alle externen Laufwerke
  • Booten Sie in den Internet-Wiederherstellungsmodus
  • Öffnen Sie Terminal in der Menüleiste Dienstprogramme -> Terminal
  • Verschaffen Sie sich einen Überblick (besonders der gpt- Befehl ist wichtig!). Im Folgenden gehe ich davon aus, dass die interne Festplatte die Festplattenkennung disk0 und das logische Volume in disk0s2 die Festplattenkennung disk2 hat. Bitte verwenden Sie die Datenträgerkennungen, die Sie in Ihrer Umgebung gefunden haben:

    diskutil list
    gpt -r show disk0
    
  • Unmounten Sie zuerst das Logical VOlume und dann die interne Festplatte:

    diskutil umountDisk /dev/disk2
    diskutil umountDisk /dev/disk0
    
  • Löschen Sie den MBR:

    dd if=/dev/zero of=/dev/disk0 bs=512 count=1
    
  • Zerstören Sie die GUID-Partitionstabelle und erstellen Sie eine neue (dadurch wird auch ein neuer pMBR erstellt):

    gpt destroy disk0
    gpt create -f disk0
    
  • Erstellen Sie alle vorherigen GUID-Partitionen neu:

    gpt add -i 1 -b 40 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
    gpt add -i 3 -b 840002008 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
    gpt add -i 2 -b 409640 -s 839592368 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
    

    Wenn Sie nach einem der Schritte einen Ressourcenauslastungsfehler erhalten, unmounten Sie disk0 einfach wieder mit

    diskutil umountDisk /dev/disk0
    

Überprüfen Sie die Festplatte diskutil verifyDisk disk0anschließend mit.

Geben Sie ein diskutil cs listund überprüfen Sie, ob alle vier CoreStorage-Container angezeigt werden: eine Logical Volume Group, ein Physical Volume und eine Logical Volume Family und ein Logical Volume.

Mounten Sie mit der UUID des Logical Volume das LV:

Beispiel:

    +-> Logical Volume FCF7976D-78ED-4CE9-8029-C6557CB601C5
        ---------------------------------------------------
        Disk:                  disk17
        Status:                Online

Dann benutze:

diskutil mount FCF7976D-78ED-4CE9-8029-C6557CB601C5

Nachdem Sie die Datenträgerkennung des bereitgestellten LV erhalten haben, diskutil listüberprüfen Sie das Volume:

diskutil verifyVolume disk17 #probably it's disk17, disk16 or disk18

Versuchen Sie dann, die Größe des Stapels zu ändern mit:

diskutil cs resizeStack FCF7976D-78ED-4CE9-8029-C6557CB601C5 499g

Wenn Sie einen Fehler erhalten (Partition ist zu klein), verwenden Sie einen etwas kleineren Wert (zB 498500m)


Der obige resizeStack-Befehl kann aufgrund einer CS-LVG-„Beschädigung“ fehlschlagen. Dies ist keine Beschädigung Ihrer Daten, sondern wahrscheinlich eine Beschädigung/Fehlkonfiguration einiger CS-Metadaten. Dann müssen Sie Ihre Festplatte löschen und Ihr aktuelles (Time Machine) Backup wiederherstellen.

danke für die Hilfe, aber ich habe eine andere Methode befolgt, die gut funktioniert hat. Ich habe Live Ubuntu Bootable USB und das gparted Tool verwendet, um das nicht zugeordnete Laufwerk zu löschen und dann erneut ein neues Laufwerk im NTFS-Format zu erstellen. Dann habe ich tuxera ntfs verwendet, um auf die Partition auf meinem Mac zuzugreifen. Jetzt habe ich beide Partitionen zugänglich.