Купил новый SSD на 750 Гб и сделал два раздела: 600 Гб и 150 Гб. Меньший из них когда-то считался разделом Bootcamp, но на сегодняшний день это был просто еще один неиспользуемый раздел. Когда мне понадобилось больше места, я решил объединить эти два раздела. Раздел был создан с помощью Mavericks, слияние было сделано с помощью Yosemite.
Я открыл Дисковую утилиту и кнопку «минус». Дисковая утилита сказала мне, что тогда оба раздела будут объединены. Однако это с треском провалилось. На моем основном жестком диске внезапно появились ошибки, которые невозможно было исправить, и даже два других моих внешних жестких диска больше не могли быть смонтированы.
В конце концов я восстановил жесткий диск из Time Machine, который работал хорошо.
Мой второй раздел теперь указан как свободный:
К сожалению, я не могу изменить размер раздела размером 600 ГБ и создать новый раздел, используя свободное место.
Diskutil показывает следующее:
~ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *750.2 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage 599.6 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD *599.3 GB disk1
Logical Volume on disk0s2
XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Unencrypted
Также diskutil поднял это:
~ diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 9D2BA4BA-xxxx-xxxx-xxxx-xxxxxxxxxxxx
=========================================================
Name: Macintosh HD
Status: Online
Size: 599640592384 B (599.6 GB)
Free Space: 6111232 B (6.1 MB)
|
+-< Physical Volume 29A9A02B-xxxx-xxxx-xxxx-xxxxxxxxxxxx
| ----------------------------------------------------
| Index: 0
| Disk: disk0s2
| Status: Online
| Size: 599640592384 B (599.6 GB)
|
+-> Logical Volume Family 2FA7892F-xxxx-xxxx-xxxx-xxxxxxxxxxxx
----------------------------------------------------------
Encryption Status: Unlocked
Encryption Type: None
Conversion Status: NoConversion
Conversion Direction: -none-
Has Encrypted Extents: No
Fully Secure: No
Passphrase Required: No
|
+-> Logical Volume 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx
---------------------------------------------------
Disk: disk1
Status: Online
Size (Total): 599282155520 B (599.3 GB)
Conversion Progress: -none-
Revertible: No
LV Name: Macintosh HD
Volume Name: Macintosh HD
Content Hint: Apple_HFS
Я пробовал это:
но это не помогло бы. В нем говорилось, что я не могу восстановить, потому что он не был создан таким образом, чтобы поддерживать его (извините за отсутствие точного сообщения).
Затем я узнал, что Apple_CoreStorage может указывать на то, что мой диск зашифрован, что может объяснить, почему я не могу изменить его размер. Это не объясняет, почему я не могу создать для себя новый раздел.
Каковы мои варианты сделать мой жесткий диск доступным в одном разделе размером 750 ГБ?
Получив некоторый опыт работы с томами CoreStorage, я переработал свой первый ответ, чтобы обобщить и облегчить его, добавив некоторые сценарии и удалив некоторые необязательные шаги.
По сути, есть одна недокументированная команда для изменения размера или расширения группы томов CoreStorage и встроенного логического тома:
diskutil cs resizeStack LVUUID size
Эта команда расширяет или сжимает всю группу томов CoreStorage, включая физические тома, семейство логических томов и сам логический том, за один шаг до нужного размера.
Хотя уменьшение его до размера занятого пространства в логическом томе вообще не должно быть проблемой (но не рекомендуется, поскольку должно оставаться не менее 10% свободного места), любой блокирующий раздел, кроме раздела восстановления, должен быть удален или уменьшилось перед расширением стека CoreStorage.
Команда пригодится в нескольких случаях:
Осторожно: эта команда практически не документирована и поэтому потенциально разрушительна.
Подготовка:
Перезапустите режим восстановления Интернета, нажав alt cmd Rпри запуске.
Необходимыми условиями являются установленное последнее обновление встроенного ПО, Ethernet или WLAN (WPA/WPA2) и маршрутизатор с активированным DHCP.
На линии 50 Мбит/с требуется около 4 минут (представляя небольшой анимированный глобус) для загрузки образа восстановления сетевой загрузки, который обычно загружается с сервера Apple/Akamai.
Я рекомендую Ethernet, потому что он более надежен. Если вы ограничены WIFI и процесс загрузки завершается сбоем, просто перезагрузите Mac, пока не загрузитесь.
В качестве альтернативы вы можете начать с загрузочного флэш-накопителя установщика (Mavericks или Yosemite) или флэш-накопителя, содержащего полную систему (Mavericks или Yosemite).
Измените стек CoreStorage:
Сначала вы должны получить обзор ваших дисков и расположение разделов:
Введите diskutil list
пример списка:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *68.7 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage 53.7 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
4: EFI No Name EFI 100.0 MB disk0s4
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: Apple_partition_scheme *1.3 GB disk1
1: Apple_partition_map 30.7 KB disk1s1
2: Apple_HFS OS X Base System *1.3 GB disk1s2
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS System *53.5 GB disk2
/dev/disk3-disk12 ...belong to the OS X Base System (your recovery system you booted to previously)
Disk0 — это ваше основное внутреннее дисковое устройство, содержащее EFI-раздел (dis0s1), раздел CoreStorage (disk0s2) и Recovery HD (disk0s3). EFI без имени (disk0s4) существует только в том случае, если у вас ранее был раздел Boot Camp, и вы удалили его вручную.
Disk1 — это логический диск, созданный путем загрузки образа сетевой загрузки, который содержит систему восстановления (базовая система OS X = disk1s2), аналогичную Recovery HD.
Disk2 также является логическим диском, находящимся в disk0s2, и содержит стек CoreStorage.
Введите gpt -r -vv show /dev/disk0
пример списка:
gpt show: /dev/disk0: mediasize=68719476736; sectorsize=512; blocks=134217728
gpt show: /dev/disk0: PMBR at sector 0
gpt show: /dev/disk0: Pri GPT at sector 1
gpt show: /dev/disk0: Sec GPT at sector 134217727
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 104974016 2 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
105383656 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
106653192 204800 4 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
106857992 27359703
134217695 32 Sec GPT table
134217727 1 Sec GPT header
Раздел с номером индекса 1 — это обычный раздел EFI, раздел с номером индекса 2 — ваш раздел CoreStorage, а раздел с номером индекса 3 — ваш Recovery HD.
Раздел с номером индекса 4 (=без имени EFI) существует только в том случае, если у вас ранее был раздел Boot Camp, и вы удалили его вручную. Все остальное — нераспределенное свободное пространство (в примере 27359703 блока по 512 Б).
Введите diskutil cs list
пример списка:
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group A629E051-D7B0-4B8C-A803-074F62704636
=========================================================
Name: System
Status: Online
Size: 53946696192 B (53.9 GB)
Free Space: 16777216 B (16.8 MB)
|
+-< Physical Volume 90C09FC0-4215-4871-901B-70E2C9C7D464
| ----------------------------------------------------
| Index: 0
| Disk: disk0s2
| Status: Online
| Size: 53946696192 B (53.9 GB)
|
+-> Logical Volume Family F6962E38-50E4-4458-BFE6-CF2E179352F5
----------------------------------------------------------
Encryption Status: Unlocked
Encryption Type: None
Conversion Status: NoConversion
Conversion Direction: -none-
Has Encrypted Extents: No
Fully Secure: No
Passphrase Required: No
|
+-> Logical Volume BD36C73D-860D-4DC6-B125-AD624F448B88
---------------------------------------------------
Disk: disk2
Status: Online
Size (Total): 53496696192 B (53.5 GB)
Conversion Progress: -none-
Revertible: Yes (no decryption required)
LV Name: System
Volume Name: System
Content Hint: Apple_HFS
чтобы изменить размер тома CoreStorage, вы должны сначала удалить любой блокирующий раздел (Recovery HD не считается, потому что он обычно перемещается с помощью команды resizeStack).
Сначала вам нужно размонтировать все смонтированные тома на disk0 (сначала том CoreStorage, который имеет собственный идентификатор диска disk2, но находится на disk0, затем все остальные смонтированные тома на disk0 — проверьте это с помощью df
):
diskutil unmountDisk /dev/disk2
затем дополнительные тома (если они у вас вообще есть). Пример:
diskutil unmount /dev/disk0s5
Если у вас есть раздел NoName EFI, удалите его, введя:
gpt remove -i 4 disk0
Перемонтируйте любой ранее размонтированный том в обратном порядке с помощью
diskutil mount /dev/disk0s5
diskutil mount /dev/disk2
Поскольку любой блокирующий раздел удален, теперь вы можете изменить размер тома CoreStorage с помощью
diskutil cs resizeStack LVUUID size
с LVUUID: UUID логического тома и размера: окончательный размер вашего тома CoreStorage.
Примеры:
diskutil cs resizeStack BD36C73D-860D-4DC6-B125-AD624F448B88 60g
расширить его до 60 ГБ
diskutil cs resizeStack BD36C73D-860D-4DC6-B125-AD624F448B88 40g
уменьшить его до 40 ГБ
diskutil cs resizeStack BD36C73D-860D-4DC6-B125-AD624F448B88 0g
чтобы расширить его до полного доступного размера (0g здесь — магическое число).
Ваш Recovery HD должен быть перемещен автоматически — независимо от того, сжимается ли объем CS или расширяется — в самый его конец.
Введите следующее, чтобы получить новую схему разделов:
gpt -r -vv show /dev/disk0
и
gpt add -b StartBlock -s NumberOfBlocks disk0
для создания нового раздела. StartBlock — это номер первого блока в нераспределенном пространстве, а NumberOfBlocks — количество свободных блоков или меньше. NumberOfBlocks должен делиться на 8!
exit
и выйдите из Терминала.diskutil man
файле есть только одна строка примера diskutil coreStorage resizeStack LVUUID PVUUID 150g ms-dos BOOTCAMP 0
без каких-либо дополнительных объяснений, что странно, поскольку это собственная технология Apple, в отличие от других файловых систем.Следующая diskutil cs resizeStack
команда в значительной степени недокументирована и, как таковая, потенциально разрушительна. Сначала может быть описан легкий путь, а может быть долгий, извилистый, трудный путь, требующий много времени.
Сделайте резервную копию Mac OS X, прежде чем продолжить.
Путь не такой длинный, как ожидалось:
Второй компьютер или iPhone с учетными данными stackexchange для входа на сайт или в чат полезны.
Ваш раздел Mac OS X (Macintosh HD), видимый на рабочем столе, эквивалентен разделу Logical Volume 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx
.
defaults write com.apple.DiskUtility DUDebugMenuEnabled 1
нажмите ввод и выйдите .Terminal.app
Выберите «Recovery HD» с левой стороны и смонтируйте раздел «Recovery HD».
Проверьте диск
Создайте образ диска «Recovery HD» и сохраните его только для чтения извне.
Проверьте образ диска для восстановления
Отключить все внешние диски
Перезапустите Internet Recovery Mode
, нажав altcmdR
или загрузочный Mavericks или Yosemite Thumb Drive (полная система или установка).
Terminal
из меню/утилитывведите следующую команду в командной строке терминала:
diskutil cs list
Выполните следующую команду:
diskutil cs resizeStack LVUUID partsize
В соответствии с числом, найденным выше, это будет:
diskutil cs resizeStack 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx 0g
Мы надеемся, что это расширит ваш объем CoreStorage до полных 750 ГБ. В зависимости от вашего диска это займет несколько секунд (SSD) или минут (HDD). После успешного изменения размера проверьте diskutil list
, существует ли еще «Recovery HD».
(Ранее приведенная выше команда была diskutil cs resizeStack 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx 748g
. После некоторого тестирования мы обнаружили, что diskutil cs resizeStack 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx 0g
это более умная команда. Она должна расширять LVG до максимального размера, обычно перемещая «Recovery HD» в самый конец физического диска. 0g кажется магическим числом. в таком случае.)
Если это не сработало, то более длинный и сложный путь:
diskutil list
Recovery HD
с diskutil eraseVolume Free\ Space %noformat% IDENTIFIER_Recovery_HD
. diskutil eraseVolume Free\ Space %noformat% disk0s3
Выполните следующую команду:
diskutil cs resizeStack LVUUID partsize
В соответствии с числом, найденным выше, это будет:
diskutil cs resizeStack 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx 748g
Мы надеемся, что это расширит ваш объем CoreStorage почти до полных 748 ГБ (я оставил немного места для будущих файлов Recovery HD
.
Recovery HD
, если необходимоRecovery HD
, если необходимо Пожалуйста, вернитесь в комментарии (или, возможно, в чат), если у вас возникнут проблемы.
Я поражен сложностью этой проблемы (см. ответ @klanomath) и легкостью ее создания.
Вот почему я попытался поиграть с этим и нашел обходной путь.
Моя проблема заключалась в следующем: у меня был 500GB-диск. Я создал на этом диске раздел размером 150 ГБ-Macintosh-HD с помощью Дисковой утилиты, оставив 350 ГБ в качестве «свободного места». Когда я попытался отформатировать свободное пространство во второй раздел, мне это не удалось: когда я нажал «Применить», он проигнорировал мою команду и вел себя так, как будто я никогда не нажимал «Применить» (когда я хотел закрыть окно Дисковой утилиты, он предупредил меня, что есть непримененные изменения).
Я взял первый том (это отформатированный том с именем Macintosh HD, он имел размер 150 ГБ) и попросил Дисковую утилиту разделить его на два раздела: 100 ГБ + 50 ГБ. Нажал «Применить», и Дисковая утилита волшебным образом создала для меня два раздела: 100 ГБ + 400 ГБ . В этот момент все пространство на диске стало полезным, и я был вполне доволен этим.
Затем я просто удалил второй раздел, нажав «-» и «Применить». В результате он был объединен с Macintosh HD, и я вернулся туда, где был до шага 1.
Наконец, я разделил его на два раздела размерами 150 ГБ и 350 ГБ, как и хотел изначально. Теперь проблема, похоже, решена.
Я пробовал все из apple.stackexchange и других блогов, но ничего не сработало. Но этот метод работал как шарм:
Отличная статья! Большое спасибо за усилия, которые вы вложили в это - действительно помогли мне!
Я отслеживал вариант использования расширения моего Core Storage, удаляя том bootcamp и объединяя его.
Я обнаружил, что мне нужно разблокировать основное хранилище, прежде чем я смогу продолжить выполнение команды.
diskutil cs resizeStack
Довольно просто
diskutil cs unlockVolume <volume ID>
где тот же ID для вашего основного хранилища в формате 11111111-2222-3333-4444-555555555555
Также в OS X 10.11.1 я обнаружил, что 0g не является допустимым параметром для значения изменения размера. Я должен был предоставить конкретный размер.
И, наконец, я настоятельно рекомендую вам также проверить и исправить все ошибки в томе основного хранилища, прежде чем пытаться изменить его размер. Легче обратиться к тем, кто не участвует в процессе изменения размера.
У меня была эта проблема, и я думаю, что самое простое решение заключается в следующем: нажмите знак «+» в нижней части макета раздела, измените размер второго раздела на нужный вам, а затем выберите формат «Свободное пространство».
Вы увидите, что второй раздел в макете заменен пустым пространством. Затем просто выберите «Применить».
Я искал решение для неразрушающего сжатия тома в Sierra, чтобы освободить место для бета-установки High Sierra, и нашел эту страницу очень полезной.
Я использовал зашифрованный том HFS+ Journaled в MacOS Sierra.
Совет Мэтта выше очень хорош, но я нашел еще более быстрый механизм для томов CoreStorage, которые зашифрованы или нет.
Начните с:
Загрузитесь с диска восстановления при запуске машины с помощью CMD-R
В режиме восстановления, если у вас есть зашифрованный том CoreStorage, откройте окно терминала и подготовьте диск таким образом. В противном случае перейдите к использованию DiskUtility ниже.
diskutil cs list
Запишите последний UUID для заблокированного тома, если он существует.
diskutil cs unlockVolume UUID
Приведенная выше команда должна запросить пароль, который является вашим обычным паролем пользователя.
Если у вас НЕТ зашифрованного тома CoreStorage, вы можете начать здесь:
Откройте Дисковую утилиту из терминала или обратно в меню и используйте функцию «Разделение» в контейнере основного диска.
Вы должны иметь возможность использовать клавишу «+», чтобы дополнительно добавить раздел к доступному пространству, отрегулировать размер по своему усмотрению, а затем использовать «Применить», чтобы инициировать НЕРАЗРУШАЮЩЕЕ, НЕ СТИРАЮЩЕЕ сжатие вашего существующего раздела. Это оставляет вас с вашими исходными данными в меньшем разделе и пустым разделом в оставшемся пространстве. Просто убедитесь, что новый раздел не перекрывает указанные заштрихованные данные.
Он скажет вам, что операция не стирает существующие данные, и я могу вас заверить, что в моем случае это не так.
В любом случае, здесь применяются обычные предостережения, вам действительно следует всегда делать резервную копию, если вы можете, прежде чем начинать операцию такого рода.
Оказывается, diskutil
по запросу выдаст полезный текст:
-bash-3.2# diskutil cs resizeStack
Usage: diskutil coreStorage resizeStack
lvUUID|MountPoint|DiskIdentifier|DeviceNode [pvUUID] size
[part1Format part1Name part1Size part2Format part2Name part2Size
part3Format part3Name part3Size ...]
Resize both a logical volume and one of its underlying physical volumes in a
single operation. A single physical volume is always chosen for the underlying
shrink or grow, even if the logical volume's logical volume group is backed by
more than one physical volume. If you do not specify a particular physical
volume, then one is chosen for you. Note that if this is a grow operation,
this verb is limited by the physical volume's partition's room to grow.
Specifying zero as the size asks for an "automatic" grow-to-fill operation.
If this is a shrink operation, you can optionally request that new partitions
be created in the newly-formed free space gap in the partition map.
Again, note that this only resizes one of the underlying physical volumes; if
you need more sophistication in managing your topology, you should use the
separate physical and logical volume resize verbs.
Example: diskutil coreStorage resizeStack
11111111-2222-3333-4444-555555555555 10g JHFS+ New 1g
Тецуджин
кланомат
diskutil cs list
вывод к вашему ответу. Вы можете зашифровать все UUID, но выбрать разные буквы для любого найденного UUID, чтобы лучше различать их, если кто-то ответит.Тецуджин