Как в Mac OS создать загрузочный флэш-накопитель для аварийного восстановления



Не стоит прибегать к переинсталляции или полному восстановлению с резервной копии каждый раз, когда что-то идет не так, как вы предполагали. Довольно часто проблему можно решить с помощью Disk Utility или свободно распространяемых программ, которые без труда можно найти в Интернете. Данный рецепт описывает процедуру создания загрузочного флэш-накопителя с приложениями, предназначенными для осуществления аварийно-восстановительных работ.Как было бы замечательно иметь возможность прожечь загрузочный DVD с Mac OS X, который помимо стандартных утилит содержал бы и восстановительные средства, которые вы лично нашли, протестировали и сочли полезными. Однако сделать это очень сложно. Некоторые из разработчиков Apple имеют в своем распоряжении средства, позволяющие достигнуть этой цели, но эти средства доступны не всем, а без них вы не сможете создать загрузочный DVD. Так как создание загрузочного DVD даже не обсуждается, настал момент подумать о других, более доступных возможностях.

Можно ли использовать флэш-память? Для этой цели флэш-накопители — просто идеальный выбор, поскольку флэш-память является энергонезависимой (содержимое не теряется при отключении питания), общедоступной (накопители флэш-USB, устройства iPod Nano, а также карты памяти для цифровых камер — все они реализованы на основе флэш-памяти) и относительно дешевой. Например, на момент написания этой книги, 4-Гбайтный флэш-накопитель можно было приобрести на Amazon примерно за $20.44. Кроме того, флэш-накопители обладают важным преимуществом по сравнению с DVD — в процессе загрузки на них возможна запись, что является камнем преткновения при создании загрузочных DVD.

SuperDuper! — это инструмент, который в обязательном порядке рекомендуется иметь в вашем наборе утилит для Mac OS X. Бесплатная версия SuperDuper! предоставляет возможности по клонированию, а коммерческая версия, которая стоит $27.95, позволяет получить доступ к дополнительным функциям SuperDuper!. Если вы используете версию Mac OS X, более раннюю, нежели Leopard, то использование SuperDuper! позволит вам дополнить свою систему функциональными возможностями, подобными Time Machine, и все это — при минимальных капиталовложениях.

Если ваш Mac не загружается, не следует сразу же пытаться выполнить загрузку с альтернативного загрузочного диска. В большинстве случаев, загрузка в безопасном режиме (safe mode) позволит решить проблему. Чтобы загрузить компьютер в безопасном режиме, включите его и нажмите клавишу Shift немедленно после того, как услышите звуковой сигнал. Загрузка в безопасном режиме приводит к тому, что при загрузке выполняется проверка каталога, и Mac будет игнорировать расширения ядра, шрифты или автоматически запускающиеся программы, которые могут послужить источником возникающей проблемы. После успешной загрузки в безопасном режиме выполните перезагрузку компьютера, и после этого его работоспособность будет восстановлена.

На тот случай, когда загрузка в безопасном режиме не позволяет разрешить возникшую проблему, Apple рекомендует выполнить загрузку с дистрибутивного DVD и запустить Disk Utility. Если вы не любите тратить время на медленную загрузку с DVD или же если у вас не работает привод DVD, вы можете попытаться выполнить загрузку в однопользовательском режиме (single-user mode).

Для этого при запуске нажмите комбинацию клавиш Сommand и s, в результате чего Mac загрузится в режиме командной строки. Введите команду fsck -fy, а затем нажмите клавишу Return, после чего вам останется только ожидать результата в надежде на лучшее. Здесь флаг y дает команде fsck указание давать утвердительный ответ на все запросы, а флаг f принудительно запускает команду fsck. Команда fsck выполнит проверку всех ваших файлов с тем, чтобы исправить возможные неполадки. После того как эта команда отработает, введите из командной строки команду reboot для перезапуска компьютера в обычном режиме. Этот процесс безопасен, но при перезапуске Mac он может привести к появлению ложных сообщений об ошибках.

Перед тем как углубляться в детали, важно отметить, что этот процесс намного проще выполняется на компьютерах Mac на базе процессоров Intel. Носители флэш-USB доступны всем и каждому. Кард-ридеры USB продаются повсюду и стоят недорого (вполне вероятно, что такие устройства даже встроены в ваш принтер). Поэтому общедоступность устройств флэш-USB существенно облегчит жизнь пользователям Mac на базе Intel, но практически бесполезна для пользователей Mac на базе PowerPC. В то время как компьютеры Mac на базе Intel способны загружаться с устройств USB, Mac на базе PowerPC такой возможностью не обладают, хотя, по правде говоря, это утверждение является не совсем точным. Путем модификации микропрограммного обеспечения (firmware) такую возможность можно реализовать, по крайней мере, для некоторых Mac на базе PowerPC. Стоит, конечно, отметить и то, что даже в случае удачи результаты будут далеко не идеальными.

