Включение trim в мас ос. Включаем нативную поддержку TRIM для сторонних SSD

Здравствуйте, уважаемые хабражители.

Этот перевод предназначен в первую очередь для тех, кто уже использует SSD диск и MacOS Lion. Лично я год с хвостиком радуюсь производительности SSD Intel X-25M и отсутствию карусельки смерти чего и вам от души желаю.

До сегодняшнего дня я был уверен, что мой SSD работает на 100% своих возможностей. Но не тут-то было! Если вы купили свой яблочный компьютер без SSD, то есть из магазина он выехал с обычным HDD, то обещанный во Льве TRIM у вас будет не активен , как оказалось только изначально укомплектованные SSD накопителем компьютеры имеют эту функцию по умолчанию. Проблема, как вы понимаете, в вызывающем вопросы маркетинге компании имеет софтверные корни, а не железные. И на эту подлянку от Apple мистер Грант Пеннэл предлагает свой болт с резьбой.

Прежде чем перейти непосредственно к переводу, предлагаю вам проверить, работает у вас TRIM или нет:

Если у вашего SSD контроллер SandForce 2***, то TRIM вам не рекомендуется. Как говорят очевиды всё дело в том, что контроллер SF2*** обрабатывает удалённую пользователем информацию своим особым образом и вообще хранит данные на диске в виде одного большого архива… подробности его работы и вытекающие проблемы описаны . Контроллером SF2*** оснащён достаточно широкий ряд устройств, в том числе популярный OCZ Vertex 3, поэтому обязательно загляните в и смотрите внимательно, есть ли ваш диск в этом списке, если да, то в колонке Controller определите порядковый номер, если он начинается на 2, то дальнейшие операции по включению TRIM могут только навредить. Для всех остальных пользователей SSD эта статья будет полезна:

Ни в коем случае не используйте программу для активации TRIM во Льве.

После небольшой проверки этого приложения я обнаружил, что вместо обычного патча она заменяет важнейший системный файл на уровне ядра системы. Это значит, что если вы использовали TRIM Enabler, то он заменил файл с массой тянущихся из него ниточек по всей MacOS (особенно актуально для тех кто переехал на Льва из MacOS Snow Leopard 10.6.8). А это плохо. Очень плохо. На ряду с тем, что TRIM действительно включается, появляется реальная опасность столкнуться с вагоном проблем, начиная от kernel panic и заканчивая проблемами ввода/вывода (I/O), и вот тогда-то вас точно настигнет вращающийся и пугающий пляжный мяч.

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

Итак, вот правильный способ по включению поддержки TRIM. Для этого следует выполнить следующие команды в терминале:

1. Для начала делаем резервное копирование файла, который будем патчить:

sudo 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.original

2. Пропатчиваем файл, тем самым активируем поддержку TRIM:
sudo perl -pi -e "s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x51)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg" /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

3. Чистим кэш:
sudo kextcache -system-prelinked-kernel

Теперь перезагружаемся!

Если вдруг понадобится отключить поддержку TRIM:

1. Отключение:
sudo perl -pi -e "s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00).{9}(\x00\x51)|$1\x41\x50\x50\x4C\x45\x20\x53\x53\x44$2|sg" /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

Sudo kextcache -system-prelinked-kernel

Sudo kextcache -system-caches


2. Восстановление файла из бэкапа:
sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

Всё что делает этот патч, это замена фразы “APPLE SSD” на нули в файле IOAHCIBlockStorage. Это необходимо для того, что бы обойти ограничение самой Apple на использование только брендовых SSD дисков. Бэкап файла сохраняется в той же директории где лежит оригинальный файл.

Для проверки, активизировался ли TRIM, зайдите сюда: Об этом Mac > Отчёт о системе >

Помните, если у вас бородатое поколение SSD и оборудование само по себе не поддерживает TRIM… этот патч не поможет. Патч всего-лишь обходит ограничение, созданное самой Apple, что бы ограничить TRIM поддержку для любых SSD, которые не под яблочным брендом.

Разобравшись с TRIM Enabler и невзлюбив его метод я начал искать вменяемое решение… нашёл его .

Записи контрольных сумм MD5 для оригинала и пропатченного файл в 10.7.0 следующие:
Оригинал:
Изменённый:

