Я удалил первый раздел на моем внешнем жестком диске, так что теперь у него есть 100 ГБ свободного места в начале раздела. Я бы хотел освободить это место, но Дисковая утилита не позволяет мне создавать там новый раздел (она просто ничего не делает, когда я нажимаю «Применить»). Есть ли способ сделать это с diskutil
? Я только нашел способы изменить (или стереть, или разделить и т.д.) существующие разделы, например, введя disk2s2 в качестве идентификатора устройства, но свободное пространство не имеет такого идентификатора устройства.
Выходы:
$ diskutil list disk2
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.5 TB disk2
1: EFI 209.7 MB disk2s1
2: Apple_HFS Shared 199.3 GB disk2s2
3: Apple_Boot Recovery HD 784.2 MB disk2s3
4: Apple_CoreStorage 500.0 GB disk2s4
5: Apple_Boot Boot OS X 134.2 MB disk2s5
6: Apple_CoreStorage 699.6 GB disk2s6
7: Apple_Boot Boot OS X 134.2 MB disk2s7
$ sudo gpt -r show disk2
Password:
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 195575768
195985408 389353696 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
585339104 1531680 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
586870784 976562504 4 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
1563433288 262144 5 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
1563695432 1366319552 6 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
2930014984 262144 7 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
2930277128 7
2930277135 32 Sec GPT table
2930277167 1 Sec GPT header
$ sudo fdisk /dev/disk2
Disk: /dev/disk2 geometry: -5415437/4/63 [-1364690128 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 1023 254 63 - 1023 254 63 [ 1 - -1364690129] <Unknown ID>
2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
$ sudo pdisk --list /dev/disk2
pdisk: No valid block 1 on '/dev/disk2'
diskutil list disk2
,sudo gpt -r show disk2
,sudo fdisk /dev/disk2
иsudo pdisk --list /dev/disk2
? Непонятно, почему Дисковая утилита не работает, возможно, есть проблема с одной из таблиц разделов. Кроме того, вы пытались выполнить «восстановление» как на всем жестком диске, так и на разделе?Ответы:
(Прежде чем продолжить, убедитесь, что диск, о котором идет речь, все еще диск2, у вас есть резервные копии ваших данных и т. Д. - при этом изменения здесь не особенно опасны. Прежде чем что-либо предпринять, прочтите все инструкции, чтобы убедиться, что вы понимаете все шаги.)
Хорошо, ваши таблицы разделов выглядят нормально (действительный GPT и правильный защитный MBR), поэтому я не знаю, почему Disk Utility в этом случае не работает, но вы должны иметь возможность создать раздел в пустом пространстве с помощью
gpt
команды Утилита Ваш GPT выглядит так:Свободное пространство обозначается этой строкой (номера представляют собой сектора по 512 байт, поэтому чуть менее 100 ГБ свободного места:
Apple требует 128 МБ (262144 секторов) свободного места после раздела, поэтому новый раздел может иметь 195575768-262144 = 195313624 секторов. Размонтируйте все тома на диске, используя:
Затем эта команда создаст раздел HFS + в свободном пространстве:
Это только создает раздел, а не файловую систему. Чтобы убедиться, что все прошло хорошо, вы должны увидеть
disk2s8
, запускаете ли выdiskutil list disk2
. Если это действительно так, вы можете отформатировать раздел следующим образом:Если disk2s8 не появился, вам необходимо перезагрузиться перед форматированием. Вместо запуска
newfs_hfs
вы также можете удалить раздел в Дисковой утилите.Утилита gpt не переупорядочивает номера разделов, но на практике это не должно быть проблемой. Если вы сделаете какие-либо дальнейшие изменения с помощью дисковой утилиты, это, вероятно, все равно исправит порядок.
источник
gpt
это утомительно и несколько подвержено ошибкам / рискованно, поскольку единственный встроенный способ - удалить и воссоздать каждый раздел. На самом деле у меня есть некоторые патчи противgpt
этих команд добавления нумерации и изменения типа - я могу привести их в порядок и опубликовать, если вы будете в порядке с перестройкойgpt
из исходного кода в XCode ...gtp
из исходного кода, но хорошо ли проверен код? Я не хочу испортить мою таблицу разделов. Кроме того, есть ли способ сделать его резервную копию?