Наиболее экономичным методом загрузить Mac на базе PowerPC с флэш-накопителя — приобрести кард-ридер для порта FireWire. Хотя такие кард-ридеры стоят существенно дороже, чем кард-ридеры USB, но вы не только получите возможность загрузки Mac на базе PowerPC с флэш-накопителя, но и сможете выполнять передачу снимков во время съемки. Одним из наиболее известных производителей кард-ридеров FireWire является Lexar, хотя, несомненно, существуют и другие варианты.

Создание загрузочного диска

Цель данного шага вполне ясна: необходимо разработать метод сокращения системной папки до разумных размеров без нарушения ее работоспособности. На пути к этой цели имеются некоторые препятствия. Как уже говорилось ранее, данную задачу нельзя выполнить обычным перетаскиванием мышью. При таком копировании будут нарушены символические ссылки (symbolic links) и права доступа к файлам и папкам (permissions). Кроме того, этот метод не позволяет выполнить копирование скрытых файлов и папок. Далее, чтобы выполнить эту задачу, вам потребуются:

  • Диск, разбитый на разделы, или флэш-накопитель объемом не менее 4 Гбайт;
  • Утилита SuperDuper! или умение пользоваться программой Terminal и командой rsync.

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

Итак, наступило время создать хоть какой-то загрузочный носитель. Если вы пользуетесь утилитой SuperDuper!, то вы обнаружите, что есть только один вариант переноса вашей системы на целевой диск. И заключается он в клонировании всего вашего диска. Если у вас достаточно свободного пространства, репликация не имеет значения, и вы сможете удалить файлы сразу же после завершения процесса. Думайте об этом лишь как о временном неудобстве.

Если же у вас нет достаточного дискового пространства для клонирования, то на помощь вам придет команда rsync. В отличие от утилиты SuperDuper!, которая требует клонирования всего диска целиком, команда rsync может избирательно клонировать папки. Для ее использования требуется провести дополнительные работы в программе Terminal, зато этот процесс предъявляет меньше требований к дисковому пространству.

Если ранее вы уже работали с программой Terminal, то работа с командой rsync не будет представлять для вас никакой сложности. Если же такого опыта у вас нет, то команды, опции, а также неброский интерфейс программы Terminal поначалу могут поставить вас в тупик. Поэтому, если вы намерены воспользоваться Terminal, предварительно просмотрите раздел «Работа с командной строкой», где эта программа и ее практическое использование обсуждаются более подробно.

Утилита SuperDuper! допускает использование командных сценариев, поэтому вы вполне можете написать скрипт для клонирования лишь отдельных фрагментов содержимого вашего жесткого диска. Задача эта довольно трудоемкая, и обычно осуществление этой задачи с помощью rsync требует меньше времени, чем написание такого скрипта. Однако если вы регулярно пользуетесь программой SuperDuper!, то вполне возможно, что написание скрипта для выполнения часто повторяемых операций может себя оправдать.

Перед тем как двигаться дальше, выделите немного времени на тщательное обследование ваших целевых дисков, чтобы убедиться в том, что они готовы к процессу клонирования. Проверить необходимо используемую схему разбиения на разделы (partitioning scheme) и установку прав доступа. Что касается схемы разбиения на разделы, то она должна быть выбрана в соответствии с вашим типом компьютера Mac. Для Mac на базе PowerPC следует выбирать схему разбиения на разделы Apple (Apple Partition Map, APM), а для Mac на базе процессоров Intel — предпочтение следует отдать схеме GPT (Globally Unique Identifier Partition Table, GUID Partition Table). С помощью Disk Utility определите, какую из схем использует ваш диск, и измените ее при необходимости.

Хотя компьютеры Mac на базе процессоров Intel официально требуют диск, разбитый на разделы по схеме GUID Partition Table (GPT), реальность несколько отличается от официальной позиции Apple. Компьютеры Mac не имеют проблем с загрузкой с дисков, разбитых на разделы в соответствии с более старой схемой APM. Эта ситуация может измениться в будущем с выпуском новой версии операционной системы или обновления к ней, поэтому наименее рискованный путь заключается в том, чтобы все же придерживаться схемы, официально рекомендованной Apple. С другой стороны, смена схемы разбиения диска на разделы требует и его переразбиения, что может быть нежелательно. В любом случае, на текущий момент вы без опасений можете придерживаться схемы APM.

