Problème après sudo trimforce enable sur yosemite

  • Créateur du sujet Créateur du sujet kinon
  • Date de début Date de début

kinon

Membre actif
20 Avril 2004
576
31
www.b-rome.com
Bonjour,
Après avoir lu que yosemite pouvait se passer de trim enabler j'ai tenté l'opération avec sudo.... Après redémarrage j'en ai profité pour zapper la pram puisque ce n'était plus interdit.
Re-demarrage correct. Puis après un passage de onyx redémarrage et...rien

Mon SSD Samsung n'a pas aimé...Redemarrage sur un clone et essai d'effacement du SSD, opération impossible (le disque le peut être démonté car utilisé par terminal)

Que faire?

EDIT: j'ai forcé à quitter le terminal et j'ai pu vérifier le disque avec outils DD il est correct mais impossible de démarrer dessus. copier mon clone est ce la solution?
Merci
 
Dernière édition:
Salut kinon.

La commande : sudo trimforce enable sous «Yosemite 10.10.4» réalise une copie d'une nouvelle kext (extension du noyau) Apple, du dossier qui recèle l'original (/System/Library/Filesystems/AppleDataSetManagement.kext) dans le répertoire des kexts "officiellement supportées" (/System/Library/Extensions). Et c'est tout ! Il suffit, en effet, que la kext en question soit présente dans ce dossier des Extensions-Système (et valide bien entendu) pour qu'au re-démarrage elle soit injectée par le boot_loader : boot.efi dans le kernel (noyau opérateur).

D'après mon expérience, l'extension en question ne perturbe absolument pas le fonctionnement de l'OS. D'ailleurs, tu avais redémarré sans anicroche. Le problème est venu de ton usage d'«Onyx» à qui tu as certainement dû demander de vider les Caches-Système. Ce qui a supprimé bien entendu le kernelcache (cache du kernel + kexts) que charge directement le boot_loader : boot.efi au démarrage. La question étant : avais-tu au préalable désinstallé formellement «Trim Enabler» ? Ou bien avais-tu laissé «Trim Enabler» en activité ? Si c'est le 2è cas de figure, il existe toujours alors dans le dossier-Système des Extensions la kext Apple spécifique que patche «Trim Enabler» (la IOAHCIFamily.kext). En resettant la mémoire NVRAM tu as fait sauter l'argument de boot "développeur" mis en place par «Trim Enabler» (le "kext-dev-mode=1"). Sans problème au re-démarrage suivant, car tu étais protégé par le kernelcache solidarisant un clone du code du kernel avec le bloc des extensions selon l'argument "all_loaded" (injecter toutes les kexts en bloc sans vérification). Mais quand, via «Onyx», tu as supprimé les caches-Système, tu as détruit le kernelcache et au re-démarrage suivant, sans cache de démarrage, le boot_loader : boot.efi a chargé directement le kernel, puis lancé l'injection des kexts une à une (à l'ancienne !). D'accord : mais dans ce cas de figure, comme le protocole du kext_signing avait été réactivé en NVRAM, l'EFI a passé au kernel (via le boot.efi) l'argument de vérifier l'intégrité de chaque extension Apple une à une. Arrivé à la IOAHCIFamily.kext toujours patchée, tilt !
361608_original.png
--> le kernel a stoppé le chargement de l'OS...

Si ma description concorde avec ce qui s'est passé, eh bien ! on peut dire que tu as exactement aligné toutes les démarches nécessaires, sans en rater une seule, pour planter ton OS.

Au cas où tu es bel et bien bloqué par le kext_signing (signal d'interdiction de stationner à l'écran au boot), alors la méthode 100% garantie de sauvetage (sans perte d'aucune données personnelles), consiste à démarrer sur la «Recovery HD» (⌘R au démarrage).

- a) D'abord, dans la fenêtre d'accueil des 4 Utilitaires OS X, lance l'«Utilitaire de Disque». Dans son panneau (colonne de gauche), vérifie que le volume de ton OS (2è ligne, en alinéa de la marge) n'est pas grisé (Macintosh HD) mais plein (Macintosh HD) - signe qu'il est bien monté. S'il était en grisé (car verrouillé suite à son chiffrement par «FileVault-2»), sélectionne-le et presse le bouton juste au-dessus intitulé : "Déverrouiller" --> dans le panneau qui te le demande, renseigne ton mot-de-passe admin de session dans «Yosemite» --> hop ! le volume de ton OS monte.

- b) Si, par prudence, tu voulais éjecter l'autre kext (la nouvelle Apple : AppleDataSetManagement.kext) du répertoire des Extensions (à mon avis, elle n'est pour rien dans tes ennuis), alors, après avoir quitté l'«Utilitaire de Disque» et avant de lancer la Ré-installation d'OS X, va à la barre supérieure de menus de l'écran, menu : Utilitaires et lance le «Terminal». Commence par saisir la commande :

