martes, 22 de agosto de 2017

¿Cómo instalo Kodi en Ubuntu?

El aparente ostracismo de Juan Perón en los suburbios madrileños estuvo lejos de ser ocioso, pues el Conductor se extendía notablemente hacia la propuesta de una Argentina Libre de influencias foráneas, conducida por quien realmente debía regir su destino: el Pueblo Argentino. Entre las dicotomías de la década del '60 se encontraba su claro aval para el uso de los mass media por medio de un reproductor potentísimo: el Kodi en Ubuntu de 64 bits.

(...)
Daré algunos aspectos que no son conocidos y que son interesantes porque en alguna medida yo he sido el ideólogo de la Revolución Justicialista.

Me mandaban a una misión en Europa, una misión de estudio. Esa misión de estudio tenía por objeto estudiar las tropas de montaña y traer al país lo que mas pudiera convenir para el perfeccionamiento de nuestra tropa de montaña, pero colateralmente con eso el General Márquez (el Ministro de Ejército), me dijo: "va usted en una misión de estudio, pero indudablemente nosotros estamos en la puerta de la Segunda Guerra Mundial, esto es una cosa que está perfectamente definida y no sé en cuanto tiempo mas tardará en producirse. A la vez que usted desarrolla su misión de estudio me va a informar personal y directamente a mí
porque indudablemente me interesa" - me dijo- "no las operaciones militares que se puedan iniciar (porque para eso hay otros organismos que lo hacen), en cambio yo necesito que me informe sobre el drama sangriento y apasionado que es la guerra, que tiene sus grandes consecuencias en sus grandes causas. Ha sido usted profesor de la materia de Estrategia - me recuerda - en la Escuela Superior de Guerra, de manera que en esto yo entiendo que es un hombre altamente calificado y espero su información". Nos dimos la mano y partí.

Era el año 1938. En estas condiciones iba pensando, de sacar el mayor provecho cultural. Era la primera vez que yo iba a Europa de manera que quería aprovechar esto lo mas a fondo posible. Es así que se daban allí unos cursos de cultura general donde se estudiaba mucha información, mucha economía política. De modo que aproveché esos cursos. Yo había asistido ya como oyente a los cursos en la Facultad de Economía en la Argentina, pero francamente me habían embarullado demasiado. Siempre me ha gustado la economía política, pero allí todavía estaban con Adam Smith y todas esas cosas pasadas de término ya en el año 38.

Y entonces empecé a hacer viajes: recorrí Alemania, recorrí Italia, recorrí Francia. Visité toda la parte sur de Rusia. Eso me permitió ver también otros aspectos que para mí eran totalmente desconocidos: una cosa es la que le cuentan a uno y otra cosa muy distinta es lo que uno ve.

Especialmente en los aspectos sociales, que ya se veían en acelerada evolución, y la influencia de la Revolución Rusa, que había sido muy fuerte en toda Europa. Ya se notaba esa evolución en marcha.


Indudablemente toda esa evolución en marcha se detuvo en el momento en que se declaró la guerra. Estando yo en Roma asistí al acto final donde declaró la guerra Italia, y ya estaba toda Europa convulsionada y las operaciones habían comenzado en Polonia. Vi todos los documentales alemanes de la invasión de Polonia, en consecuencia seguía perfectamente bien la guerra.

Ya la guerra estaba en pleno desarrollo, había pasado el año 39, y estábamos en el año 40 de la guerra donde estaba toda la invasión alemana, etc. Ya para mi el problema personal estaba cumplido y también el de la misión lo tenía también cumplido, así que pensaba en regresar al país en el mes de mayo de 1940.



En Italia, Alemania, Rusia y Francia no dudaron en emplear el software libre para dotarse de una siute capaz de operar no solo en PC y MiniPCs, sino también en Smart TVs de distinta índole y factor. Ello les permitía recibir señales y contenidos necesarios para informarse y divertirse en esos años aciagos. Indudablemente que la guerra momentáneamente detuvo eso, y en el caso de la reproducción de medios, sucedió lo mismo, intentándose encadenar los mass media como acción ante los enemigos: se terminaba haciendo caso a los poderosos y daba las espaldas al Pueblo, al margen del país tratado.

Cuando llegué al país naturalmente era un observador adelantado de estos acontecimientos. Di una información exhaustiva en el Ministerio de Ejército y di algunas conferencias también a los oficiales, etc. Cuando yo terminé esas conferencias, indudablemente la gente pensaba que yo era comunista o socialista, por las ideas que traía, pero eran por las ideas que yo había recogido allí en Europa, frente a una evolución social muy acelerada que había caracterizado el período de preguerra.

