Menú principal

sábado, 26 de septiembre de 2015

Do it Yourself: Sustituir el DVD por un SSD en Macbook Pro & Habilitar TRIM en OS X Yosemite

Desde que me hice con mi Macbook Pro de 13”, allá por 2012, siempre he lamentado no haberlo adquirido con un disco SSD de serie, pero en aquel entonces el coste se disparaba bastante, a la par que las capacidades de almacenamiento eran bastante limitadas. No escatimé en elegir el modelo con procesador i7 y 8Gb de RAM, pero con un disco HDD convencional de 500 Gb. Desde entonces, siempre he pensado en cambiar mi disco por un SSD, o realizar un hack muy habitual en la gente que dispone de estos modelos, que consiste en cambiar el lector de DVDinterno que viene con el portátil, por un SSD.

Para ello se utiliza un adaptador que se puede comprar online en diferentes sitios de la red, para así poder operar con los dos discos, de cara a tener el sistema operativo en el disco SSD (ya que ofrece mejores resultados en cuanto a rendimiento y velocidad), a la par que utilizar el HDD que venía de serie para almacenar la información.

Pero como seguramente les sucede a todos los que trabajan en este sector, mi equipo es casi una prolongación de mí mismo, que me acompaña allá donde voy, tanto si es para trabajar en la oficina, como para ir de viaje en tren o en avión, así como para dar una de las miles de charlas que heimpartido durante mi etapa en estos dos últimos años en INCIBE. Así que no me he puesto a ello hasta verme obligado por fuerza mayor, cuando el rendimiento del Macbook ha comenzado por degradarse paulatinamente hasta quedar prácticamente inutilizable, debido a un problema físico del disco HDD interno, además como suele suceder en estos casos en los que se cumple la dichosa ley de Murphy, días antes de un viaje a Colombia en el que necesitaba el equipo para impartir una charla y un taller práctico en un congreso al que fui invitado como ponente.

Figura 1: Dando charla con el MacBook después del arreglo

Es entonces cuando me dispuse a acometer la modificación descrita anteriormente, adquiriendo para ello este kit de OWC, que además del propio disco duro SSD a instalar (un Samsung 850 Evo en este caso), viene con un adaptador que permite incluir el disco en la bahía donde normalmente está la unidad de DVD interna, así como una carcasa externa que permite conectar dicha unidad cuando se requiera, y los destornilladores necesarios para efectuar la instalación.

Figura 2: Instalación de una segunda unidad de disco

Como he relatado anteriormente, estuve postergando el momento de realizar el cambio hasta que la situación llegó a ser crítica, pues cuando intentar trabajar con el Macbook se convirtió en algo totalmente impracticable, el primer paso fue arrancar la “Utilidad de Discos” de cara a buscar errores en el disco HDD original que venía de serie. El diagnóstico como imaginaba no era nada alentador. El disco tenía errores, y la única posibilidad de intentar repararlo era ejecutando la propia Utilidad de Discos pero desde el menú de recuperación de OS X, al que se accede iniciando el ordenador mientras se pulsan simultáneamente las teclas comando y R, hasta que aparece el logotipo de Apple.

Figura 3: Menu de recuperación de OS X

Al intentar reparar el disco desde la partición de recuperación, cumpliéndose una vez más la ley de Murphy, el proceso se interrumpía antes de llegar a su conclusión, por muchas veces que lo ejecutara, y la Utilidad de Discos sentenciaba. El disco no se podía reparar, y lo que es peor, el equipo no volvería a arrancar.

Llegados a este punto, la solución era clara. Montar cuanto antes el nuevo disco SSD en el equipo, realizar una instalación limpia del S.O, restablecer la información a partir de una copia de seguridad de Time Machine, y posteriormente montar el disco HDD para ver si era posible acceder a la información que en él se encontraba almacenada. La primera pregunta que a uno se le viene a la cabeza es: ¿Cómo instalo el S.O. en un disco totalmente virgen sin disco de instalación? (no había descargado Yosemite ni creado un disco de instalación). Estaba claro que la respuesta pasaba por utilizar la partición de recuperación de OS X, o la opción de recuperación por Internet.

Figura 4: Menú de recuperación por Internet de OS X

