Неразрушающее переразбиение жесткого диска на разделы в Mac


Вы хотите установить Leopard? Linux? Вам нужны новые разделы? Воспользуйтесь командной строкой, чтобы переразбить жесткий диск на разделы без потери хранящихся на нем данных.Вполне возможно, что в процессе работы вы сталкивались (и, может быть, неоднократно) с ситуацией, когда вам хотелось бы, чтобы ваш жесткий диск был разбит на разделы иначе, чем это сделано на данный момент (например, чтобы на нем имелись дополнительные разделы). Причины, по которым такое желание может возникнуть, бывают различными. Например, вам может потребоваться установить Linux на отдельный раздел или, может быть, создать отдельный загрузочный диск для выполнения аварийно-восстановительных работ в случае возникновения проблем с загрузкой основной рабочей операционной системы. Это лишь две наиболее распространенных причины, а есть и множество других.

До выхода Mac OS X Tiger, переразбиение жесткого диска было невозможно без потери всех хранящихся на нем данных. Если вы желали сохранить свою нажитую нелегким трудом информацию, для достижения поставленной цели требовалось создать надежную рабочую резервную копию всех данных, хранящихся на основном жестком диске (и, возможно, на других дисках), а затем убедиться в ее работоспособности и пригодности для восстановления.

Только после этого следовало загрузить компьютер с загрузочного CD, запустить программу Disk Utility (в ранних версиях Mac OS это средство называлось Disk Copy) и с помощью этой программы переразбить свой жесткий диск на разделы. Если у вас уже имелся другой жесткий диск, аргументы в пользу переразбиения диска все равно были спорными. До появления Tiger проблема состояла еще в том, что разбиение жесткого диска на разделы представляло собой операцию, которая проделывалась либо при покупке нового компьютера, либо вообще никогда.

Ситуация изменилась с появлением технологии Boot Camp. Boot Camp позволяет выполнять перераспределение дискового пространства без потери данных. Более того, благодаря Boot Camp вы можете переразбивать жесткий диск на компьютерах Intel Mac столько раз, сколько требуется. Проблема состоит лишь в том, что Boot Camp создает конфигурацию, предназначенную для установки Windows, а это не всегда соответствует потребностям пользователя. Новый раздел совершенно не обязательно требуется для установки Windows. Например, он может вам потребоваться для установки Leopard или Apple TV OS.

Mac OS X 10.5 обладает множеством преимуществ по сравнению с Mac OS X 10.4, и одним из них является то, что для создания разделов теперь не обязательно пользоваться командной строкой. Приложение Disk Utility, входящее в состав Leopard, позволяет создавать и удалять разделы без потери данных. Это ценная возможность для пользователей Leopard, но, к сожалению, она не поможет вам, если вы хотите создать новый раздел для обновления до Leopard!

Чтобы переразбиение сработало, вы должны использовать схему разбиения (GUID Partition Table, GPT). Это не означает, что вы должны иметь диск, уже разбитый на разделы, просто ваш диск должен быть помечен как использующий схему GPT. Лучшее, что могут сделать владельцы дисков, отформатированных в соответствии со схемой разбиения на разделы Apple, это изменить размеры разделов, что полезно, но не настолько круто, как создание абсолютно новых разделов. Прежде чем приступать к выполнению этого рецепта, вам необходимо понять эту разницу. Идентифицировать схему, используемую вашим текущим жестким диском, очень просто. Запустите программу Disk Utility (Applications → Utilities → Disk Utility) и выберите интересующий вас диск. Щелкните мышью по кнопке Info, и вы сможете просмотреть большой объем информации, включая сведения о типе вашего диска (рис. 8.1).


Рис. 8.1. Строка Partition Map Scheme: отображает нужную вам информацию
Рис. 8.1. Строка Partition Map Scheme: отображает нужную вам информацию

Чтобы получить возможность запуска приведенных далее команд, вам необходимо закрыть все приложения, кроме Terminal (программа Terminal необходима вам для достижения цели, описываемой данным рецептом). Если при запуске одной из этих команд вы получите сообщение об ошибке, попробуйте загрузить компьютер в однопользовательском режиме и выполнить команды в нем.

Войти в однопользовательский режим можно, нажав клавиатурную комбинацию Command+S при запуске компьютера. После загрузки ОС вы окажетесь в режиме командной строки, а не в привычном графическом пользовательском интерфейсе. Вы увидите, почему это требуется при переразбиении дисков, но часть происходящего все равно «остается за кадром». Однопользовательский режим препятствует запуску большого количества сервисов, стартующих при запуске Mac в обычном режиме, а не только тех, которые обычно ассоциируются с графическим пользовательским интерфейсом. Однопользовательский режим, столь полезный для данного рецепта, является старинным стандартом UNIX, разработанным для выполнения обслуживающих операций на многопользовательском компьютере, которые должен выполнять администратор без помех со стороны пользователей.

Прежде чем начать, неплохо будет продумать свою стратегию разбиения на разделы. Следует принять во внимание объем данных, имеющихся на вашем компьютере, размер жесткого диска, а также планируемое использование дискового пространства. В рассматриваемом примере мы разобьем жесткий диск 75 Гбайт на три раздела: 60 Гбайт, 10 Гбайт и маленький раздел 4 Гбайт. Я выбрал эту схему, потому что мне требуется простой раздел с установленной Mac OS X с тем, чтобы устранять неполадки на другом разделе, и еще один очень маленький раздел — для сохранения фотографий для переноса с компьютера на компьютер.