Чтобы полностью подготовиться к реализации этого рецепта, вам потребуется выполнить еще один заключительный шаг: проверку прав доступа к целевому диску. По умолчанию, Mac OS X игнорирует права владельца для дисков, подключенных через FireWire или USB, но для загрузочного диска эта опция непригодна. Выполните щелчок правой кнопкой мыши по дискам, на которые вы собираетесь выполнить копирование, и из контекстного меню выберите команду Get Info. Сбросьте флажки Ignore ownership on this volume для каждого из таких томов (рис. 1.7).

Рис. 1.7. В данном случае опция игнорирования прав владельца является нежелательной
Рис. 1.7. В данном случае опция игнорирования прав владельца является нежелательной

Если для осуществления данной задачи вы пользуетесь утилитой SuperDuper!, то первый шаг будет очень простым: запустите утилиту SuperDuper!, а затем выберите диск, подлежащий копированию, и диск, на котором должна будет разместиться ваша копия (рис. 1.8).

Рис. 1.8. Утилита SuperDuper! за работой
Рис. 1.8. Утилита SuperDuper! за работой

Как только процесс копирования завершится, вам потребуется удалить все файлы, не являющиеся необходимыми для загрузки. На первый взгляд эта задача кажется невыполнимой. Целенаправленный отбор файлов, необходимых для загрузки, и отсеивание всех остальных файлов могут превратиться в неразрешимую проблему, даже если бы вы были наделены сверхъестественной способностью определять цель каждого файла, всего лишь взглянув на его имя. К счастью, программисты Apple организовали систему таким образом, что для загрузки Mac необходимы лишь немногие файлы и папки. Дальнейшее исследование показывает, что все эти файлы и папки невидимы для обычных пользователей. Таким образом, шансы на то, что такой пользователь случайно удалит, скажем, папку bin, равны нулю.

На практике это означает, что, как только вы скопируете содержимое вашего диска с помощью SuperDuper!, вы можете удалить все, кроме папки System, и диск будет пригоден для загрузки Mac. Имейте в виду, что если вы просто удалите все, кроме папки System, ваш Mac можно будет загрузить с этого диска, но после загрузки сделать вы сможете немногое. В конце концов, в вашем распоряжении не будет никаких приложений.

Простейший подход состоит в том, чтобы удалить с диска все, кроме папки System, но воссоздать на вновь созданном загрузочном диске папку Applications и поместить туда копии всех приложений, которые понадобятся вам для устранения неполадок. Этот подход сработает безукоризненно для программ, установка которых осуществляется методом обычного перетаскивания файлов мышью (drag and drop). Для программ, требующих более сложной процедуры установки, вероятность того, что они после этого будут правильно работать, очень мала.

Теперь, когда размеры вашей системы минимизированы, и она может разместиться на флэш-носителе объемом 4 Гбайт, ее вполне можно переместить на такой носитель. Выделите носитель и выберите команду Get Info. Убедитесь в том, что для выбранного тома сброшен флажок Ignore ownership on this volume, а затем, пользуясь утилитой SuperDuper!, скопируйте содержимое вашего диска аварийного восстановления вместе с избранными приложениями на флэш-накопитель. Как только SuperDuper! завершит работу, в вашем распоряжении появится загружаемый флэш-накопитель, который вы сможете использовать для устранения неполадок в случае возникновения проблем с загрузкой.

Использование утилиты SuperDuper! — это замечательная возможность, если у вас имеется необходимый объем дискового пространства и время для экспериментов над несколькими копиями. Если вы не располагаете необходимыми ресурсами, то следует прибегнуть к команде rsync. С помощью rsync вы можете указать, какие папки следует копировать, а какие — исключить из этого процесса. Кроме того, вы сможете выполнять копирование непосредственно на флэш-носитель. Недостатком этого подхода является то, что в данном случае вам придется работать с программой Terminal из командной строки, а не через дружественный графический интерфейс утилиты SuperDuper!.

На первый взгляд соблазнительной может показаться мысль просто скопировать папку System с помощью утилиты rsync, и тем самым решить проблему. Однако это далеко не так; необходимые папки, такие, как /usr и /bin, в действительности не находятся внутри папки System, как этого можно было бы ожидать. Вместо этого, необходимые папки находятся на корневом уровне вашего каталога и являются невидимыми. Для решения поставленной задачи необходим более универсальный подход. Решение заключается в использовании команды rsync для копирования всего содержимого жесткого диска за исключением папок, которые не являются необходимыми для процесса загрузки.

Если вы уже имеете хороший опыт работы с Mac, то вы наверняка знаете, что среди всех папок, необходимых для загрузки компьютера, есть всего лишь одна, которую пользователям действительно необходимо видеть — это папка System. Поэтому в типичной конфигурации Mac, на корневом уровне вы увидите лишь небольшое количество папок. Например, моя собственная структура папок выглядит примерно так, как показано на рис. 1.9.