Если вы уже использовали TRIM Enabler, вы можете сделать следующее:

  • Попытаться скопировать и заменить ключевой файл с другого Mac под управлением той же версии.
  • Попытаться скопировать и заменить ключевой файл из Раздела для восстановления (Откройте Дисковую утилиту > Mount Recovery HD)
  • Переустановить Льва
  • Ждать следующего апдейта OS до 10.7.* и надеяться, что ключевой файл будет заменён при обновлении (что, кстати, де-факто), и уже после этого применять нормальный патч.
Важно:
К сожалению придётся каждый раз проводить эту операцию после крупного обновления OS X 10.7.1 > 10.7.2 > 10.7.3 > и так далее... , ибо ключевой файл обновляется почти каждый раз при обновлении ОС (если оно не дежурное).
Конец перевода
Дальше в статье идут разжёвывания Википедии, что TRIM не работает на стандартных HDD, что компьютер не дурак и может отличить HDD от SSD, что SSD не может греться больше при активации TRIM, что патч никак не может повлиять на работу системы, так как не вносит никаких изменений в работу самого ядра, что если включить TRIM, а у вас HDD, то ничего не произойдёт и все команды будут просто игнорироваться… ну и так далее. В общем: так как автор назвался грибом, пришлось залезать в короб по самую шляпку и отвечать всем. При наличии подобных вопросов в местных комментариях - буду переводить его послесловия с префиксом «Update», порционно.

Результативных вам усTRIMлений. Спасибо за внимание.

TRIM:
Технология TRIM увеличивает скорость записи в те ячейки, где уже хранились какие-либо данные ранее. Иными словами, эти данные там хранятся и после их удаления. А при необходимости перезаписи на SSD отправляется команда освободить эти ячейки и только потом начинается запись. Таким образом уходит время и сокращается скорость записи. Технология TRIM позволяет контроллеру записывать данные в обход операции высвобождения ячеек. К примеру: заявленная скорость у моего SSD x-25M - до 70 Mb в секунду . Протестировав до активации TRIM - выдавало не больше 50 Mb/s, сейчас заявленные 65-70 Mb/s. Протестируйте свой SSD, возможно так-же недосчитаетесь 30% скорости при записи данных…

Update 1.0
Появилась информация, что TRIM в некоторых случаях вызывает проблемы на тех SSD, которые оснащены контроллером SandForce 2***, как говорят очевиды всё дело в том, что контроллер SF2*** обрабатывает удалённую пользователем информацию своим особым образом и вообще хранит данные на диске в виде одного большого архива… подробности его работы и вытекающие проблемы описаны .

Как оказалось контроллером SF2*** оснащён достаточно широкий ряд устройств, в том числе популярный OCZ Vertex 3, поэтому обязательно загляните в список SSD оснащённых контроллером SandForce и смотрите внимательно, есть ли ваш диск в этом списке, если да, то в колонке Controller определите порядковый номер, если он начинается на 2, то отключайте TRIM, инструкция есть выше.

Update 2.0

Данный метод перестал работать после апдейта системы до версии 10.8.1
Тем не менее TRIM Enabler работает, но в интернетах до сих пор встречаются мнения , что он может рушить систему. На свой страх и риск можете попробовать, проблемы уходят, если через эту-же программу отключить TRIM при их возникновений, но вы сами понимаете - всё это «вилами по воде» - если и проявляется, то индивидуально.

Когда найдётся метод без вмешательства в ядро системы - я о нём напишу; если кто-то из вас, уважаемые маководы, найдёт способ раньше, не поленитесь сообщить, пожалуйста.

Update 3.0 // Найден способ активация TRIM для системы 10.8.2

Благодарим пользователя , способ найден на просторах интернета .

Выполните следующие команды в терминале:
1. Резервное копирование оригинальных драйверов.

sudo 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-backup

2. Изменяем драйвер.
sudo perl -pi -e "s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x4D)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg" /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents /MacOS/IOAHCIBlockStorage

3. Выполняем две команды, чтобы очистить кэш OS X и забрать модифицированный драйвер.
sudo kextcache -system-prelinked-kernel sudo kextcache -system-caches

4. Перезагружаем Mac. Проверяем активацию TRIM

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

Что такое TRIM