Помните нашу статью о создании флэш-накопителя для аварийного восстановления? Это один из рецептов, при следовании которому хорошая резервная копия имеет критическое значение, и при этом резервное копирование на тот диск, который планируется переразбивать — это неудовлетворительное решение. Сбой питания или любое другое непредвиденное событие в этом случае может привести к масштабной потере данных.

Перед тем как приступать к фактическому переразбиению на разделы, необходимо убедиться в том, что составленный вами план соответствует реальному положению дел с диском, который требуется разбить на разделы. Откройте приложение Terminal и введите следующую команду:

1$ diskutil list

Эта команда перечисляет свойства всех жестких дисков, примонтированных на текущий момент. В моем случае вывод команды выглядел так, как показано на рис. 8.2.

Рис. 8.2. Информация обо всех смонтированных дисках
Рис. 8.2. Информация обо всех смонтированных дисках

Диск, который в данном примере должен быть модифицирован, называется «MacBook Pro» (это «оригинальное» имя, которое присваивается жесткому диску в MacBook Pro по умолчанию), а идентификатор — disk2s2. Это — важная информация, потому что нам требуется получить дополнительные сведения об этом конкретном жестком диске. Для этого дайте из командной строки следующую команду:

1$ diskutil resizeVolume disk2s2 limits

Эта команда возвратит текущий размер раздела, максимальный размер раздела (число, ограниченное емкостью диска), а также минимальный размер раздела (число, определяющееся объемом данных, уже записанных на диск), как показано в листинге ниже.

1234//Вывод команды diskutil — текущий размер раздела, максимальный размер раздела и минимальный размер разделаCurrent size: 79682387968 bytesMinimum size: 45766385664 bytesMaximum size: 79682387968 bytes

Все операции, проделанные нами до сих пор, представляют собой безвредное наведение справок, но вот все последующие операции могут привести к серьезным последствиям и оказаться необратимыми. Иными словами, мы приступаем к разбиению на разделы. Прежде чем разбивать диск на разделы, необходимо выполнить расчет минимального размера раздела (Гбайт). Поделите число (в приведенном примере — 45,766,385,664) на 1,073,741,824. В данном примере вы получите 42 Гбайт — это и будет минимальный размер, до которого можно сжать ваш загрузочный диск. Вам следует произвести такие же вычисления над текущим размером — таким образом, вы сможете узнать объем пространства, доступного для других разделов (в этом примере вы получите 74 Гбайт).

В нашем примере полученное значение будет меньше, чем заявленное производителем диска значение. Это происходит потому, что производители жестких дисков принимают значение 1 Гбайт равным 1,0003, а операционная система работает со значением 10243. Поэтому если заявленная емкость диска составляет 250 Гбайт, то фактически вы получите 232 Гбайт!

Команда выглядит обманчиво короткой для получаемого результата (не забудьте заменить числа и имена разделов на соответствующие нужной вам конфигурации):

1$ sudo diskutil resizeVolume disk2s2 60G JHFS+ NewPartition 10G JHFS+ Smalldisk 4G

Вы можете создать столько разделов, сколько позволяет доступное дисковое пространство, и эти разделы не обязательно должны использовать иерархическую файловую систему с ведением журнала (Journaled Hierarchical File System, JHFS+). Вы можете использовать множество различных схем (например, HFS+, MS-DOS и т. д.). Обобщая только что приведенный пример, дадим ряд пояснений к опциям командной строки:

  • diskutil resizeVolume — команда, запускающая операцию перераспределения дискового пространства.
  • disk2s2 60G — опция, указывающая размер раздела, который вы собираетесь сжимать. После того как команда завершит свою работу, это будет размер вашего загрузочного диска Mac OS X. Вам нет необходимости присваивать ему имя, так как этот раздел уже является именованным (в данном примере имя раздела — MacBook Pro).
  • JHFS+ — эта опция указывает файловую систему, которую планируется использовать на новом разделе. Как уже говорилось, поддерживается широкий диапазон форматов. Это важная опция, зависящая от того, каким образом вы планируете использовать новый раздел. В приведенном примере используется JHFS+, но если вы планируете установить на новом разделе такие операционные системы, как Linux или Windows, стоит потратить время на размышления и выбрать наиболее предпочтительную файловую систему для каждого конкретного случая.
  • 10G — размер нового раздела. В данном примере используется сокращение G (Гбайт), но вы можете применять такие сокращения, как M (Мбайт) или Т (Тбайт).
  • JHFS+ Smalldisk 4G — это еще один маленький раздел.

Вопрос заключается в том, насколько успешно будет выполнена команда.

Рис. 8.3. Команда была выполнена успешно
Рис. 8.3. Команда была выполнена успешно

Приложение Terminal сообщит вам об этом после ее завершения (рис. 8.3). После того как программа diskutil выполнит операции по перераспределению дискового пространства, вы сможете пользоваться дисками так, как если бы каждый из них представлял собой самостоятельную сущность (рис. 8.4).

Рис. 8.4. На одном диске существуют три раздела
Рис. 8.4. На одном диске существуют три раздела