Рис. 1.9. Среднестатистическая система папок Mac, близкая к типовой
Рис. 1.9. Среднестатистическая система папок Mac, близкая к типовой

Существуют только три каталога, которые нам требуется исключить из процесса копирования. По умолчанию, команда rsync скопирует все содержимое диска. Чтобы исключить из процесса копирования отдельные каталоги (папки), команде rsync необходимо дать соответствующее указание. Типовая команда rsync, которая выполняет указанную операцию, выглядит следующим образом:

12$ sudo rsync -av —exclude /Users/ —exclude /Applications/ —exclude /Library/ / /Volumes/EmerbootДля среднего пользователя эта команда выглядит довольно сложной, поэтому здесь необходимо дать ряд пояснений, описывающих назначение каждой из опций командной строки.

Команда sudo предназначена для аутентификации в системе пользователя с административными правами, достаточными для запуска процесса копирования (rsync требует полномочий пользователя root). Если эту команду пропустить, вы получите множество сообщений об ошибках, информирующих вас о недостаточных полномочиях. Команда rsync запускает сам процесс копирования. Хотя эта утилита и не имеет графического пользовательского интерфейса (GUI), она предоставляет чрезвычайно гибкие и мощные возможности.

Сразу же за rsync следуют «флаги» (называемые также ключами), задающие различные опции, модифицирующие работу команды rsync. Комбинация -av фактически представляет собой два флага, написанных слитно с целью упрощения процесса клавиатурного ввода. Опция -a указывает, что команда rsync должна выполнять рекурсивное копирование каталогов с сохранением символических ссылок. Опция -v указывает команде rsync на то, что в процессе копирования пользователь нуждается в обратной связи. Эта опция не является абсолютно необходимой для выполнения поставленной задачи, но она полезна, так как в ходе ее осуществления вы сможете видеть, какие файлы подлежат копированию.

Далее следует символ наклонной черты (/), обозначающей корневой каталог вашей файловой системы, в то время как строка /Volumes/Emerboot указывает целевой каталог, в который должно выполняться копирование. Mac OS X помещает все диски и их образы в каталог /Volumes, что выглядит немного обескураживающе, поскольку он находится ниже корневого уровня. Чтобы упростить понимание, думайте об этом обозначении как о способе отслеживания всего, что отображается в левом верхнем углу ваших окон Finder. Программа rsync не будет делать попыток копирования в этот каталог, поэтому на практике вам нет необходимости беспокоиться об этом. Наконец, три декларации —exclude сообщают программе rsync, что должно быть исключено из процесса копирования (это актуально, если вам требуется сэкономить дисковое пространство). В данном случае, мы сообщаем программе rsync о том, что из процесса копирования должны быть исключены папки /Users, /Applications и /Library.

Нажмите клавишу Return, и программа rsync выполнит всю черновую работу по копированию. Когда этот процесс завершится, в вашем распоряжении окажется целевой диск, содержащий все файлы, необходимые для загрузки вашего Mac. Создайте на новом загрузочном диске папку Applications (это делается с помощью команд File →New folder), перетащите в эту папку мышью все приложения, которые вы планируете применять при устранении неполадок, и вы можете считать, что вы находитесь в относительной безопасности!

Станьте разработчиком Apple

Почему бы вам не стать разработчиком Apple? Хотя для приобретения полноценного членства в сообществе разработчиков Apple необходимо решить некоторые финансовые вопросы, базовое членство является бесплатным. Просто зарегистрируйтесь на сайте, и вы получите доступ к многогигабайтным архивам справочных материалов и большому количеству свободно распространяемых программ. Чтобы получить более подробную информацию, посетите сообщество разработчиков по следующему адресу: http://developer.apple.com/. Если вы уже посетили регистрационную страницу сообщества разработчиков Apple, то вы уже знаете, что существуют различные уровни членства.

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

Использование диска аварийной загрузки

Выполнив все процедуры, описанные в этом рецепте, вы создали загрузочный флэш-накопитель. При загрузке с этого диска вы можете быть приведены в замешательство некоторыми странными особенностями. Во-первых, панель Dock будет вся заполнена прозрачными знаками вопроса (в конце концов, не забывайте, что вы не скопировали на этот диск всех программ, которые обычно находятся в панели Dock, с целью экономии дискового пространства). Кроме того, после загрузки ваш Mac запустит приложение Setup Assistant. Просто проигнорируйте Setup Assistant (или же удалите само приложение Setup Assistant.app из папки System, если вы просто не хотите, чтобы оно запускалось). Как вариант, можно воспользоваться приложением Finder, чтобы осуществить принудительное завершение работы Setup Assistant. Перейдите в папку, где хранятся ваши программы аварийного восстановления, и воспользуйтесь ими для приведения вашего Mac в работоспособное состояние.