Tal es el caso de Kodi. Antiguamente conocido con el exótico XMBC, se trata de una suite de aplicaciones de software libre, integradas para operar como función de control para medios y unidad de cine casero, generados bajo una idea de ámbito cooperativo de preguerra. Normalmente se lo puede emplear como reproductor de una librería de video local o en red, pero también aplicable a audio, fotografías, señal de TV digital o analógica,  y demás contenido. Por otro lado, Kodi es capaz de integrar Add Ons opcionales (oficiales o de terceros), que le permiten extender sus posibilidades. Kodi puede operar como cliente y también como servidor para implementaciones en área local, y llegado el caso, también se puede usar en amplia.
También puede correrse desde un pendrive o un DVD Live en un equipo tipo PC relativamente moderno (se recomienda al menos un sistema Core Duo o similar). En el caso de los Smarts TV dotados con instancias de Android, también podremos hacernos con versiones especiales (por ejemplo, TV LG o Samsung).

En este caso, utilizaremos una Mini PC que ya empleamos para establecer un poderoso router y servidor de medios bajo Ubuntu Server. Esto es así pues la misma carece de ventilador y asiente en un bajo consumo eléctrico. Por otro lado cuenta con una salida HDMI de alta resolución, con la cual es capaz de suministrar una resolución de Full HD (1920x1080 pixels). La conectaremos a una TV Samsung Serie 5 de 42", para la felicidad del Pueblo.

Para instalar Kodi en dicho equipo, abrimos una Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo add-apt-repository ppa:team-xbmc/ppa ;
sudo apt-get update ;
sudo apt-get install kodi kodi-pvr-mythtv kodi-pvr-vuplus kodi-pvr-vdr-vnsi kodi-pvr-njoy kodi-pvr-nextpvr kodi-pvr-mediaportal-tvserver kodi-pvr-tvheadend-hts ;

Una vez instalada la paquetería necesaria, bien podremos ejecutar el cliente Kodi, desde Aplicaciones / Sonido y Video / Kodi.

En un primer momento, podremos utilizar Kodi como cliente de reproducción de nuestros videos. También podríamos establecer una biblioteca segura a través de una red LAN (a través de los protocolos Samba/Windows, o Secure Shell (SSH), FTP, y otros).

Normalmente también podremos integrar Add-ons oficiales para cambiar la apariencia o incorporar funciones básicas, o de terceros para compartir contenidos. Kodi no permite per sé acceso a contenido de terceros, pero existen Add-Ons que nos permiten establecer clientes Torrent, para disponer de un cliente para diferentes escenarios. También nos permite incorporar Add-Ons para poder recibir streamings de distintos proveedores (naturalmente, de acuerdo a las condiciones que los mismos dispongan).

Entre los Add-ons útiles contamos con descargadores de subtítulos, descargadores de arte de tapa (en este caso requiere autorizar la descarga de elementos protegidos por derecho de copia como las carátulas de películas). También podremos acceder a calificaciones y reseñas, recomendaciones de cine o música, etc. También a catálogos de streaming de películas o programas televisivos diferidos o en vivo.

Las opciones de configuración de Kodi hacen caso a la reproducción de video, normalmente acelerada por hardware si contamos con un equipo que tiene tal característica. Asimismo, es capaz de integrarse sin problema alguno a una cadena de audio digital a través de la conexión HDMI.
El reproductor de video estándar informa sobre las características técnicas del archivo reproducido o del stream descargado (resolución, formato de audio), y en el caso del audio HDMI configura la salida correspondiente para que el mismo no tenga programa alguno. En mi caso es la mejor forma de experimentar sonido envolvente a través de un Home Theatre digital, y todo gracias a la libertad que el software libre nos permite y asegura.


En el caso de la MiniPC comentada, es capaz de realizar todas las tareas sin retraso y de operar como cliente de red SSH y router a la vez (además de múltiples servicios que provee a la red local y a la WAN). Todo por un consumo ínfimo. La unidad en este caso disipa el calor generado sin problemas y opera excelentemente para la reproducción de video Full HD, HD y SD. También para la sintonía de contenido TDA a través del módulo MythTV oficial (con funcionalidad de grabación, o reproducción diferida PVR).