У электронных (SSD) дисков есть отличие от магнитно-механических (HDD) которое влияет на скорость записи. В HDD дисках запись выполняется «поверх» старых данных. Блоки диска, которые ранее содержали данные, а затем эти данные были удалены, просто помечаются как свободные. И когда нужно выполнять запись, контроллер HDD сразу записывает новые данные в эти свободные блоки.

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

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

Поэтому при использовании SSD дисков возникает эффект «деградации производительности». Когда диск новый и все блоки флэш-памяти чистые тогда скорость записи очень высокая, паспортная. Но после того как диск будет полностью заполнен и после этого часть файлов будет удалена, повторная запись будет происходить на более низкой скорости. Из-за того, что контроллеру диска придется очищать ранее использованные блоки флэш-памяти, перед записью туда новых данных.

Падение скорости записи в повторно используемые блоки флэш-памяти может быть очень высоким. До значений близких к скорости записи HDD дисков. При тестировании SSD дисков часто даже проводят отдельную проверку на снижение скорости записи в повторно используемые блоки.

Для борьбы с этим явлением, в новые ОС добавлена дисковая команда ATA TRIM. Драйвер файловой системы при удалении файла отправляет контроллеру SSD диска команду TRIM. По этой команде контроллер SSD диска очищает освобожденные блоки флэш-памяти, но делает это в фоновом режиме, в перерывах между операциями чтения и записи.

Иными словами, на системе, где не работает TRIM, твердотельный накопитель со временем (примерно после полного цикла записи всего объёма) станет работать гораздо медленнее. На компьютерах Mac, которые изначально поставлялись с SSD накопителем, TRIM работает прямиком «из коробки». А вот для пользователей, которые в свой Mac сами устанавливали SSD накопитель от какого-либо другого бренда, ситуация немного другая. Виду «странной» политики компании Apple, «завести» TRIM в OS X для сторонних SSD оказалось не так уж и просто. Для этого нужно было патчить системный KEXT (расширение ядра, в простонародье - драйвер) , и делать это приходилось практически после каждого обновления системы.

С выходом OS X Yosemite ситуация ещё немного ухудшилась, так как в OS X 10.10 системные расширения и утилиты стали подписывать цифровой подписью, которая нарушалась при патчинге KEXT’а. Без цифровой подписи ядро операционной системы отказывалось грузить драйвер, без драйвера не запускался накопитель, система переставала грузиться. Но и для этого было найдено решение в виде специального параметра, который записывался в NVRAM и указывал ядру ОС, что неподписанные драйверы нужно всё равно загружать. В общем, был головняк. Но «Капитан» всё изменил.

Начиная с версии OS X 10.11 El Capitan для активации TRIM на всех SSD накопителях достаточно выполнить одну единственную команду, после которой TRIM будет работать штатно и всегда, без всяких патчингов и манипуляций с системой. Запускаем Терминал и выполняем команду:

sudo trimforce enable

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

This tool force-enables TRIM for all relevant attached devices, even though they have not been validated for data integrity while using that functionality. By using this tool to enable TRIM, you agree that Apple is not liable for any consequences that may result, including but not limited to data loss or corruption.

С уверенностью в 99,999% можно игнорировать предупреждение и нажать клавишу Y и Enter . После этого система перезагрузится. В итоге, после перезагрузки, TRIM будет активирован и для его повторной активации лезть в систему больше никогда не понадобится:

Удаленные данные и их восстановление

Если использовать Trim, то о восстановлении удаленных данных можете забыть. Если удалить файл, то все его данные на SSD дисках будут полностью уничтожены.

Так как же влияет Trim на скорость записи?

Нужно понимать, что применение или отсутствие функции Trim напрямую не повлияет на скорости записей на SSD диски. Повлияет на это единственный фактор - присутствие достаточного количества пустых блоков flash памяти. То есть тех блоков, которые полностью очищены контроллером диска и приготовлены для записи на них новых данных.

Проще говоря, скорости записи зависят от количества свободного места на SSD диске. Если же ваш диск практически полностью занят, то и скорости записи упадут даже в том случае, если вы пользуетесь Trim. А в том случае, если у вас не менее 20-30% емкости SSD диска остаются без разметки (unallocated disk space), то можете обходиться и без использования функции Trim. Контроллер SSD диска будет применять неиспользуемое место под разделы для того, чтобы выровнять скорость записи.

Как сменить HDD на SSD у Mac, как включить TRIM на OS X и тесты производительности HDD vs SSD

13.11.13 в 13:34

