Создавая набор NTFS Tools мой мозг самопроизвольно накопил приличный опыт, который не даёт мне теперь спокойно спать. В голову то и лезут всё новые и новые идеи автоматизации тех или иных не очень приятных, иногда даже “рутинных”, задач при помощи bash или shell скриптов. Одной из таких задач, как по мне, является активация TRIM для сторонних SSD накопителей. Не буду повторяться и снова рассказывать что такое TRIM и для чего он нужен, лучше сразу приступлю к повествованию о моей новой поделке 😉
И так, что же такое TRIM AutoEnabler и чем он отличается от других решений, например от того же TRIM Enabler? – Не хочется себе льстить, но как по мне, TRIM AutoEnabler выглядит более выгодно по сравнению с утилитой TRIM Enabler 🙂 В чём заключается выгода:
- TRIM AutoEnabler состоит всего из 2-х компонентов – это исполняемый bash-скрипт, в котором, собственно, и заложена вся логика работы патчера, и автоматически запускающийся сервис представляющий из себя сконфигурированный .plist в LaunchDaemons указывающий сервису launchd как и что нужно запускать при старте системы. Итого: 2 файла общим “весом” около 20 КБ.
- TRIM AutoEnabler не нужно постоянно обновлять, так как логика его работы позволяет патчить системное расширение ядра IOAHCIBlockStorage от любой версии Mac OS X, начиная с версии 10.6.6 и выше (поддержка TRIM появилась в сборке 10.6.6). Так будет до тех пор, пока в Apple кардинально не изменят принцип проверки валидных SSD накопителей. Но я на всякий случай искусственно ограничил работу до версии OS X 10.9.
- TRIM AutoEnabler не нужно запускать после каждого обновления ОС – при загрузке системы запускается модуль trim_autoenabler, быстренько проверяет пропатчен ли IOAHCIBlockStorage – если пропатчен, то всё ОК; если не пропатчен – делает бекап оригинала, патчит и перезагружает систему (не стоит бояться двойной перезагрузки после обновления ОС). Таким образом будет трудно забыть о необходимости патчинга системы для активации TRIM (как это может произойти с использованием других утилит).
- TRIM AutoEnabler в принципе ни как не может повредить систему и никак не модифицирует системные файлы (кроме IOAHCIBlockStorage).
Из минусов:
- Нет встроенной утилиты проверки S.M.A.R.T., которая есть в TRIM Enabler (TRIM AutoEnabler вообще не имеет интервейса – это сервис).
- Нет оповещения о перезагрузке и нет выбора: перезагрузиться сейчас или позже (перезагрузка происходит автоматом).
С сегодняшнего для версия TRIM AutoEnabler под версией 1.0 доступна для загрузки. Это не Beta, а готовая к употреблению продукция 😉 Как всегда утилита абсолютно бесплатна. Кстати, чтоб удалить утилиту подчистую (может кто захочет) нужно через Терминал выполнить последовательно следующие команды: Получаем привилегии администратора:
sudo -s
Удаляем автозапуск:
rm /System/Library/LaunchDaemons/com.macdaily.trimautoenabler.plist
Удаляем патчер:
rm /sbin/trim_autoenabler
Переходим в папку с бекапом:
cd /System/Library/Extensions/IOAHCIFamily.kext/\ Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/
Смотрим какое имя у бекапа:
ls
Смотрим и запоминает имя IOAHCIBlockStorage_ВЕРСИЯОС_СБОРКА. Восстанавливаем оригинальный файл IOAHCIBlockStorage из резервной копии:
mv IOAHCIBlockStorage_ВЕРСИЯ_СБОРКА IOAHCIBlockStorage
Чистим кеш:
kextcache -system-prelinked-kernel; kextcache -system-caches
Перезагружаемся. В следующей версии добавлю функцию автоматического удаления. Ах да, вирусов и вредоносных кодов в пакете нет, но, на всякий случай я снимаю с себя ответственность из-за каких либо потерь 😉 Тестируем, отписываемся (может у кого-что не работает) – я оттестировал на OS X Lion (10.7) и OS X Mountain Lion (10.8).
Спасибо,Вам, за статью и утилиту, готовлюсь к SSD.
В связи с этим вопрос, на Маке обновление прошивки SSD каким образом проходит?
P.S. как Вам новые Samsung SSD 840 Series ?
Пожалуйста 😉 И можно на “ты”. На Mac обновление прошивки SSD проходит “тёмно” так как не все производители SSD’шек выпускают утилиты обновления прошивки именно под Mac. Но, на сколько я знаю, практически все производители выпускают утилиты обновления прошивки в виде загрузочных образов для CD/DVD/FLASH, так что проблемы с обновлением, в принципе, быть не должно. Главное – это “прямые” руки, трезвая голова и бекап 😉 SSD Samsung 840 серии это вообще жирный жир, 830 серия “перчила” своей производительностью, про 840 я вообще молчу. По мне – это самый лучший SSD (на сегодня), вторым в списке у меня Samsung 830 серии.
Это отлично,спасибо тебе за инфу!
Продолжай радовать обзорами и утилитами.
Не за что 😉
Буду-буду 😀
Вот здОрово! Tnx for AutoEnabler. А то постоянно забывал проверять его после Upgrade.
Первым из 2-х минусов вашей программы отмечено: “Нет оповещения о перезагрузке и нет выбора: перезагрузиться сейчас или позже (перезагрузка происходит автоматом)”.
Мне показалось, что я такое предупреждение получил, и только потом нажал “Перегрузить “.
А вот Удаление через Terminal не устраивает. Конечно, буду ждать его следующую версию.
Успехов вам во всем!
С уважением,
Удаление будет «допиленно» в скором времени.
Поставил программу на OS X 10.8.2, SSD Samsung 830 256 гб.
Полет в штатном режиме, TRIM активировался – после очередного обновления ОС отпишу комментарии.
Отпишись 😉 По идее всё должно быть ОК.
M4-CT064M4SSD на OS X 10.8.2
Все включилось и работает! Thx!
Пожалуйста 😉 И как Crucial чувствует себя под Mac?
а я вот обновился на 10.8.3 и поддержка trim осталась, кстати на 10.8.2 запустил его вашей утилитой TRIM AutoEnabler. Это так должно быть? просто думал что при каждом обновлении активировать нужно будет каждый раз
Я ещё не проверил обновляется ли кекст IOAHCIBlockStorage.kext, но вообще: «TRIM AutoEnabler не нужно запускать после каждого обновления ОС — при загрузке системы запускается модуль trim_autoenabler, быстренько проверяет пропатчен ли IOAHCIBlockStorage — если пропатчен, то всё ОК; если не пропатчен — делает бекап оригинала, патчит и перезагружает систему…». Поэтому TRIM AutoEnabler и называется «автоэнейблером» 😉
кстати система перезагрузилась два раза, я сначала не понял почему, теперь понятно))
это конечно хорошо но как я понимаю это утилита на макбук. Я себе планировал апгрейд и переход на SSD но не знаю сможет ли эта утилита работать на хакинтоше?Было бы интересно узнать есть ли такой опыт у кого нибудь из пользователей
Работает и на хакинтошах, проверялось. Только активация TRIM иногда плохо сказывается на SSD накопителях с контроллером SandForce 2.
Саша благодарю за подсказку.Придется покопаться в железе но думаю смогу с этим разобраться
Автору большое спасибо!
Я только не понял куда денег слать, нужен донейт!
Благодарю за тёплые слова. Не думал о донейт. Если нужен – добавим 😀
Отличная идея 🙂
Огромное спасибо автору, удалось, наконец, вновь активизировать Trim для M4-CT128M4SSD2 на 10.8.5. С терминальными командами ничего не получалось, хорошо, что ничего не порушил.
Не за что 😉
Mavericks вышел! Ждем обновления утилиты, ибо не работает, уперевшись в ограничение версии 10.9…
Скорее всего будет сегодня 😉
а для mavericks не работает
Да, это заведомо было сделано т.к. неизвестно, какой «сюрприз» мог бы приготовить релиз. Сегодня я уже протестировал новую версию патчера, так что к вечеру (надеюсь), опубликую новый пакет.
Нид хелп! Положил Мэйверикс на макбуке при помощи трим энейблера 3.1.2… Хотя на макмини все прекрасно работает. Теперь на макбуке умею ошибку Still waiting for root device. Скопировал через терминал немодифицированные IOACHIFamily и IOATAFamily.kext на прошку с макмини, очистил кеш, а грузиться прошка все равно не желает. Посоветуй, плиз, где копать… Спс!
Решил проблему сам. Вытащил оригинальные kext из инсталлятора, положил в Extensions, очистил кэш, восстановил права и только после этого все ожило.
Вывод – поспешишь – людей насмешишь. Жду с нетерпением обновления утилиты.
ПС: странно только, что на минике все ОК…
Mavericks ещё сыроват. Возможно что-то сбойнуло.
Ну когда же релиз? :)))
Так вот же 😉
Огромное СПАСИБО!
Не за что 😉
Спасибо вам большое за Mavericks! Куда денег то слать?
Не за что. Так что, нужна кнопка «Donate»? 🙂
Давно пора)
У меня прилетел сегодня MacBook Pro 13″ не ретина, SSD Samsung 840Pro 256Gb – все отлично работает)
Здравствуйте!
У меня при запуске инсталлера пишет: “Installation cannot proceed, as not all requirements were met.” Одна кнопочка “Закрыть”. Как посмотреть, какие требования не разрешены?
Спасибо
Хм… Проверю – отпишусь. Возможно это я протупил, указав максимальную поддерживаемую версию 10.9.0.
та же беда.
Здравствуйте! подскажите как скоро выйдет обновление для версии 10.9.1? и ещё, вы не в курсе случаем ssd plextor m5s 128gb поддерживает trim?
Приветствую! Уже вышло. Все новые SSD накопители поддерживают TRIM.
Mavericks 10.9.1, Mac mini Late 2013, SSD Samsung EVO 840. При установке получаю “Installation cannot proceed, as not all requirements were met.”
Поправлен установщик, перекачайте.
Mavericks 10.9.2 (13C64); MacBook Pro 13-inch, Mid 2012; Samsung SSD 840 PRO 128GB — все отлично работает, спасибо.
Mavericks 10.9.3 (13D65) MacBook Pro 1286 SSD CRUCIAL M500 CT240M500SSD1, 240Гб – отвалился TRIM после обновления. Переустановка не помогла.
КекстКеш командой нужно обновить. Я так и не допилил эту функцию (пока что).
Добрый день. На некоторых форумах пишут, что на Maverick 10.9.3 не работает. Если можно поправьте пожалуйста .
Приветствую! Работает, но кеш нужно по-прежнему чистить ручками и перезагружаться. Поправлю.
Странно я же вчера вводил тут сообщение?? Исчезло мое сообщение:( Слетел TRIM при update Maverick 10.9.3! Просьба сделать если возможно чтобы заработал TRIM на Maverick 10.9.3 Пожалуйста сделайте может чтобы не слетало после каждой версии. Кстати на других сайтах я видел сообщения что слетел TRIM у других пользователей при обновлении на 10.9.3
Нужно всего-навсего ручками почистить кеши (команду где-то вверху постил) и перезагрузиться. Пока нет времени запилить обновление, простите.
Вот и вышла 10.10, в ней программа соответственно не работает. Похоже Apple что-то поменяли и скрипты приводят к незагружаемости системы – приходится возвращать всё обратно. Не пробовали ли вы еще эту ос?
С серединки на половинку пробовал. Скрипт работает, но отныне OS X проверяет целостность цифровой подписи кекстов при их загрузке. Патченный кекст = повреждение цифровой подписи = kernel_panic. Пока можно всё завести ручками:
1) Отключаем проверку цифровой подписи (игнорим её):
2) Ручками патчим кекст:
3) Чистим кеш:
4) Перезагружаемся:
Добрый день. Спасибо за ответ. Новый вопрос: будет ли утилита работать на OS X Yosemite?
Будет работать, но чуть позже. Там немного изменился принцип: теперь OS X Yosemite проверяет целостность цифровой подписи у расширений. Если кекст (расширение) патченное, то система нифига не загрузится (паника ядра будет скорее всего). Посему после патчинга кекста нужно ещё отключить проверку цифровой подписи.
Спасибо за ответ.
Спасибо за утилиту. Ждем обновления для 10.10
Не за что. Ну её нужно доработать, знаю. Под 10.10 тоже работаю.
Поддержки 10.10 все еще нет? Или добавили?
Пока нет.
10.9.4 – поставил обновление, ну и как следствие – “Поддержка TRIM – Нет”. – что я делаю не так?
Ну и собственно кэш чистил, как написано ниже, программу переустанавливал..
sudo kextcache -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
Все равно не включается.
Перепроверю. Ещё не ставил 10.9.4.
Спасибо, жду. Пока живем без TRIM. Не понятно, кстати, для OWC Aura SSD надо ли использовать Trim, деталей не нашел.
Получил кстати ответ от производителя SSD – We do not recommend enabling TRIM with our SSDs. They have built in processes that can help to maintain them over time. TRIM can interfere with those processes and potentially cause issues with the drive.
Для справки – OWC Aura SSD
Та же фигня
у кого нибудь заработал Трим на 10.9.4?
Всё работает, но нужно кэш чистить:
1)
Вводим админский пароль.
2)
Перезагружаемся.
З.Ы.: Всё никак руки не доходят переписать скрипт, чтобы это всё на автомате делалось.
не помогает
Кеш нужно руками почистить и перезагрузиться. Недоделка с моей стороны, и времени подчинить пока нет 🙁
Спасибо за утилиту, но очень желанна поддержка 10.9.4. На автомате клацнул апдейт, и трим рухнул
Утилита совместима с public beta OS X 10.10?
Пока нет.
А планируется добавление поддержки 10.10?
Да.
А будет ли поддержка 10.10?
И еще вопрос: у меня стояла программа на 10.9.5, сегодня обновился на 10.10, собственно программа не накосят сама ничего (вроде читал что там автопатчинг и всё такое)?
Нашел опечатку в скрипте “TRIM AutoEnabler/trimautoenabler.pkg/Payload”
– нехватает двойной закрывающей кавычки
+ Хорошо бы вызывать /usr/bin/grep вместо grep. У меня например есть /usr/local/bin/grep, подменяющий grep на ggrep (gnu реализация – та что в linux используется), а он работает по-другому. В результате проверка на наличие строки из скрипта не срабатывает.
Хорошо бы исходники на github или bitbucket чтобы пакет вручную не раскурочивать, заодно и изменения будут видны.
За скрипт/сервис спасибо, полезный.
Огромное спасибо! Буду потихоньку возвращаться к блогу и навёрстывать упущенное.
10.9.5 – после чистки кеша полет отличный
Но все же нужно допилить эту проверку до автоматизма.
Нужно, но пока нет времени 🙁
Здравствуйте, а будет ли поддержка 10.10
Стоял TRIM enabler. установил yosemite и не прочитал про совместимость(( включил трим пока все работало и перезагрузился(( система не загружается( переустановка с флешки поверх не помогает( возможно как то через терминал вернуть старый файл или что то аналогичное??
на 10.10 что то все грустно с тримом. Эпл ввели защиту от модификации кекстов…. Есть шанс повторить утилиту?
Увы, на 10.10 не работает.
Пробовал ручками по примеру выше.
Когда будет релиз утилиты под 10.10?
Спасибо!
Замечательная утилита. Пользоваться на Maverics, Спасибо! Есть ли новости о поддержке 10.10?
Благодарю за отзыв. Под OS X 10.10 пока нет.
Как там с 10.10 ?
Пока тихо.
Не могу запустить утилиту на 10.10, не поддерживает данную версию?
Пока 10.10 не поддерживается.
Вопрос – работает ли режим TRIM по умолчанию на родном ssd диске, который сразу в маке шел? Или же активация TRIM нужна только когда меняешь ssd диск на какой-то другой, который эппл не поддерживает???
На оригинальный SSD TRIM работает «из коробки». Так точно, «активация TRIM нужна только когда меняешь ssd диск на какой-то другой, который эппл не поддерживает».
не могу установить(
пишут: Installation cannot proceed, as not all requirements were met.
Версия ОС?
Подскажите каким образом можно модифицировать файл установщика для возможности установки на Yosemite 10.10.2? Там у Вас явно установлено ограничение версии.
Подскажите что и как (чем) поменять в файле установщика что бы была возможность поставить на Yosemite 10.10.2? Вылетает ошибка что установщик не удовлетворяет всем требованиям (я думаю что Вами ограничена максимально возможная версия).
Не рекомендую (пока что) ставить этот пакет на OS X 10.10. Там поменялся способ патчинга (правильнее сказать не сам способ, а метод подписывания kext’ов), поэтому бездумное выполнение скрипта может «положить» ОС. До новой ОС пока не добрался. В процессе.
Добрый вечер, когда будет программка для Yosemite 10.10.2, очень жду:(((
Приветствую. Пока не знаю…
Обновил аймак на 10.10.2 и трим накрылся… Слезная просьба – делать что?)
TRIM AutoEnabler пока не работает на 10.10. Пока можно только вручную пропатчить.
В ручную к сожалению не получается пишет что не видит дериктории. Версия 10.10.2
Trim Enabler был установлен после установки Yosemite 10.10.2 и работал как-то сам, все время был активен. Сейчас после любой перезагрузки аймака он выключен, при включении – переводе в положение ON – выдается сообщение Please reboot for changes to take effect. Посл перезагрузки он снова OFF.
Что делать, непонятно, может быть, вы подcкажете?
В системе вот такое вот написано, про поддержку ТРИМ ни слова
Macintosh SSD:
Available: 160,23 GB (160 227 340 288 bytes)
Capacity: 239,2 GB (239 197 650 944 bytes)
Mount Point: /
File System: Journaled HFS+
Writable: Yes
Ignore Ownership: No
BSD Name: disk0s2
Volume UUID: A969C3AE-A08A-3928-B444-DE519A74BA87
Physical Drive:
Media Name: Corsair Force GT Media
Medium Type: SSD
Protocol: SATA
Internal: Yes
Partition Map Type: GPT (GUID Partition Table)
S.M.A.R.T. Status: Verified
Дополнение: комп купила у предыдущего хозяина, разбираюсь плохо, все ПО было установлено предыдущим хозяином.
В OS X 10.10 поменялся немного принцип патчинга расширений ядра, теперь для активации TRIM нужно делать немного больше манипуляций. Но, к сожалению, я не разбирался в принципе работы нового Trim Enabler, так что ничего подсказать не могу. Попробуйте написать разработчикам этой утилиты.
Добрый вечер не могу создать “Fusion Drive” на OC Yosemite 10.10.3 система не дает.В дисковой утилите отказывается форматировать SSD Samsung840evo. Создавать в Maverick,а потом обновлять? Как быть с TRIM? Спасибо
Диск SSD Samsung не форматируется в Mfverick
Спасибо за программу! Очень понравилась ее работа! Все просто и в стиле Apple!:-)
Спасибо, отличная утилита!
здравствуйте! есть вопрос! установил ссд самсунг и использовал Вашу утилиту! трим заработал. после обновления безопасности поддержка трима пропала.
я заново запустил Вашу утилиту, перезагрузил компьютер, но поддержка трима так и не появилась.
Вспомнил, что где-то слышал, что если почистить КЭШ может появиться поддержка трима.
Вошел в ТЕРМИНАЛ и написал:
sudo -s
ввел пароль администратора и далее
kextcache -system-prelinked-kernel; kextcache -system-caches
после этого действия просто закрыл окно терминала.
Перезагрузил.
ТРИМ появился!!!
Вопрос! Я все правильно сделал? ничего ненужного не удалил своими действиями и что делать после очередного обновления?
Нужно заново устанавливать программу или просто почистить КЭШ?
Приветствую! Значит не переживайте.
P.S.: А какая версия Mac OS X установлена? Начиная с OS X 10.10.4 TRIM можно активировать навсегда одной командой (предусмотрено самой Apple!).
Спасибо поставил на Maverick 10.9.5! Всё ок пока! SSD OCZ-VEKTOR 150 ставил на Macbook pro 13года в 14 году. Консерватор ))) не люблю менять оси, тем более , что в новых ни иконки мультяшные не нравятся, ни цвет шрифтов-всё блёклое какое-то не яблочное (я на Маке еще с Powerbook4 последние на IBM проце кстати жив и здравствует )))) ). Обновлялся и опять вернулся на 10.9. Пробовал руками , но чёта не так шло с паролем. Так что ещё раз спасибо!!!