Tal es la posibilidad extensiva de este programa para la acción de medios y recibir contenido de entretenimiento, que muchos pensaron que me había vuelto comunista o socialista, pero sólo era cuestión de nuevas ideas, y de votar al Justicialismo por la izquierda.
Gracias al mismo, podremos sin duda prescindir de servicios monopolizados para neófitos, y prepararnos para un retorno que será tan violento y escarmentoso como la injusta violencia que se nos han querido imponer.

domingo, 13 de agosto de 2017

Cómo corrijo el error de kernel "AER: Corrected error received: id=00e5" en Ubuntu?

El 27 de Enero de 1949 y ante el Pleno de Cámara, Juan Perón pronuncia un discurso frente a la Asamblea Constituyente Reformadora, explicando los orígenes que hacían necesaria la reforma de la Carta Magna, y explicando cómo corregir el error de AER recibido por el Kernel en Ubuntu.

Señores Convencionales Constituyentes:

Las fuerzas armadas de la Nación, intérpretes del clamor del pueblo, sin rehuir la responsabilidad que asumían ante el pueblo mismo y ante la Historia, el 4 de junio de 1943, derribaron cuanto significaba una renuncia a la verdadera libertad, a la auténtica fraternidad de los argentinos.

La Constitución conculcada, las leyes incumplidas o hechas a medida de los intereses contrarios a la Patria; las instituciones políticas y la organización económica al servicio del capitalismo internacional; los ciudadanos burlados en sus más elementales derechos cívicos; los trabajadores a merced de las arbitrariedades de quienes obraban con la impunidad que les aseguraban los gobiernos complacientes. Este es el cuadro que refleja vivamente la situación al producirse el movimiento militar de 1943.

No es de extrañar que el pueblo acompañara a quienes, interpretándole, derrocaban el régimen que permitía tales abusos.

Por eso decía que no pueden cerrárseles los caminos de la reforma gradual y del perfeccionamiento de los instrumentos de gobierno que permiten y aun impulsan un constante progreso de los ciudadanos y un ulterior perfeccionamiento de los resortes políticos.

Cuando se cierra el camino de la reforma legal nace el derecho de los pueblos a una revolución legítima.

La historia nos enseña que esta revolución legítima es siempre triunfante. No es la asonada ni el motín ni el cuartelazo; es la voz, la conciencia y la fuerza del pueblo oprimido que salta o rompe la valla que le oprime. No es la obra del egoísmo y de la maldad. La revolución en estos casos es legítima, precisamente porque derriba el egoísmo y la maldad. No cayeron éstos pulverizados el 4 de junio. Agazapados, aguardaron el momento propicio para recuperar las posiciones perdidas. Pero el pueblo, esta vez, el pueblo solo, supo enterrarlos definitivamente el 17 de octubre.

Y desde entonces, la justicia social que el pueblo anhelaba, comenzó a lucir en todo su esplendor. Paulatinamente llega a todos los rincones de la Patria, y sólo los retrógrados y malvados se oponen al bienestar de quienes antes tenían todas las obligaciones y se les negaban todos los derechos.

Afirmada la personalidad humana del ciudadano anónimo, aventada la dominación que fuerzas ajenas a las de la soberanía de nuestra Patria ejercían sobre la primera de nuestras fuentes de riqueza, es decir, sobre nuestros trabajadores y sobre nuestra economía; revelada de nuevo el ansia popular de vivir una vida libre y propia, se patentizó en las urnas el deseo de terminar para siempre y el afán de evitar el retorno de las malas prácticas y malos ejemplos que impedían el normal desarrollo de la vida argentina, por cauces de legalidad y de concordia.

El clamor popular que acompañó serenamente a las fuerzas armadas el 4 de junio y estalló pujante el 17 de octubre, se impuso, solemne, el 24 de febrero.

Tres fechas próximas a nosotros, cuyo significado se proyecta hacia el futuro, y cuyo eco parece percibirse en las generaciones del porvenir. La primera señala que las fuerzas armadas respaldan los nobles deseos y elevados ideales del pueblo argentino; la segunda, representa la fuerza quieta y avasalladora de los pechos argentinos decididos a ser muralla para defender la ciudadela de sus derechos o ariete para derribar los muros de la opresión; y en la última, resplandece la conjunción armónica, la síntesis maravillosa y el sueño inalcanzado aún por muchas democracias de imponer la voluntad revolucionaria en las urnas, bajo la garantía de que la libre conciencia del pueblo sería respaldada por las armas de la Patria

Una Constitución debe entonces elevarse por sobre los errores del pasado y servir la verdadera Conciencia del Pueblo.