Bloc de code:
ls /Volumes
et ↩︎ (presse la touche "Entrée" du clavier pour activer la commande) --> en retour, tu vois s'afficher la liste des volumes montés des disques actuellement attachés à ton Mac. Repère bien l'intitulé exact du volume de ton OS (c'est pour te rafraîchir la mémoire, cette commande - un peu redondante, je l'admets, de l'inspection que tu as faite juste avant du volume de ton OS dans la fenêtre de l'«Utilitaire de Disque»). Par défaut c'est Macintosh HD et je vais, dans la commande suivante, prendre cet intitulé en modèle, entre "" afin d'échapper l'espace libre entre les 2 mots et forcer la lecture comme intitulé d'un objet unique. Si le nom de ton OS était différent, tu remplaces mon Macintosh HD par le nom en question, à sa place exacte, entre "" par prudence.

Tu passes donc la commande de suppression de la copie de la kext Apple dans le dossier des Extensions (je te rassure : le modèle original - archè - est toujours présent dans son dossier de résidence : /Volumes/"Macintosh HD"/System/Library/Filesystems, disponible pour toute récidive de la commande sudo trimforce enable ultérieurement) :

Bloc de code:
rm -rf /Volumes/"Macintosh HD"/System/Library/Extensions/AppleDataSetManagement.kext
et ↩︎ (Attention à l'orthographe ! Et respecte les espaces critiques et les /).

- c) Quitte le «Terminal» pour activer, dans la fenêtre des 4 Utilitaires OS X, la fonctionnalité : "Ré-Installer OS X" en choisissant comme destination le volume de ton OS (tu devras t'authentifier par ton AppleID). Entre 2H et 3H de téléchargement des packages d'installation de la version d'OS X synchrone de celle de ton disque (soit «Yosemite 10.10.4»), puis 20' de ré-écriture des fichiers-Système (dont restauration de la kext IOAHCIFamily.kext à son intégrité Apple), enfin reconstruction du kernelcache de démarrage et hop ! tu pourras réouvrir ta session.

[NB. Cette "Ré-Installation" n'est en aucune façon une Clean Install suppressive des données et réglages d'utilisateur et des applications tierces ajoutées ; c'est une Restauration des fichiers-Système, préservatrice des données et réglages d'utilisateur et des applications tierces ajoutées.]​

 
Dernière édition par un modérateur:
Merci de ta réponse détaillée.
Pendant que tu écrivais ton message j'étais en train d'essayer de cloner ma sauvegarde sur le SSD.
Est-ce que la recup de cette sauvegarde suffit à rétablir l'ensemble comme c'tait avant (trim enabler actif et les kext etc...) (car Trim enabler est actif dans le clone mais je peux le désactiver si nécessaire) ou certains éléments modifiés ou manquants sont dans la machine pour le lancement?
 
Dernière édition:
Si tu as un problème de kext_signing réactivé en NVRAM, cloner le volume de ton OS d'après un clone dans le dossier des Extensions duquel la IOAHCIFamily.kext est toujours le version patchée par «Trim Enabler» a des chances de reconduire le problème à l'arrivée, car bien entendu le clonage ne relance pas le logiciel «Trim Enabler». L'argument de boot en NVRAM ne sera pas rectifié à l'argument "développeur" (autorisant des développeurs à tester sans plantage des kexts expérimentales sous «Yosemite»). Et le cloneur ne clone jamais le kernelcache - dans le meilleur des cas, il le reconstruit en fin de clonage sur le volume de destination, sans qu'il soit sûr que ça le fasse.

En effet, naguère, ayant volontairement planté mon Mac («Yosemite 10.10.2» x «Trim Enabler» x SSD «Crucial») en vidant le kernelcache et en resettant la NVRAM, j'avais tenté expérimentalement le rétro-clonage de mon clone sur le volume de mon OS afin de voir si ça permettait le re-démarrage : échec --> signal d'interdiction de stationner reconduit...

Si ton rétro-clonage échoue à te permettre de re-démarrer, alors je te conseille la Ré-Installation d'OS X via un démarrage sur la «Recovery HD». C'est un procédé plus long mais le succès final est 100% garanti. Évidemment, après ton rétro-clonage, il n'y aura plus dans le dossier des Extensions-Système la nouvelle kext Apple copiée par la commande sudo trimforce enable --> intutile donc de passer la commande de suppression dans le «Terminal» (car objet absent du dossier-cible). Et apparemment, si tu peux rétro-cloner directement, c'est que le volume de ton OS monte automatiquement sans être chiffré --> tu n'aurais qu'à lancer la Ré-Installation d'OS X à destination du volume de ton OS.
 
Dernière édition par un modérateur:
  • J’aime
Réactions: kinon
Ca marche! Je n'ai pas fait la modif B. Encore merci de ton intervention efficace.
Petite question: Donc en fait la commande sudo trimforce enable ne permet pas de resseter la NVRAM ou de supprimer les caches du noyau tout comme avec Trim enabler?
Donc en fait cette commande n'a pas plus d'intérêt que Trim enabler?
 
Apple a décidé de créer une nouvelle extension, délivrée avec la MÀJ 10.10.4 de «Yosemite» et partie prenante d'«El Capitan 10.10.11» (dès les bêtas), afin que les utilisateurs puissent activer le TRIM sur les SSD de tierce-partie. Cette extension étant signée Apple, la commande sudo trimforce enable en établit une copie dans le répertoire des Extensions qui passe l'examen du kext_signing. Donc (comme je l'ai personnellement expérimenté), une fois cette kext en place, on peut comme avant réinitialiser la NVRAM ou démarrer en "Safe Mode" (ce qui supprime les caches-Système entre autres) --> le Mac n'est nullement planté.

Cette nouvelle extension rend obsolète les services de «Trim Enabler» qui patchait une autre extension Apple et donc, pour neutraliser le kext_signing, inscrivait en NVRAM un argument "développeur" + reconstruisait un kernelcache à charger en bloc sans examen des extensions une à une. Avec la conséquence que l'utilisateur ne pouvait pas réinitialiser la NVRAM ni vider les caches-Système sans planter le Mac.

Mais quelqu'un qui veut "switcher" du procédé de tierce-partie «Trim Enabler» au procédé ©Apple : sudo trimforce enable doit toujours, au préalable, lancer une dernière fois «Trim Enabler» en lui demandant la désactivation de son procédé --> le logiciel va donc restaurer la kext Apple patchée à son intégrité initiale (par copie conforme de celle résidant dans le système de démarrage de la «Recovery HD»), supprimer l'argument "développeur" en NVRAM et reconstruire le kernelcache pour rétablir la situation première. Cette situation "remise à zéro" autorise désormais le reset_NVRAM et le démarrage en Safe Mode. C'est ce que toi, tu n'avais pas fait, avec la conséquence que le dossier des Extensions gardait une kext patchée qui t'exposait au plantage en cas de reset.

C'est alors seulement qu'on peut (après suppression éventuelle de «Trim Enabler») "switcher" au procédé sudo trimforce enable ©Apple : ce procédé n'expose pas intrinsèquement au plantage car il passe l'examen du kext_signing et donc autorise tous les resets qu'on veut.

En ce qui te concerne à l'heure actuelle, si tu as rétabli ton système via la fonctionnalité "Ré-installer OS X" (ce que je crois comprendre d'après ton dernier message), alors la situation des extensions chez toi est nette et la NVRAM aussi puisque tu l'avais ré-initialisée et «Trim Enabler» est désactivé. Il te faut donc éviter de relancer «Trim Enabler» et "switcher" au procédé Apple par la commande sudo trimforce enable (car le rétro-clonage que tu as opéré entre temps a supprimé de ton dossier des Extensions la copie de la nouvelle kext d'Apple) --> à partir de là, tu n'as plus de problèmes, tu peux vider les caches-Système quand tu veux ou refaire un reset de la NVRAM.