El esquema final iba a ser el descrito inicialmente: el disco SSD con el S.O instalado, montado en la bahía de la unidad de DVD sobre el adaptador OWC que permitiera encajar el disco en el espacio sobrante, y el disco HDD para almacenar la información en la bahía donde originalmente venía. Pero como ahora disponía de un disco HDD inutilizable, era más rápido sustituir dicho disco por el SSD en un primer paso para ir instalando el S.O. Aquí es cuando me surgió una duda que ni tras indagar un poco en la red, ni incluso consultando con técnicos especializados de diferentes servicios técnicos oficiales de Apple, pude resolver de manera clara: ¿dónde está la partición de recuperación del sistema? ¿En el propio disco donde está el sistema, o en algún módulo de memoria que pueda traer el equipo?

Figura 5: Extrayendo la unidad interna del DVD del MacBook Pro para montar disco SSD

Al final, sólo la experimentación lleva al conocimiento, así que tras sustituir en primera instancia el disco HDD por el SSD (para no tener que así extraer la unidad de DVD ni montar el SSD en el adaptador), me di cuenta que lamentablemente la partición de recuperación donde se encuentran tanto el menú de recuperación OS X como el menú de recuperación por Internet se encuentran en el propio disco HDD junto con el sistema operativo y el resto de información, por lo que no me quedo otra que volver a ir a por todas, volver a colocar el HDD en su sitio, extraer la unidad de DVD y montar allí el disco SSD. He aquí el resultado final:

Figura 6: Disco SSD instalado sobre OWX Doubler en la bahía original de la unidad interna de DVD

Otro aspecto interesante de la recuperación de OS X, es que dependiendo de la opción elegida se instala una versión el sistema operativo u otra. Si se utiliza la recuperación normal, como se indica desde la propia página de soporte de Apple se instala la versión más reciente del sistema que hubiese instalada en el ordenador, en este caso OS Mavericks. Sin embargo, si se utiliza la recuperación por Internet, se instala la versión con la que venía de serie el equipo, es decir, Lion. Como recordamos, el disco original HDD se encontraba dañado, así que no fue posible instalar Mavericks desde el menú de recuperación normal. Por lo que no me quedó otra que arrancar la recuperación por Internet, para descargar e instalar Lion. Una vez que el equipo arrancaba ya desde el SSD con el S.O Lion instalado ya era posible descargar e instalar Yosemite desde la Apple Store.

Figura 7: Descargando OS X Yosemite en el SSD con
OS X Lion recién instalado con la recuperación por Internet

Lo curioso es que en este caso no se realiza una instalación limpia de Yosemite, sino que se instala sobre la instalación de Lion, por lo que para poder disponer de una instalación limpia de la última versión del sistema en el nuevo disco SSD tocaría instalarlo sobre Lion, volver a arrancar el menú de recuperación, para ahora sí por fin instalar Yosemite desde cero, ya que como bien explicamos al comienzo del párrafo, desde el menú de recuperación normal se puede volver a instalar la versión más reciente del sistema que hay instalada en el equipo.

Figura 8: OS X Yosemite en el nuevo SSD

Una vez que tenemos ya instalado el sistema operativo en el nuevo disco SSD montado en la bahía donde originalmente iba el DVD, la odisea no ha terminado aún. Toca investigar acerca de cómo habilitar la famosa orden TRIM. Pero antes de nada, conviene aclarar qué es eso de la instrucción TRIM, ya que es muy probable que los que no hayan experimentado aún con discos SSD no conozcan tan siquiera la existencia del término.

Cada vez que se elimina un fichero en nuestro sistema, los datos continúan en el disco en segmentos llamados bloques. Estos bloques no son eliminados hasta que no es necesario volver a utilizarlos para escribir nuevos datos. Debido a limitaciones técnicas en el diseño de las memorias flash NAND, sólo se pueden eliminar bloques completos. Esto quiere decir que cuando se necesitan escribir nuevos datos, el SSD debe realizar previamente operaciones de limpieza y mantenimiento de bloques, que consumen tiempo y ralentizan el proceso de escritura, ya que a priori la unidad de estado sólido no dispone de la información acerca de qué bloques se pueden eliminar.

TRIM es una orden que nace con el objeto de solventar este problema, y permite al sistema operativo comunicarle al SSD qué bloques de datos ya no están en uso, en aras de que puedan ser eliminados directamente, evitando así un elevado número de operaciones durante el proceso de escritura. El propósito de la orden es mantener la velocidad del SSD durante toda su vida útil

Figura 9: Borrado y escritura de bloques con y sin TRIM en discos SSD