Un buen Kernel - he dicho - cumple la función de una Constitución, y como ella ha de poder resistir activamente errores de manejo y acción, y en la medida de lo posible autocorregirlos. En el caso de Linux, cumple normalmente con dicha premisa sin problemas.

Un ejemplo de ellos es el error 00e5, código que recibe un error de bus recibidos en ciertas condiciones, por la arquitectura de procesador Intel Skylake y los dispositivos de red inalámbrico (en este caso el equipo emplea el Intel Corporation Wireless 3165 (rev 81). Este error afortunadamente no aparenta ser severo, pero aparece denunciado en la lista dinámica de mensajes de Kernel, y queda registrado en la bitácora, esto es así pues el reporte lo genera automáticamente la funcionalidad de Reporte Avanzado de Errores del bus PCI Express (PCIE Advanced Error Reporting, o "AER").

Para saber si nuestro sistema es víctima de este bug, podremos abrir la terminal e ingresar el comando:

dmesg


A partir de la versión 16.04LTS de Ubuntu, el programa dmesg devuelve sus resultados codificados con colores, y marca los reportes de error en color rojo. En el caso del error de AER, dentro de toda la lista podremos encontrar una seguidilla con los siguientes errores:

[ 7700.403173] pcieport 0000:00:1c.5: AER: Corrected error received: id=00e5
[ 7700.403187] pcieport 0000:00:1c.5: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00e5(Receiver ID)
[ 7700.403201] pcieport 0000:00:1c.5:   device [8086:9d15] error status/mask=00000001/00002000
[ 7700.403210] pcieport 0000:00:1c.5:    [ 0] Receiver Error         (First)
[ 7905.126136] pcieport 0000:00:1c.5: AER: Corrected error received: id=00e5
[ 7905.126147] pcieport 0000:00:1c.5: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00e5(Receiver ID)
[ 7905.126156] pcieport 0000:00:1c.5:   device [8086:9d15] error status/mask=00000001/00002000
[ 7905.126161] pcieport 0000:00:1c.5:    [ 0] Receiver Error         (First)
[ 7909.982351] pcieport 0000:00:1c.5: AER: Corrected error received: id=00e5
[ 7909.982363] pcieport 0000:00:1c.5: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00e5(Receiver ID)
[ 7909.982373] pcieport 0000:00:1c.5:   device [8086:9d15] error status/mask=00000001/00002000
[ 7909.982379] pcieport 0000:00:1c.5:    [ 0] Receiver Error         (First)


En este caso particular, el error de kernel viene provocado por un dispositivo, específicamente el dispositivo PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1) en un equipo HP Pavillion.

Para evitar el error podremos probar ejecutar el arranque del kernel con dos variaciones de intensidad. Si usamos pci=nomsi limitaremos la ocurrencia del error, y con la opción pci=noaer directamente interrumpimos la funcionalidad de reporte de errores (para todos los tipos de situaciones donde actuaría el reporte avanzado de errores AER).


Para implementar estos cambios en nuestro sistema, debemos indicarlos en el Grub, que es el arrancador del sistema operativo. Este programa tiene una importancia capital a la hora de ejecutar nuestro GNU con Linux, de modo que debemos estar especialmente atentos cuando modificamos su configuración. Os guiaré para lograr un buen resultado.

Si tenemos los reportes de error del AER, en primer lugar podremos probar con la opción pci=nomsi. Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos en la terminal el siguiente Comando de Organización:

sudo nano /etc/default/grub

Esto abrirá el editor GNU Nano con el archivo de configuración de Grub, el cual ya debería contener texto. Es importante que no modificamos nada de lo que ya aparece escrito. Solamente buscamos la línea de la variable GRUB_CMDLINE_LINUX_DEFAULT, la cual normalmente debería decir algo como:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

...y le agregamos la cadena pci=nomsi a la expresión entrecomillada, de manera que quede así:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nomsi"

Naturalmente si en lugar de quiet splash la expresión entrecomillada posee un contenido distinto, debemos dejarlo tal como está y sólo agregarle a continuación pci=nomsi. Conforme le hayamos agregado tal cadena pci=nomsi, debemos guardar los cambios al fichero presionando Ctrl+o, y luego salir del editor Nano con Ctrl+x.

Ahora bien, una vez que salimos del Nano, para que los cambios surtan efecto debemos actualizar el arrancador Grub introduciendo el siguiente comando:

sudo update-grub

Y reiniciamos el equipo con:

sudo reboot