Après re-démarrage, en allant à : Menu /À propos de ce Mac/Rapport Système.../Matériel/SATA/Arborescence des péripéhriques ATA série (colonne de droite) --> si tu cliques sur la 2è ligne mentionnant le nom de ton SSD : tu peux lire dans les informations en-dessous : Prise en charge du TRIM: Oui.
 
Dernière édition par un modérateur:
Parfait je vais faire ça. Si je t'ai bien compris après je peux donc vider les caches noyau, même avec onyx?
mais en fait comme j'avais cloné mon disque avant de relancer la re-install, Trim enabler était activé au démarrage après réiinstallation. Est ce qu'il a pu installer le fichier en question?
Sinon je le désactive puis je redémarre?
 
Dernière édition:
Lance «Trim Enabler» et regarde dans son panneau si le bouton est sur Off ou sur On. S'il est sur On, il te faut re-déplacer le curseur sur Off, afin que le logiciel remette les choses à zéro (en restaurant la kext Apple patchée). Après re-démarrage, tu es bon. Si le curseur est sur Off, tu n'as rien à faire, il n'y a pas de kext patchée --> tu n'as plus qu'à oublier le logiciel.

Un fois cette question réglée, il ne te reste plus qu'à repasser la commande sudo trimforce enable pour que le TRIM soit géré par la nouvelle kext Apple d'une manière qui n'expose plus à des mécomptes en cas de reset_NVRAM / vidage des caches-Système. Ce qui implique un nouveau re-démarrage. Après lequel, si tu as la curiosité de relancer alors «Trim Enabler» (en laissant son curseur sur Off !), tu peux lire la mention : « le patch est inactif mais le Trim fonctionne. Vous avez probablement un SSD Apple où le Trim est activé par défaut » - déclaration pleine de saveur qui te garantit que tout est OK chez toi.
 
