Включение TRIM для SSD-дисков сторонних производителей в Mac OS 10.7

По умолчанию поддержка TRIM работает только для дисков, которые поставляет Apple. Для того, чтобы включить поддержку TRIM для сторонних SSD-дисков в 10.7.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

Следующая команда заменяет в модуле IOAHCIFamily.kext строку APPLE SSD на нули:

    sudo 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

После этого нужно почистить кеш модулей двумя следующими командами:

    sudo kextcache -system-prelinked-kernel
    sudo kextcache -system-caches

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

Trim Enabled

Если вдруг возникнет необходимость вернуть всё как было, можно восстановить файл из резеврной копии:

    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

И снова почистить кеш:

    sudo kextcache -system-prelinked-kernel
    sudo kextcache -system-caches

И, конечно же, перезагрузиться.

Дополнение. Этот же способ работает и в 10.7.2.