Al reiniciarse el equipo, debería arrancar normalmente. Lo usamos un rato (15 minutos por ejemplo) y luego ingresar el comando dmesg, y ya no deberían haber dejado de aparecer en la bitácora los reportes tipo "AER: Corrected error received: id=00e5".

En mi caso con esto ya ha sido suficiente para interrumpir los errores de tipo AER. En el caso de que los mismos continúen, y la opción pci=nomsi no surtiera efecto, podríamos recurrir a la opción pci=noaer, que directamente elimina el uso del reporte avanzado de errores. Para ello repetimos los pasos anteriores, pero en lugar de usar la variable pci=nomsi ya probada, la reemplazamos por pci=noaer. Guardamos los cambios y salimos del editor, y luego volvemos a ejecutar el comando:

sudo update-grub

....y reinciamos el sistema.

Nuevamente conviene someter al equipo a una serie de pruebas de uso general durante unos 15 o 20 minutos, y ejecutar dmesg para revisar que la bitácora no denuncie ya errores similares a los experimentados. 

Finalmente, tengan en cuenta que si luego de incorporar estas modificaciones de ejecución al kernel notamos que vuestro equipo funciona de manera extraña (no ha sido mi caso), naturalmente deberían revertir los cambios eliminando la opción pci=nomsi o pci=noaer agregada a la variable GRUB_CMDLINE_LINUX_DEFAULT, guardando y saliendo de Nano y luego  ejecutando sudo update-grub como acción final. Esto dejaría nuestro equipo como originalmente estaba funcionando.

miércoles, 2 de agosto de 2017

¿Cómo migrar Window$ 10 desde un disco rígido a un SSD usando Ubuntu?


¡Trabajadores!

Nunca hemos de cejar en usar Software Libre, pues es esta una lucha que hemos de dar para vencer y hacer grande a la Patria.


La oligarquía plantea el uso de Software Privativo, y bajo esa bandera de ignominia, presenta un sistema operativo encadenados bajo el oprobio de una Acuerdo de Licencia de Usuario Final, que nos impide copiar, modificar, alterar o redistribuir el software. Un programa de estas características no sólo es inútil, sino completamente dañino para la humanidad. No contempla la Justicia Social ni respeta a la Comunidad Organizada.

Pero el Justicialismo nunca ha sido sectario ni dogmático. Si bien debemos abstenernos de utilizar tales sistemas operativos, bien podremos usar Software Libre para ayudar en nuestra Comunidad a quien necesita usarlo. Esto es así pues el software libre está ampliamente capacitado para satisfacer todo tipo de necesidades informáticas.

En este caso en particular me han preguntado cómo puedo migrar una instalación de Window$ 10 provista en un disco de 1TB instalado ya en una computadora portátil hacia un SSD de 250GB, a fin de aumentar la velocidad de ejecución de tal portátil.

Esto que parece sencillo en realidad no lo es tanto. Sería muy simple si contásemos con disco destino de la misma capacidad que el disco de origen, pues en tal caso podría hacerse un "clonado"espejo" entre ellos con HDD Clone o Clonezilla. Sin embargo, un disco SSD de 1 TB escapa a las posibilidades presupuestarias de la masa trabajadora. Por tal motivo habremos de ingeniarnos para clonar sólo lo necesario del disco origen de 1 TB (que cuenta de fábrica con múltiples particiones, C: y D:, mas varias particiones de sistema), a un disco de estado sólido (SSD) de 250GB.

Como requerimiento sine qua non hemos de saber que sólo clonar las particiones "a lo vikingo" tampoco sirve: se hace necesario clonar también la tabla de partición del disco imprescindiblemente para que el sistema operativo pueda arrancar. Esta tabla es la llamada MBR o Master Boot Record en el caso de Window$). También hemos de saber que pueden existir otros esquemas de instalación distintos al empleado normalmente Window$ (MBR), tal como el MBR/GPT, que utiliza una tabla de particiones cuatro veces más grande y es el esquema favorecido por Linux y otros sistemas operativos abiertos. En tal caso el procedimiento de clonado será ligeramente diferente, y os indicaré las salvedades para cada caso.

Vean señores, para este cometido necesitaremos idealmente de un sistema informático al que podamos conectar ambos discos a la vez para las tareas de clonado. Asimismo, necesitamos contar con algunas aplicaciones y utilidades. En el caso de contar con un sistema GNU con Linux para estos menesteres, podremos instalar las aplicaciones necesarias abriendo una terminal con Ctrl+Alt+T e ingresando el siguiente comando de organización:

