Как сделать установочный том с os x

Выход в широкие массы большого разнообразия SSD накопителей по относительно доступной цене подстегнул пользователей к обновлению не очень быстрых HDD. Разработчики, в свою очередь, задумались над софтверным вопросом своих детищ. Ввиду того, что принципы организации данных на HDD и SSD различаются радикально, допиливать нужно было как программную начинку твердотельных накопителей, так и драйверы операционных систем. Как результат, одной из таких необходимых оптимизаций явилась функция (команда) TRIM, ставшая необходимой опцией для правильной, быстрой и долговечной работы SSD.

TRIM — это ATA команда, которая позволяет операционной системе оповестить твердотельный накопитель о неиспользуемых блоках, информация на которых может быть удалена или повторно перезаписана. Ввиду того, что на низком уровне операции записи/перезаписи на SSD накопителях существенно отличаются от таковых на HDD накопителях, обычные методы операционных систем для удаления, форматирования или перезаписи информации приводили к прогрессирующему ухудшению производительности операций записи на твердотельных накопителях. Введение поддержки команды TRIM позволило операционной системе очищать неиспользуемые ячейки перед тем, как в них будет произведена запись информации. Это позволило существенно уменьшить время доступа к данным и предотвратить процесс ухудшения производительности SSD накопителей.

Разработчики SSD накопителей сделали свой шаг придумавши заплатку в виде TRIM, остался ход за разработчиками операционных систем. Apple и Microsoft тоже не заставили себя долго ждать и добавили нативную поддержку команды TRIM для SSD накопителей в свои операционные системы (поддержка TRIM имеется в Windows начиная с 7, а в Mac OS X начиная с версии 10.6.6). Но Apple как всегда в своём репертуаре: сделали пакость в виде поддержки команды TRIM только теми накопителями, которые поставляются самой Apple. Причём реализовано это так подло, что злость аж разбирает! Сейчас объясню почему…

За поддержку команды TRIM в операционной системе обычно отвечает драйвер, в операционной системе Mac OS X это кекст (kext — kernel extension — расширение ядра). Работает он примерно так: смотрит на прошивку SSD накопителя и ищет в ней строку «APPLE SSD». Если такое имеется — ОК, TRIM будет работать для этого драйва; если искомой строки нет, то и TRIM’а для этого накопителя тоже нет. Таким образом, проапгрейдив свой Mac быстрым SSD накопителем стороннего производителя вы в скором времени получите отличный «ручник» вместо «ракеты». Но это уже в прошлом, успокойтесь. Спустя непродолжительное время в сети появилась инструкция для патчинга системного kext’а. Это позволило активировать TRIM в Mac OS X для абсолютно всех SSD накопителей.

Чуть позже хороший парень — Оскар Грот, создал утилиту TRIM Enabler, которая в пару кликов позволила проделывать «хактивацию» системного кекста IOAHCIFamily.kext и, тем самым, производить активацию TRIM для изначально неподдерживаемых SSD накопителей. Работа этого хака проста как два пальца… В общем (кому интересно) хак заключается в следующем: берём бинарик кекста IOAHCIFamily.kext, который отвечает за поддержку TRIM и забиваем через HEX редактор нули вместо строчки APPLE SSD (она встречается в двух местах). Таким образом хак делает с кекстом нечто такое, что логика его работы меняется на следующую: если искомая строка равна «ничего» (чего быть вобще не может), то мы активируем TRIM для этого накопителя. Я пошёл немного дальше и чуток переработал логику патчинга. Таким образом моё изобретение — TRIM AutoEnabler смог одновременно убить несколько зайцев: автоматический патчинг после каждого обновления системы, отсутствие необходимости пользоваться какой-либо программой для патчинга и универсальность (на данный момент протестировано на всех версиях Mac OS X: начиная от 10.6.6 и кончая 10.8.3).

Как вы поняли способы включения команды TRIM в Mac OS X на SSD накопителях сторонних поизводителей есть. Способ не один, а все имеющиеся достаточно простые. В этой заметке мы рассмотрим все мне известные, а начну я со сложного плавно переходя к самому простому.

 

Включаем TRIM в Mac OS X ручками.

Запускаем Терминал и выполняем последовательно нижеприведенные команды. Поле каждой команды нажимаем Enter для её выполнения. Я лично проверял работу этого метода, но так как у всех пользователей разные браузеры (теоретически) могут возникнуть какие-либо неточности отображения. Поэтому рекомендую загрузить текстовый документ, в котором команды расположены построчно и 100% без ошибок, к тому же их удобно выполнять копированием-вставкой в окно Терминала. Приступаем…

  1. Получаем права администратора (root’а): sudo -s
  2. Делаем резервную копию оригинального драйвера: cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/\ IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage \ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/\ IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage-orig
  3. Патчим бинарный файл в кексте IOAHCIFamily.kext.
    а) Для Mac OS X Snow Leopard и Lion (10.6.6-10.7.4), а так же Mountain Lion 10.8.0: perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00).{9}(\x00\x51)|\x00\x00\x00\x00\x00\x00\x00\x00\x00|sg' \ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/\ IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

    б) Для OS X Lion и Mountain Lion (10.7.5 и выше, 10.8.1 и выше):

    perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x4D)|\x00\x00\x00\x00\x00\x00\x00\x00\x00|sg' \ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/\ IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
  4. Чистим кеш: kextcache -system-prelinked-kernel; kextcache -system-caches
  5. Перезагружаемся.

Узнать о том, работает ли TRIM или нет очень легко: запускаем утилиту Информация о системе (/Applications/Utilities/System Information.app), с левой стороны выбираем пункт Последовательный-ATA (Serial-ATA) и смотрим на строку «Поддержка TRIM». Если «Да» — всё отлично, TRIM включился; если «Нет» — значит что то пошло не так:
Проверка состояние команды TRIM в Mac OS X
Для восстановления оригинального (ранее зарезервированного) драйвера, а точнее его исполнительной, части проделываем в Терминале следующее:

  1. Получаем права администратора (root’а): sudo -s
  2. Восстанавливаем оригинальный бинарный файл в кексте IOAHCIFamily.kext: mv /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/\ IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage-orig \ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/\ IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
  3. Чистим кеш: kextcache -system-prelinked-kernel; kextcache -system-caches
  4. Перезагружаемся

Ручной способ — это несомненно хорошо (можно понять принцип работы того или иного хака, и, к тому же, наловчиться работе с терминалом). Но это, так сказать, не Mac Way, а для новичков вобще что то загадочное и страшное (часто убивающее систему). Поэтому рассказываю и о втором — автоматическом способе активации TRIM при помощи утилиты TRIM Enabler. Перед инструкцией хочу немного рассказать о самой утилите. Изначально она была реализована на AppleScript, а принцип работы заключался в автоматической подмене оригинального драйвера IOAHCIFamily.kext на изначально пропатченный драйвер взятый из Mac OS X 10.6.8. Как вы понимаете это не очень хорошо, особенно если речь идёт об включении TRIM в операционной системе отличной от Mac OS X 10.6.8 Snow Leopard. По этой причине версия TRIM Enabler 1.x была несовместима с Mac OS X Lion. Сейчас Оскар Грот — автор утилиты, выпустил вторую версию. По заявлению автора она целиком и полностью была переписана на Objective-C, обзавелась дополнительным функционалом для мониторинга S.M.A.R.T., и, что самое главное, теперь она не подменяет, а именно патчит имеющийся системный драйвер. На момент написания данной заметки последний билд имел порядковый номер 2.0 Beta 4. В курс дела ввёл, теперь перейдём к самой утилите и посмотрим как она работает.

 

Включаем TRIM в Mac OS X при помощи TRIM Enabler.

Trim Enabler 2.0 для Mac OS X

  1. Скачиваем TRIM Enabler и двойным кликом по архиву распаковываем его в удобное место;
  2. Запускаем TRIM Enabler.app;
  3. Перетягиваем переключатель из положение OFF в положение ON;
  4. Вводим пароль администратора и ждём около минуты (на всякий случай);
  5. Перезагружаем Mac.

После перезагрузки запускаем утилиту Информация о системе, выбираем пункт Последовательный-ATA, смотрим на строку «Поддержка TRIM» в поисках заветного слова «Да»:
Проверка состояние команды TRIM в Mac OS X
Для восстановления оригинального драйвера достаточно передвинуть переключатель из положение «ON» в положение «OFF». TRIM Enabler от Оскара — это, несомненно, лёгкий способ активации TRIM, но не самый лёгкий. Посему представляю последний — моё скромненькое изобретение :)

 

Включаем TRIM в Mac OS X при помощи TRIM AutoEnabler.

Мне показалось, что процесс активации TRIM является хоть и лёгким, но не совсем удобным. Поэтому мне захотелось сделать нечто такое, что потребует единоразовой установки от пользователя, а далее будет работать само по себе проделывая всю грязную работёнку. Продуктом моей идеи и умений стал TRIM AutoEnabler. Этот пакет вообще не стоит описывать так как сам TRIM AutoEnabler вообще не имеет интерфейса: пакет содержит маленький скрипт-патчер и файл автозапуска. Два эти миниатюрные файлы проделывают в системе всё необходимое для автоматической активации TRIM на SSD накопителях «не Apple» поставки. Работать с TRIM AutoEnabler очень просто:

  1. Загружаем установочный пакет TRIM AutoEnabler;
  2. Устанавливаем пакет;
  3. Перезагружаемся.

Вот и всё. Об активации TRIM можно, в принципе, забыть до следующей переустановки операционной системы или до выхода OS X 10.9.


Метки: Mac OS X 10.6 Snow Leopard • Mac OS X 10.7 Lion • OS X 10.8 Mountain Lion • SSD • TRIM
 


Источник: http://macdaily.me/howto/how-to-enable-trim-in-mac-os-x-on-non-apple-ssd/


Закрыть ... [X]

Skype скачать бесплатно русская версия Скачать - Как сделать вечерний пучок самой



Как сделать установочный том с os x Как сделать установочный том с os x Как сделать установочный том с os x Как сделать установочный том с os x Как сделать установочный том с os x Как сделать установочный том с os x Как сделать установочный том с os x
.