Habilitar la orden TRIM es por tanto un must a la hora de trabajar con discos SSD, ya que en caso contrario el rendimiento del disco se ve claramente degradado a lo largo del tiempo a medida que todos los bloques hayan sido escritos al menos una vez. Activarlo es un tema que no tendría mayor trascendencia, si no fuese por lo que suele suceder en muchas ocasiones en el mundo Apple. Hasta hace unas semanas, Apple no permitía habilitar el soporte para la instrucción TRIM en discos SSD de terceros, que no fuesen los instalados por la propia compañía de la manzana. Esta limitación se podía salvar en anteriores versiones de OS X, utilizando herramientas como Trim Enabler, de Cindori (una compañía especializada en desarrollo de software para OS X), que permitía habilitar TRIM en unidades de estado sólido de otros fabricantes.

Sin embargo, a la hora de lanzar Yosemite, Apple introdujo una nueva medida de seguridad conocida como kext signing, que comprueba mediante validación de firma a la hora de arrancar el sistema que todos los drivers cargados no hayan sido alterados por terceras partes, sino que hayan sido verificados por Apple. Si alguno de los drivers ha sido modificado, Yosemite no lo cargará, de cara a prevenir así la posible ejecución de software malicioso. El kext signing es una medida que refuerza la seguridad de los dispositivos Apple, pero la contrapartida es que añade una clara restricción a la hora de habilitar el soporte para TRIM en discos de terceros. De hecho, hasta hace poco la única alternativa posible para realizar esto en Yosemite pasaba por deshabilitar el kext signing, con el consecuente riesgo de seguridad que ello conllevaba, así como los problemas que introducía a la hora de actualizar el sistema a medida que se liberasen nuevas versiones. Es por esto que, en aquel momento tras investigar y documentarme un poco, en mi caso decidí no deshabilitar el kext signing para poder activar TRIM, y esperar por contra en aras de ver si el escenario cambiaba con el paso del tiempo.

Figura 10: Comando trimforce incluido en OS X Yosemite 10.10.4

La verdad que la espera fue muy corta y mereció la pena, porque tan sólo unos días después, Apple liberó la versión 10.10.4 de Yosemite, en la que como novedad destacada incluía el soporte para habilitar TRIM en discos SSD no originales de Apple, a través del comando “trimforce”. Gracias a esta nueva funcionalidad, y a que la compañía ha facilitado un certificado válido kext a la gente de Cindori, también es posible habilitar TRIM a través de las herramientas Trim Enabler 3.4 o Disk Sensei 1.2. Como podéis imaginar, a día de hoy mi disco SSD, con Yosemite actualizado a su última versión, ya tiene habilitado felizmente el soporte para TRIM, y mi equipo está listo para volver a la carga después de las vacaciones

Figura 11: Disk sensei 1.2 mostrando el informe de estado del SSD

Es curioso cómo de inmenso y apasionante es este mundo de la tecnología, en el cual cada pequeña cosa que vayamos a hacer o investigar, puede ser tan grande o extensa como nosotros queramos, pues el conocimiento está ahí, a golpe de clic, y nos toca a nosotros decidir hasta qué nivel queremos profundizar. Digo esto porque en mi caso concreto, es muy probable que no me hubiese preocupado de leer o documentarme detalladamente sobre el kext signing y las implicaciones que podría tener deshabilitarlo, si nunca me hubiese tenido que enfrentar al problema de habilitar TRIM en un SSD no original de Apple.

Son muchísimas las áreas de conocimiento que existen tanto en el mundo de la informática como en el de la seguridad (que yo siempre digo que es casi más grande que el de la propia informática en sí), así como infinitas la cantidad de horas que necesitaríamos para asimilar tan sólo una pequeña parte de ese conocimiento. De ahí que que me considere un privilegiado por poder dedicarme a algo que realmente me apasiona, pues requiere de tanto esfuerzo y sacrificio poder estar mínimamente al día en este mundo, que en caso contrario sería un verdadero suplicio. Ya dijo el Maligno hace unos días, que la seguridad informática es una amante caprichosa, así que la única manera de que nuestra relación con ella sea idílica, es que la amemos con verdadera pasión

2 comentarios:

  1. En mi MacBook Pro del 2009 esto ha hecho maravillas, junto con las 8GB de RAM que ahora lleva lo ha convertido en un equipo totalmente rejuvenecido.

    ResponderEliminar
  2. Estoy por realizar el mismo proceso, incluso con el mismo modelo de macbook, fue de gran ayuda tu aporte, gracias a ello tendré mas parámetros a tomar en cuenta, saludos y gracias!

    ResponderEliminar

Entrada destacada

Proteger tu cuenta de Google y de Gmail con Latch Cloud TOTP #Latch #Gmail #Google

La semana pasada se liberó la nueva versión de Latch y nuestro compañero Chema Alonso hizo un repaso de todo ello en su artículo Latch...

Otras historias relacionadas

Entradas populares