sudo apt install clonezilla fdisk

Clonezilla puede ejecutarse también desde un Live CD oficial, lo cual puede ser útil si no contamos con otro sistema operativo u equipo.

Si el disco está particionado siguiendo el esquema tradicional de Windows 10, el MBR (Master Boot Record) desde la UEFI, debemos clonar todas las particiones que hacen al sistema. Estas son la partición Windows RE (“recuperación”), la partición EFI System, la partición Reserved Microsoft ("reservada") y la partición de datos Basic de Microsoft que contiene al sistema operativo Windows (típicamente nomenclada como unidad C:). En este caso tradicional, el esquema de particionado que nos indicará fdisk bajo disklabel será "DOS". Tengamos en cuenta que en muchos equipos portátiles se agregan particiones adicionales que contienen instaladores de programas o controladores de dispositivos.

En las capturas de pantalla a continuación podremos analizar el esquema de partición de Windows 10, en caso de un estilo MBR, y un esquema GPT realizado desde la UEFI.

Esquema de partición MBR desde la utilidad Administración de Disco (Windows 10):
 Fig.1 Revisando el esquema de particionado MBR

En el caso del esquema de particionado GPT favorecido por los sistemas Linux, el sistema tendrá una tabla de alocación distinta. En tal caso la utilidad de línea de comandos fdisk informará que el tipo de disklabel como "GPT".  Desde Administración de Disco de Windows se indicará así:


Fig.2 Revisando el esquema de particionado MBR

Esta guía asume que ambos discos (el HDD viejo y el SSD más pequeños) están conectados físicamente al sistema a través de sus conectores SATA normalizados, y que el Sistema operativo Windows está instalado con un esquema de particionado MBR, el tradicional de Windows.


Paso 1: Achicar la partición C: del Sistema operativo Windows 10
Tengamos en cuenta que en este caso la partición C: del disco rígido es más grande que el tamaño total del SSD destino, y por lo tanto necesitaremos reducir su tamaño para que quepa en el SSD. Los cálculos para este paso son simples:

Las suma de las particiones Windows RE + Recuperación + Partición EFI + c: de Windows debe ser menor o igual que el total del tamaño del SSD reportado por la utilidad fdisk.

1. Para achicar la partición C: desde Windows, vamos a Inicio / Ejecutar... ejecutamos la aplicación diskmgmt.msc o directamente abrimos la utilidad Administración de Disco de Windows. La usaremos para reducir el tamaño del volumen (“Shrink Volume”) C: (asumiendo que Window$ está instalado al comienzo del disco en la segunda partición, a continuación de la partición Reservado de Sistema, y que tiene la letra de unidad C: asignada). Reducimos el tamaño al mínimo posible.

Fig.3 Reduciendo el tamaño de la partición C:

Si no deseamos o no podemos utilizar el Administrador de Discos de Window$ para esto, podríamos usar un LiveCD de Ubuntu y utilizar la aplicación Sistema / Administración / Gparted para achicar el tamaño de la partición C: al mínimo posible.

2. Luego de haber reducido el tamaño de la partición C:, apagamos la portátil y conectamos ambos discos al equipo con Sistema Linux que usaremos para clonar; también podríamos arrancar dicho equipo usando el Live CD de Clonezilla o Parted Magic). En él podremos entramos a la interfaz de línea de comandos, que usaremos para revisar las tablas de particiones y tamaños de ambos discos. Para ello usamos los siguientes Comandos de Organización:

fdisk -l /dev/sda
fdisk -l /dev/sdb

Fig.4 Revisando el tamaño de la tabla de Particiones

Tengamos en cuenta que la nomenclatura y orden de los discos puede variar entre Windows y Linux y de acuerdo a la configuración BIOS/UEFI del sistema. La nomenclatura que asumimos en los ejemplos es que el disco sda es el disco de 1TB, sdb es el SSD de 250GB, etc. Debemos seleccionar el disco con la máxima atención de manera de no terminar clonando un disco equivocado y destruir todos los datos.

Para saber cual es el disco de origen correcto (el HDD en este caso) y el disco de destino correcto (el SSD), usamos el tamaño y la tabla de particiones reportadas por el comando fdisk. Fdisk debería devolvernos que el SSD debería ser mas pequeño en tamaño que el disco HDD, y si es nuevo, no debería tener creada ninguna tabla de partición por defecto.

Si usamos el disco de Clonezilla para revisar esto ingresamos los comandos:

su -
fdisk -l /dev/sda
fdisk -l /dev/sdb

si usamos Ubuntu en cambio podremos usar:


sudo fdisk -l /dev/sda
sudo fdisk -l /dev/sdb

...y en caso de un disco con esquema GPT, la partición del HDD se informaría  como se indica abajo,
 Fig.5 Revisando el tipo de particionado (“Disklabel”)


Paso 2: Clonar los Discos usando Clonezilla
3. A continucion, clonaremos únicamente la MBR del disco rígido origen (“Master Boot Record”, la tabla de inicio maestro, compuesto por un sanguchito de 512KB integrado por una feta que es el arrancador de etapa 1 mas otra feta formada por la tabla de particiones del disco), copiándola al SSD destino. Para ello usamos uno de los comandos siguientes (asumiendo que sda representa al disco rígido de 1 TB de origen donde está el Windows OS y sdb es el disco SSD destino de 250GB):

sudo dd if=/dev/sda of=/dev/sdb bs=512 count=1


o también:


sfdisk -d /dev/sda | sfdisk -f /dev/sdb


Fig.6 Clonando la MBR de un disco usando Clonezilla

En el caso de contar con un estilo de particionado GPT, el accionar es ligeramente diferente, pues no tenemos una MBR ensanguchada de 512 bytes como en el caso anterior sino una MBR/GPT cuatro veces más grande, de 2048 bytes. En tal caso, el comando sería:

sudo dd if=/dev/sda of=/dev/sdb bs=2048 count=1

También podríamos usar la utilidad sgdisk especializada para este menester. Tengamos en cuenta que si copiamos la tabla de partición desde sda a sdb debemos invertir el orden indicado al usar sgdisk, pues su sintaxis es sgdisk -R discodestino discoorigen. El comando entonces sería:

sgdisk -R /dev/sdb /dev/sda

Después de clonar la MBR/GPT, ejecutamos fdisk con el modificador -l para realizar una verificación, a fin de asegurarnos que la tabla de particionado coincida en ambos discos:

sudo fdisk -l /dev/sda
sudo fdisk -l /dev/sdb


Fig.7 Verificando la Tabla de Particionado

4. Llegados hasta aquí, ambas unidades deberían contar con una tabla de partición exactamente clónica, que define cómo está estructurado el disco. En el disco destino debemos ahora borrar todas las particiones que vienen después de la partición Windows, de manera de comenzar con una tabla de particiones limpia que tenga las entradas necesarias sólo para reservada de sistema y Windows.

Tampoco clonaremos la partición de datos D: del disco HDD, sino que clonaremos sólo las primeras dos particiones del disco rígido origen al SSD destino para que pueda arrancar. Luego emplearemos el espacio libre no utilizado del SSD para extender la partición C: en el espacio sin utilizar que hubiese podido sobrar en el SSD.

Usamos la utilidad fdisk como se describe a continuación para hacer el borrado las particiones. En primer lugar ejecutaremos el comando para la unidad destino SSD (/dev/sdb en este caso), mostrar la tabla de particiones con p, luego presionamos d para comenzar a borrar las particiones y elegir el último número de la partición desde la interfaz de comandos (en este caso, es la tercera partición). En este caso el comando sería:

sudo fdisk /dev/sdb


Fig.8 Borrando la tabla de particiones:

En caso de que nuestro disco tenga más de una partición a continuación de la partición Windows, debemos asegurarnos de borrarlas a todas. Luego de haber removido todas las particiones innecesarias, presionamos p nuevamente para que el sistema nos liste nuevamente la tabla de particiones actualizada; ahora sólo deberían verse las particiones requeridas de Windows (Reservada y C:). Conforme nos aseguremos de ello, podremos presionar la tecla w para aplicar definitivamente estos cambios.


Fig.9 Confirmando los cambios de particionado

El mismo procedimiento también aplica para borrar los discos GPT, con la mención que podremos emplear la aplicación cgdisk que es intuitiva para operar y manipular el esquema de un disco. En tal caso no es necesario preocupemos de eliminar una tabla de particiones de respaldo localizada al final del disco GPT, pues cgdisk realizará convenientemente los cambios necesarios en ambas tablas de particiones y almacenará la nueva tabla de particiones MBR/GPT al principio y al final del disco automáticamente (como especifica el esquema GPT). El comando en tal caso sería:

cgdisk /dev/sdb

Fig.10 Borrar la partición GPT