С каждым годом твердотельные накопители SSD становятся все дешевле и имеют все большой объем. Некоторые пользователи, чаще те, у которых срок технической поддержки истек решаются сами на замену HDD на более быстрые, надежные, безшемные SSD. Однако, работа HDD отличается способом записи данных от SSD, если первые записывали и стирали информацию магнитнымо головками, то в случае с SSD ячейки хранящие данные помечаются как доступные для записи данных поверх программно.

Для того, чтобы SSD накопитель знал какие ячейки были удалены операционной системой и доступны для перезаписи была придумана команда TRIM, которая позволяет OS X уведомлять твердотельный накопитель о том, какие блоки данных уже не содержатся в файловой системе и могут быть использованы накопителем для физического удаления.

Каждый SSD, который продается вместе с Mac уже имеет поддержку команды TRIM, но если вы заменяете HDD на SSD самостоятельно команду TRIM нужно включить вручную. Инструкция по замене HDD на SSD для Mac доступна на сайте iFixit .

Что будет если не включить TRIM?

Если вы забудите или просто по незнанию не включите TRIM свободное место на новеньком SSD закончится. OS X не сможет уведомлять SSD о том, что ячейки освободились, не смотря на то, что корзина с файлами была очищена.

Как включить TRIM на OS X

Приложение Trim Enabler ($10) создано для того, чтобы включать команду TRIM для SSD, которые были куплены отдельно от Mac. Установив и запустив приложение включите поддержку TRIM в главном окне приложения. Если ваш SSD поддерживает это, TRIM будет включен.

В настройках приложения можно поставить галочку: Warm if trim patch is disabled (уведомлять, если TRIM отключен), что позволит приложению следить не отключился ли TRIM, например, после установки обновления системы.

Вторая вкладка отображает различную информацию о SSD диске, его производителе, серийном номере, состоянии «здоровья».

Третья вкладка имеет ряд настроек, которые не являются необходимыми, но могут быть полезными в некоторых случаях.

Sudden Motion Sensor (по умолчанию включен). SMS используется портативными Mac для того, чтобы ставить жесткий диск на паузу, когда он находится в движении (например падении). Это сделано для того, чтобы при падении ноутбука Apple пишущая головка HDD не повредила информацию. Если ваш Mac имеет лишь SSD диски этот параметр можно отключить, чтобы чуть снизить потребление аккумулятора.

Sleep Image . Когда Mac уходит в глубокий сон он записывает информацию из оперативной памяти на диск. Отключив этот параметр Mac перестанет глубоко засыпать, что сэкономит некоторое место на диске. Отключать этот параметр не рекомендуется, если ваш портативный Mac часто находится в режиме сна день или более.

Local Time Machine . Time Machine временно сохраняет бекапы, когда не подключена к внешнему накопитлю, использующемуся для хранения архивов Time Machine. Отключив эту функцию вы запретите диску делать это, что сэкономит какое-то место на диске.

Третья вкладка создана для тестирования SSD диска на производительность. После выбора объема тестового файла и запуска будет отображены результаты на скорость чтения, записи данных.

Стоит ли покупать Mac с SSD или устанавливать его самостоятельно?

Если вы все еще задаетесь вопросом, относительно того, нужен ли SSD вашему Mac и насколько разница в приросте производительности между HDD и SSD, то мы рекомендум ознакомиться с нашими некоторыми тестами. Тестировался MacBook Pro (mid 2012) с базовым HDD, который был заменен на SSD OCZ Vertex 4, VTX4-25SAT3-128G.

Результаты тестов показывают прирост скорости при запуске приложений в некоторых случаях в 2 раза, при использовании SSD, а полный запуск OS X ускорился в 5 раз.

Не помню, вроде бы не писал об этом.

Как известно, Apple не поддерживает включение TRIM на твердотелых дисках сторонних производителей. Но поддержку TRIM на операционных системах, выпущенных до OS X 10.10 Yosemite можно было включить сторонней утилитой Trim Enabler . На Mavericks и на Mountain Lion я так и делал. Версия утилиты "Pro" платная, но в бесплатной версии доступна основная функция - включение поддержки TRIM.

С выходом OS X 10.10 Yosemite лавочка закрылась. Apple начал блокировать сторонние драйвера. Включить поддержку TRIM на Yosemite теперь стало возможно только включив режим загрузки ядра с неподдерживаемыми драйверами. При сбросе PRAM система перестает грузиться, нужно начинать все сначала. Бубны и костыли. Я систему Yosemite проскочил, так что подробнее написать не могу.