Bonsoir,
Je me permets de relancer ce fil sur le sujet de trimforce que macomaniac semble connaitre à fond.
Ayant migré d'un mac mini late 2009 vers un late 2012 2,6GHz Quad i7 16Go avec SSD j'ai constaté un comportement instable avec des kernel panic, ce qui ne m'était jamais arrivé. Après m'etre posé beaucoup de question concernant le matériel que je venais d'acquérir en occasion et mes applis, configs, j'ai découvert sur de multiples forums que de nombreuses personnes ont eu des difficultés similaires, dépendant du matériel (souvent meme modèle que moi) , notamment la carte graphique semble-t-il. Ces difficultés sont toujours apparues après migration en 10.10.3 ou ultérieur. Je suis donc revenu en 10.10.2 qui pour l'instant est stable (je touche du bois).
Le problème est qu'en 10.10.2 trimforce n'existait pas et je ne veux pas forcer la sécurité avec Trim Enable.
J'ai donc essayé de récupérer la fonctionnalité trimforce (j'ai copié l'exécutable trimforce et la kext correspondante).
le trimforce enable s'exécute bien sans erreur mais le verdict du rapport système est négatif : Prise en charge de Trim : non
Que manque-t-il pour arriver à positionner le trimforce ? ou est-ce tout simplement impossible ? Merci.
 
Salut gibus.

La commande :

Bloc de code:
sudo trimforce enable
déclenche la recopie dans le dossier : /System/Library/Extensions d'une extension AppleDataSetManagement.kext qui n'y réside pas d'entrée, mais qui est tenue en réserve at: /System/Library/Filesystems (c'est donc une extension "optionnelle") --> dans les conditions ad hoc, au re-démarrage du Mac, la nouvelle kext résidant dans le dossier de chargement des extensions se trouve injectée dans le kernel en début de boot et... le TRIM est pris en charge.

Sauf qu'il faut pour ça que le kernel supporte l'injection de la kext en question. Or seul le kernel mis-à-jour sous «Yosemite 10.4 et >» supporte cette injection de la AppleDataSetManagement.kext. Donc : sous «Yosemite 10.10.2», tu as beau avoir la AppleDataSetManagement.kext présente dans le bon dossier de chargement (celui des Extensions), et le boot_loader : boot.efi démarrer le kernel avec la tâche d'injection des kexts du dossier des Extensions (ensemble combiné dans le cache de démarrage : kernelcache) --> le kernel non mis-à-jour de «Yosemite 10.10.2» rejettera le chargement de l'extension : AppleDataSetManagement.kext qui restera désactivée.

En résumé : ta seule solution pour activer le TRIM sous «Yosemite 10.10.2» est de revenir à «Trim Enabler» avec les limitations impliquées : ne jamais faire un reset_NVRAM ; ne jamais faire un démarrage en "Safe Mode" (dit : "Sans Extensions") qui implique aussi la suppression du cache de démarrage kernelcache ; ne jamais non plus vider les caches-Système impliquant le kernelcache - si tu ne veux pas planter ton OS.

Trim Enabler» modifie une kext déjà présente dans le dossier des Extensions : la IOAHCIFamily.kext chargée de gérer le TRIM sur les SSD Apple d'usine, afin qu'elle prenne en charge aussi le TRIM sur des SSD tiers. Ce procédé entre en conflit avec le protocole (kext_signing) de la vérification d'intégrité des extensions Apple natives au démarrage instauré sous «Yosemite» - ce qui force «Trim Enabler» à mettre en place une parade complexe, qui ne résiste qu'aussi longtemps qu'on s'abstient de manœuvres compromettantes].
 
Merci pour cette réponse (très rapide) qui confirme ce que je craignais ...
Je suis un peu rétif pour le Trim Enabler version non-secure, meme si je n'exclus pas y avoir recours si la situation perdure.
Il y a peut-etre un compromis en faisant un peu le "ménage" de temps en temps, si je boote sur un autre disque (clone), puis-je passer une commande qui va "nettoyer" mon SSD système ?
Après reste le doute (polémique) sur l'incidence de fonctionner sans Trim...
 
Tu peux acheter ☞Disk Sensei☜ créé par le même développeur que celui de «Trim Enabler» et qui permet (entre autres services) d'activer le TRIM sur un SSD comme tâche ponctuelle (laquelle, pour se compléter, prend quand même pas mal de temps en toile de fond de session). Mais il faut thuner 20 piastres pour ça.