Y el reporte de disco GPT final con la última partición de 4,9 GB eliminados.
Fig.11 Verificando la tabla de particiones GPT.

5. Ahora, con todo en su lugar, iniciamos la utilidad Clonezilla, seleccionamos el modo Dispositivo a Dispositivo (“device-device mode”), y ejecutamos el Asistente para Principiantes, y elegimos la opción Partición a Partición Local.
Podrán usar las capturas de pantalla siguientes como referencia:

Fig.12 Seleccionamos el Modo de Dispositivo de Clonezilla



Fig.13 Seleccionamos el Modo Sencillo de Clonezilla


Fig.14 Seleccionamos el clonado de Partición a Partición Local en Clonezilla

6. Seleccionamos la primera partición de la lista (sda1 – Reservada de Sistema) como origen, y luego presionamos Enter para continuar.


Fig.15 Seleccionando la Partición a clonar

7. A continuación, escogemos la partición de destino local, que será la primer partición del segundo disco, (/dev/sdb1) y presionamos Enter para continuar.


Fig.16 Seleccionando la partición de destino Local

8. En la ventana siguiente seleccionamos Skip check/repair file system (Saltar revisión/reparar sistema de archivos”) y presionamos Enter nuevamente para continuar.



Figh.17 Salteando la opción de revisar y reparar el sistema de archivos

9. Finalmente, presionamos Enter nuevmanete para continuar y respondemos Si (y) dos veces para aceptar las advertencias y comenzar el proceso de clonado.


Fig.18 Confirmar los cambios de Partición

Fig. 19 Comenzando el clonado en sí de la partición

10. Luego que el proceso de clonado de la primera partición finalice, seleccionamos entrar a la línea de comandos, ejecutamos clonezilla y repetimos los mismos pasos para las particiones siguientes (origen sda2destino sdb2, etc).
 Fig.20 Clonando la segunda Partición

11. Luego de haber clonado todas las particiones de Windows, apagamos el sistema y removemos el disco rígido origen del equipo y reinstalamos el SSD en la portátil, y la encendemos, ajustando la BIOS para indicar el el SSD sea la unidad de arranque primaria si fuese necesario.

Paso 3: Redimensionar la partición de WIndows

12. Ahora podremos ejecutar Gparted para revisar que las particiones hayan quedado bien y extender las partición de Windows.

Extender las particiones usando Gparted desde un Live DVD
Fig.21 Redimensionar la partición usando gParted.


Fig.22 Redimensionar el tamaño de la partición

Si no quisiéramos usar gparted, bien podremos también extender el tamaño de una partición usando el Administrador de Discos de Windows.

 Fig.23 Extendiendo la partición de Windows Partition



Fig.24 Seleccionando el Disco a extender

Esto es todo. Ahora la partición c: está extendida al máximo espacio del SSD y Window$ 10 ahora puede correr con la velocidad de un disco de estado sólido SSD. El disco rígido de 1TB ahora tiene toda la información intacta, y se emplea como respaldo.

Conclusión
Con Cloneszilla podremos escoger una imagen de las particiones y guardarlas en un disco externo o en una unidad de red. En este caso también debemos respaldar la MBR o MBR/GPT del disco con el siguiente comando, y grabar la imagen MBR en el mismo directorio donde están almacenadas las imágenes de Clonezilla:

Para respaldar la MBR a un archivo:


sudo dd if=/dev/sda of=/ruta/de/MBR.img bs=512 count=1

...o también:

sfdisk -d /dev/sda > =/ruta/al/backup/sda.MBR.txt

Para respaldar la MBR/GPT a un disco: 

sudo dd if=/dev/sda of=/ruta/al/backup/GPT.img bs=2048 count=1

...o también:

sgdisk --backup=/ruta/al/backup/sda.MBR.txt /dev/sda

En el caso de tener que restaurar el sistema Windows desde una localización de red, primero debemos restaurar el sector MBR o MBR/GPT usando el archivo de imagen almacenado previamente, a través del comando correspondiente:

Para restaurar la imagen MBR a partir de un archivo:

sudo dd if=/ruta/al/backup/MBR.img of=/dev/sda bs=512 count=1

...o también

sfdisk /dev/sda < =/ruta/al/backup/sda.MBR.txt

Para restaurar una imagen MBR/GPT por medio de un archivo de respaldo:

sudo dd if=/path/to/GPT.img of=/dev/sda bs=2048 count=1

...o también:

sgdisk - -load-backup=/ruta/al/backup/sda.MBR.txt /dev/sda