В 10.11 наоборот, с вклчением TRIM на сторонних SSD никаких проблем нет, как ни странно. Всё делается одной командой в Терминале прямо в системе.

1. Запускаем Терминал.
2. Набираем команду: sudo trimforce enable и нажимаем enter:

3. Два раза поочередно соглашаемся, набрав "y" и нажав enter.
4. Компьютер автоматически перезагрузится. Всё, TRIM включен.
5. В "Отчете о системе" можно в этом убедиться:


6. ????
7. Profit!

Тема будет актуальна в первую очередь владельцам старых маков, когда нет возможности установить OS X Yosemite (10.10.4) или новее, но вы решили дать своему компьютеру или ноутбуку вторую жизнь, заменив обычный диск на SSD. Впрочем, для владельцев более свежих устройств тоже найдется полезная информация, если вы самостоятельно делали апгрейд и установили сторонний SSD.

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

Поддержка TRIM появилась с выходом Windows 7, а в Mac OS X начиная с версии 10.6.6. Однако Apple и тут отличилась, включив поддержку данной команды исключительно для оригинальных дисков, поставляемых вместе с компьютерами Mac, любые сторонние диски этой возможности оказались лишены.

Как такое возможно? Дело в том, что за работу команды TRIM в операционной системе отвечает драйвер, в Mac OS эта роль возложена на расширения ядра - kext (kernel extension) IOAHCIFamily.kext . Тут то Apple и подложила свинью любителям самостоятельно апгрейда, проверяя наличие строки «APPLE SSD» в прошивке твердотельного накопителя. Если подобной метки не находилось, то досвидули - никакого TRIM’а для этого накопителя не будет.

Счастье пришло с выходом OS X Yosemite (10.10.4), где поддержка TRIM стала доступна для любых сторонних SSD (по умолчанию команда может быть отключена). Для ее активации достаточно в терминале ввести всего одну команду:

Sudo trimforce enable

Еще раз обращаю внимание, что активировать TRIM необходимо только при установке сторонних SSD в Mac. Если накопитель был установлен изначально, то он работает в оптимальном режиме по умолчанию.

Назревает вопрос, откуда вдруг такая щедрость? Дело в том, что с новыми моделями ноутбуков Apple нашла другой путь навязывать свои фирменные комплектующие - каждое новое поколение современных Macbook теперь имеет собственный уникальный разъем подключения SSD, но об этом расскажу в одной из следующих статей .

Активация TRIM в Mac OS X (ниже 10.10.4) для любых SSD накопителей

Активировать TRIM для изначально неподдерживаемых SSD накопителей в MacOS всё-таки можно путём некоторой правки системного кекста IOAHCIFamily.kext, который отвечает за поддержку TRIM. Суть метода в следующем - в бинарнике кекста строчка «APPLE SSD» (встречается в двух местах) заменятся нулями. Таким образом логика его работы меняется на следующую: если искомая строка равна «ничего», то активируется TRIM для этого накопителя.

Данный метод придуман не мной, описание можно найти в интернете. Я лично проверял работу этого метода на паре Mac mini, так что всё реально работает. Команды удобно выполнять в терминале копированием-вставкой, так вы избежите ошибок.

  1. Получаем права администратора (root’а ):
  2. sudo -s
  3. Делаем резервную копию оригинального драйвера:
  4. 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
  5. Патчим бинарный файл в кексте IOAHCIFamily.kext.
  6. а) Для 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)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|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)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg" /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

  7. Чистим кеш:
  8. Перезагружаемся.

Проверить заработал ли TRIM довольно легко, достаточно посмотреть информацию о системе, выбрав пункт Последовательный-ATA (Serial-ATA), где увидим строку «Поддержка TRIM».

Хочу отметитесь, что повторно выполнять патч нужно при любом обновлении Mac OS X (OS X 10.7.1 > 10.7.2 > 10.7.3 > ...), но думаю это не актуально. Восстановить оригинальный kext всегда можно из резервной копии, которую мы делали ранее:

Sudo 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

После чего снова чистим кеш и перезагружаемся:

Kextcache -system-prelinked-kernel; kextcache -system-caches



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: