Расширение основного раздела APFS завершается неудачно с «целевой диск слишком мал для этой операции»

4
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         125.7 GB   disk0s2
   3:                  Apple_HFS Storage                 100.0 GB   disk0s3

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +125.7 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            122.9 GB   disk1s1
   2:                APFS Volume Preboot                 19.9 MB    disk1s2
   3:                APFS Volume Recovery                506.6 MB   disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4

Я проверил разные похожие вопросы и попробовал предложенные решения, но тщетно. Дисковая утилита совсем не помогает.

Я попытался запустить эту команду из терминала, как предложено.

sudo diskutil apfs resizeContainer disk0s2 0

Ошибка: -69771: целевой диск слишком мал для этой операции

У меня более 25 г свободного места:

https://imgur.com/8o9RBvo

Ахмед Камаль
источник
disk0s3 блокирует любое расширение disk0s2 (что потребовало бы некоторого свободного дискового пространства непосредственно «после» disk0s2). Проверьте это с sudo gpt -r show disk0.
Кланомат
@klanomath Я получаю gpt show: невозможно открыть устройство 'disk0': операция не разрешена. Я согласен, что, похоже, проблема, но я понятия не имею, как ее решить
Ахмед Камаль
@Ahmed: Вы должны загрузиться в MacOS Recovery перед выполнением gpt -r show /dev/disk0команды.
Дэвид Андерсон

Ответы:

3

Свободное пространство находится после disk0s3. Команда , которую вы выданная не может вернуть себе свободное пространство обратно в disk0s2, потому что там мало или нет свободного места между disk0s2и disk0s3. Чтобы вернуть обратно приблизительно 25 ГБ свободного места disk0s2, вам необходимо выполнить следующую процедуру.

  1. Удалить файлы из disk0s3.
  2. Удалить диск disk0s3. Вы можете использовать команду, приведенную ниже.

    sudo diskutil  eraseVolume free none disk0s3
    
  3. Добавьте примерно 125 ГБ свободного места в disk0s2. Вы можете использовать команду, приведенную ниже.

     sudo diskutil apfs resizeContainer disk0s2 0
    

В основном все сводится к этому. Если файлы disk0s3важны, то вам понадобится внешний диск для их временного хранения. Как только все пространство будет возвращено disk0s2, вы можете создать новый disk0s3или создать другой том APFS disk0s2. Наконец, восстановите файлы с внешнего диска.

Дэвид Андерсон
источник
1
Подсказка: для других, желающих ответить на этот вопрос, опубликуйте, как использовать ddкоманду для перемещения disk0s3в конец диска. Возможно, вам придется переместить раздел на четыре блока по 25 ГБ.
Дэвид Андерсон