Как включить TRIM для сторонних SSD накопителей в macOS начиная с OS Yosemite по Sonoma.

После выхода OS X El Capitan моё отношение к Apple снова начало меняться в положительную сторону. Не знаю что произошло, но «яблочная» компания снова начала делать небольшие шаги в сторону пользователей. Помимо новых удобных и полезных фишек, Mac OS 10.11 обзавелась ещё одной полезной вещью (которую потом даже в предыдущую версию MacOS 10.10.4 добавили с патчами). Особенно полезной она будет для тех маководов, которые до сих пор сидят на компьютерах Mac без штатного SSD, и которые сами производили апгрейд своего iДевайса быстрым SSD накопителем стороннего производителя. Но обо всём по-порядку.

Не трудно догадаться, что речь сейчас пойдёт о вещи под названием TRIM. Я уже не раз поднимал эту тему, но с вашего позволения ещё раз напомню, что же это такое:

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

Иными словами, на системе, где не работает TRIM, твердотельный накопитель со временем (примерно после полного цикла записи всего объёма) станет работать медленнее. На компьютерах Mac, которые изначально поставлялись с SSD накопителем, TRIM работает прямиком «из коробки». А вот для пользователей, которые в свой Mac сами устанавливали SSD накопитель от какого-либо другого бренда, ситуация немного другая. Виду «странной» политики компании, «завести» TRIM в OS X для сторонних SSD’шек оказалось не так уж и просто. Для этого нужно было патчить системный драйвер (KEXT – расширение ядра), и делать это приходилось практически после каждого обновления системы. С выходом OS X Yosemite ситуация ещё немного ухудшилась, так как в OS X 10.10 системные расширения и утилиты стали подписывать цифровой подписью, которая нарушалась при патчинге KEXT’а. Без цифровой подписи ядро операционной системы отказывалось грузить драйвер, без драйвера не запускался накопитель. В итоге операционная система переставала грузиться. Естественно, вскоре было найдено решение этой проблемы в виде специального параметра, который записывался в NVRAM и указывал ядру ОС, что неподписанные драйверы нужно всё равно загружать. В общем, был головняк. Но «Капитан» всё изменил, принеся глоток свежего воздуха маководам-самоделкиным…

Начиная с OS X Yosemite (10.10.4) для активации 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.

Проверка состояние команды TRIM в OS X

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

Share this article
0
Share
Prev Post

Предсказание будущего. Или что ожидает человечество в ближайшие 25 лет.

Next Post

Around me – Геолокационная социальная сеть

Comments 75
  1. Спасибо за информацию о таком лаконичном решении. Использовал на Yosemite 10.10.5

  2. То есть эпл пошли навстречу пользователям?
    Теперь можно удалять Trim Enabler?

  3. Здравствуйте!
    Позвольте разместить вашу прекрасную статью на моём сайте. Естественно, с указанием первоисточника. Эта тема волнует многих пользователей.

      1. Я профессиональный фотограф. Стаж 35 лет. Автор 12 книг по фотографии и цифровой обработке. На старом сайте были описания книг. На новый нет времени сделать. Вы по сайту погуляйте. Там про меня всё написано )))

        1. Ого-гошечки! Я столько не прожил, сколько у Вас стаж в фото 🙂 Сейчас просмотрел Ваш сайт поверхностно, по свободе изучу глубже.

  4. Здравствуйте !
    Есть маленький вопрос …. Как отключить гибернацию в El Capitan ? раньше это была команда ” sudo pmset -a hibernatemode 0 ” но теперь она не работает , все равно через некоторое время индикатор гаснет и запускается компьютер с кнопки.

    1. Приветствую!
      Судя из официальных мануалов ничего не поменялось: гибернация должна отключаться командой:

      sudo pmset -a hibernatemode 0
      

      Возможно дело в этом:

      STANDBY ARGUMENTS
           standby causes kernel power management to automatically hibernate a
           machine after it has slept for a specified time period. This saves power
           while asleep. This setting defaults to ON for supported hardware. The
           setting standby will be visible in pmset -g if the feature is supported
           on this machine.
      
           standbydelay specifies the delay, in seconds, before writing the hiberna-
           tion image to disk and powering off memory for Standby.
      
           autopoweroff is enabled by default on supported platforms as an implemen-
           tation of Lot 6 to the European Energy-related Products Directive. After
           sleeping for  seconds, the system will write a hiber-
           nation image and go into a lower power chipset sleep. Wakeups from this
           state will take longer than wakeups from regular sleep.
      
           autopoweroffdelay specifies the delay, in seconds, before entering
           autopoweroff mode.
      

      Я ж без понятия о какой машине идёт речь 😉

      1. MacMini md388- только чуть модернизированый ,ssd поставил и увеличил оперативную память.
        Решил пока сделать так :

        sudo pmset -a hibernatemode 3
        sudo pmset -a autopoweroffdelay 86400

        Перегрузил.
        Если не пойдет в гибернацию через 5 часов -выполню команду :

        sudo pmset -a hibernatemode 0

        И опять перегружу,может глюк какой.

  5. Все , потестил !
    Раньше как было, когда комп спит- на передней панели мигает индикатор… если гаснет ,то он ушел в гибернацию и запускать надо с кнопки.
    Теперь при обновление на El Capitan индикатор мигает часа два потом гаснет , но при нажатии на клавиатуре он просыпается и все хорошо! Вообщем кажется что компьютер отключен ,но он на самом деле спит . Вот как то так…
    И еще есть маленький вопрос … Есть ли программа которая показывает какой объем информации был уже записан на SSD , вообщем хотелось бы посмотреть ” Здоровье ” SSD диска.
    Нашел скрипт – только на Mac он наверно не запустить. http://www.jdgleaver.co.uk/blog/2014/05/23/samsung_ssds_reading_total_bytes_written_under_linux.html Хотя написано что для Linux.

    1. Программы подобные точно есть, но названия не подскажу. Не интересовался подобным. А скрипт, приведенный по ссылке, должен и под OS X работать. Только для его работы нужна утилита smartctl, которую можно установить с MacPorts:

      sudo port install smartmontools
      
  6. к сожалению не получается активировать TRIM на 10.11.1(MBP 13 8.1 начало 2011), ни через терминал ни через Хамелеон(
    Кто подскажет что делаю не так, в терминале после ввода “sudo trimforce enable” пишет что комплект и перезагружается, но после запуска вылетает синтаксическая ошибка и соответственно в диспетчере не появляется трим.
    Диск sandisck ultra 2, в описании заявлена поддержка, так же в хамелеоне отображается что три поддерживается, единственное что смущает хамелеон пишет “Trim: Apple only”.

      1. Только что активировал на хаке. Ноут от acer, ssd установил сам. В инфо трим включился. Все ок

  7. Просветите пожалуйста. После перезагрузки в терминале появилось следующее:
    [Восстановлен 23 дек. 2015 г., 0:06:27]
    Last login: Wed Dec 23 00:06:24 on console
    -bash: /Users/***************/.bash_sessions/CB9517CC-5C38-434B-98A3-08140910E755.session: line 1: syntax error near unexpected token `(‘
    -bash: /Users/***************/.bash_sessions/CB9517CC-5C38-434B-98A3-08140910E755.session: line 1: `echo Restored session: среда, 23 декабря 2015 г. 00:04:54 (MSK)’
    Mac-mini-Tatiana:~ ***************$
    Это как расценивать?!
    Mac mini, не Хак.

  8. Точно систему не умрет и не придётся ставить заново при активации трим на стороннем SSD?

    1. У меня не умер. Несколько раз на нескольких машинах активировал – всё ОК, полёт отличный.

  9. Добрый день!
    Вопрос несколько не по теме, но может быть Вы знаете ответ или место, где его можно посмотреть. У меня Mac Book Pro 13 дм выпуска середины 2009 года с контроллером SATA NVidia MCP79. Никакие попытки подключить к нему SSD не удались. Пробовались два SSD Kingston и SCZ, две OS 10.6.8 и 10.11 во всех комбинациях. Во всех вариантах диск виделся и правильно определялся, но операции с данными (и чтение и запись и форматирование) шли со скоростью 1 мб в минуту. TRIM установлен. Заранее спасибо!

      1. MacBook Pro 13 mid 2009. КОнтроллер Nvidia MCP79. Подключал Kingston suv300s37a/120G. SSD был поставлен на место старого HDD. Пробовал проводить установку системы с родного DVD-диска, с установочной флэшки (El Capitan), сетевую установку со скачиванием образа с серверов Apple, клонировать систему со старого диска на SSD… Все безрезультатно. В разные моменты виснет: после перезагрузки, во время копирования установочных файлов, во время загрузки. Так и не победил 🙁

  10. Прошу прощения, у меня МакБукПро (середина 2014), и поставлялся он изначально с SSD.
    Информации о системе все как у Вас, т.е.:
    Поддержка TRIM: Да
    Означает ли это, что ничего мне включать не нужно? Поскольку термин “поддержка” для меня значит “возможность использования”, а не что эта возможность задействована. Спасибо за ответ!

    1. Емкость: 251 ГБ (251 000 193 024 Б)
      Модель: APPLE SSD SM0256F
      Ревизия: UXM2JA1Q
      Серийный номер: S1K4NYAF820735
      Очереди собственных команд: Да
      Глубина очереди: 32
      Съемный носитель: Нет
      Внешний накопитель: Нет
      Название BSD: disk0
      Средний тип: Твердотельный
      Поддержка TRIM: Да
      Тип карты разделов: GPT (Таблица разделов GUID)
      Статус S.M.A.R.T.: Проверен

    2. Если Mac изначально поставлялся с SSD, то ничего активировать не нужно. Apple автоматически использует необходимые параметры для своих “родных” комплектующих/устройств.

  11. Поставил ssd вместо основного hdd. При запуске и установке системы выдаёт ошибку “при подготовке к установке произошла ошибка…” Что делать?

  12. Можно ли активировать ТРИМ с кучей файлов и пр. на борту? Я установил SSD в старый макбук уже давно, а про трим узнал недавно. Могу я просто активировать его, ничего не переустанавливая и быть уверен, что все останется по-прежнему?

    1. Привет!
      Во-первых, для того, чтобы включить TRIM нужно работать от лица администратора (sudo …), а для этого нужно, чтобы на админа обязательно стоял пароль (если пароль стоять не будет, то команду от sudo выполнить не удастся). Второй момент: при вводе пароля в окне терминала вообще никак не отображается его ввод (ни точками, ни звёздочками). То есть, его нужно вводить «вслепую».

      Пробуй, должно получиться 😉

  13. Приветствую!!

    У меня Макбукпро 13′ 2012.
    Родной HDD полетел, вот решил сразу SSD поставить купил SAMSUNG 850 EVO 250Gb.
    Разобрал поставил как нужно, диск видит, но не фарматирует, не разделяет. Выходит ошибка : “Не удалось стереть данные с тома для предотвращения случайной проверки в будущем”
    А когда через USB подключаю все работает и ОС ставится!

    Уже даже незнаю что делать!

    Подскажите кто что знает.

      1. А как это сделать на макбуке?

        я перетыкал все в дисковой утилите на все выдает ошибку.

        Я отослал SSD обратно поставщику мне перезвонили и сказали что все нормально работает, сказали нужно отформатировть.
        А может ли это быть чтото со шлейфом ?

        1. А SSD ставился вместо штатного или вместо DVD привода через OptiBay?
          P.S.: Может и в шлейфе проблема.

    1. У меня было то-же самое. В интернетах говорят, что это шлейф плохой и не тянет 6G/s. У меня решилось подключением в другой разъём (вместо cd, а не штатного hdd) – там шлейф совсем короткий – может по-этому лучше работает. Ну некоторые ещё шлейф новый покупают.

      1. Пока еще не пробовал вместо CD, нужно тогда попробовать.

        Спасибо огромное а то уже месяц никак ничего сделать не получается.
        Как опробую отпишу с результатом.
        Кстати а какой серийник на Шлейф у Макбука MD101 13′ 2012 год? Поможет ли смена шлейфа?

  14. а что делать если стоит 10.10.2 и нет возможности обновиться – как то по другому можно активировать Trim?

  15. Спасибо тебе добрый человек! Все понятно и доступно без танцев с бубном (я про всякие трим-включалки).

    1. Внизу статьи: “P.S.: Кстати, такой метод активации команды TRIM работает во всех новых операционных системах, начиная с OS X El Capitan 10.11. И даже добавили в OS X Yosemite начиная с версии 10.10.4.”

  16. Спасибо автору огромное . Поставил на Mac mini samsung evo850 и trim не работал . Прогой Chameleon SSD Optimizer ничего не вышло, а Ваш совет помог, Trim заработал!

  17. Прошу помощи.
    После выполнения данной команды не могу загрузиться. У меня iMac 2011, стоит Sierra.
    До этого тот же самый диск с включенным TRIM использовался на ноутбуке (скорее всего включал на Yosemite, и не знаю, сохраняется ли включенность при апгрейде до ElCapitan).
    Сейчас после перезагурзки — полоса загрузки под яблоком — или остается пустой или не доходит до конца. Потом экран становится серым.

    Пока не получается даже в рекавери загрузиться.

  18. Здравствуйте, а можно ли таким образом включить TRIM на внешнем SSD Toshiba подключенном через USB3.0?

    1. На внешних накопителях такие финты не работают (как и SMART) т.к. USB – это интерфейс не ATA-совместимый.

  19. Привет. После активации TRIM, система стала загружаться секунд 50! До этого примерно 12!!! Диск INTEL, стоит в OptiBay. Это нормально?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Read next