Spazio mancante sull'unità GPT che condivide i volumi FAT e APFS

1

Ho un SSD da 500 GB con un volume NTFS da 280 GB e un contenitore APFS da 180 GB. L'output di diskutil e gdisk è riportato di seguito.

Ho ridimensionato il volume NTFS a 280 GB da 300 GB utilizzando il disco MMM MMC in Win7. Il GPT mostra chiaramente il volume come 280 GB. Comunque sia DiskUtility che diskutil lo mostrano come 300GB.

Voglio far crescere il contenitore APFS di quel 20GB per riottenere lo spazio sul lato OSX. diskutil / APFS lamenta che non c'è spazio extra.

Per gdisk, il GPT è buono e sano, ed è un disco utilizzabile da 465 GB, con 20 GB di riserva. gpt v mostra il seguente, che conferma che ci sono 20 GB non usati da qualche parte:

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

Output del comando completo -

$ 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

Quindi, come posso ottenere macOS (High Sierra) per riconoscere effettivamente che ci sono 20 GB di riserva qui e usarlo?

    
posta Alex 22.08.2018 - 05:46
fonte

1 risposta

1

Note: I assume disk2 has a protective MBR which means the drive is not using a GPT/MBR hybrid partitioning scheme. The gdisk command displays the type of partitioning when first invoked, but in your question you choose to omit this output.

Domanda: Come posso riconoscere che i macO riconoscono effettivamente uno spazio libero di 20 GB?

L'applicazione Utility Disco presume che non ci sia mai spazio significativo su alcuna unità. Tutte le operazioni eseguite con successo utilizzando questa applicazione lasciano sempre l'unità senza spazio libero significativo.

Naturalmente, le unità hanno spesso spazio libero. Di fatto, puoi creare uno spazio libero usando il comando diskutil . Pertanto, l'applicazione Utility Disco può / deve essere utilizzata solo nelle condizioni ideali .

Il comando diskutil list non ha mai mostrato spazio libero. Esiste un'opzione limits per diskutil resizeVolume e diskutil apfs resizeContainer che visualizzerà la quantità di spazio in cui una partizione può essere espansa. Si può supporre che questo sia lo spazio libero sotto la suddetta partizione.

Un comando incluso in macOS, che mostrerà lo spazio libero, è il comando gpt . Nel tuo caso, inseriresti il comando indicato di seguito.

sudo gpt -r show /dev/disk2

L'output di gdisk , mostrato nella tua domanda, ha prodotto sostanzialmente le stesse informazioni prodotte dal comando precedente.

Ho usato la matematica qui sotto per calcolare lo spazio libero.

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

Ho usato la matematica qui sotto per calcolare la dimensione della partizione NTFS.

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

Note: This is the same result the output from diskutil and gdisk show in your question. There is no error here. The problem may be in the way Windows 7 is labeling the partition sizes. Windows 7 may have mislabeled GB for GiB or vice versa.

Ho usato la matematica qui sotto per calcolare la dimensione della partizione APFS

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

Note: 1 GB = 1,000,000,000 bytes and 1 GiB = 1,073,741,824 bytes.

Domanda: Come posso ottenere macO per aggiungere 20 GB di spazio libero alla partizione APFS?

Non lo fai. Puoi aggiungere spazio libero immediatamente dopo una partizione APFS ma non lo spazio libero immediatamente prima. Nel tuo caso, lo spazio libero è prima della partizione APFS.

Tecnicamente, è possibile spostare prima la partizione APFS all'inizio dello spazio libero, facendo in modo che lo spazio libero si trovi al di sotto della partizione APFS. Questo ti permetterebbe di usare il comando diskutil apfs resizeContainer per aggiungere lo spazio libero.

Esiste un software di terze parti che afferma di essere in grado di spostare una partizione. Ho provato a utilizzare una chiavetta USB avviabile contenente GParted per spostare una partizione APFS, solo per scoprire che GParted non riconosce il formato APFS e quindi non sposta questo tipo di partizione. (Per creare un'unità flash USB avviabile contenente GParted, ho utilizzato UNetbootin per trasferire l'ISO GParted sull'unità flash.)

Un'altra opzione richiederebbe un'altra unità con abbastanza spazio libero. I passaggi sono indicati di seguito.

  1. Esegui il backup della partizione APFS su un'altra unità.
  2. Elimina la partizione APFS. Puoi farlo con diskutil , gpt o gdisk .
  3. Crea una nuova partizione APFS per includere lo spazio libero. Puoi farlo con gpt o gdisk .

    Note: Make sure the sector values you enter are divisible by 8.

  4. Formatta la nuova partizione. Puoi farlo con le applicazioni Utility Disco, diskutil o newfs_apfs .

  5. Ripristina dall'unità di backup.
risposta data 22.08.2018 - 11:10
fonte

Leggi altre domande sui tag