Migrando Windows a otro disco duro

A pesar que hace tiempo que no me dedico a la programación como actividad principal, hace unos días recibí una invitación para un vistazo al código de un programa escrito en lenguaje de programación C# creado con el Visual Studio de M$.

Yo no uso W$ así que mi primer impulso fue declinar el ofrecimiento, pero antes de abrir la boca recordé que aún tengo el pequeño disco duro de 40 GB desde donde estuve siguiendo la evolución de W$ 10 a través del programa Insider. ¡Un W$ con licencia y sin peros de ninguna clase!

Visual Studio tiene una versión Comunity que puede descargarse libremente y cuya licencia especifica que los proyectos creados con ella deben ser de código abierto que podría usar. De cualquier modo existe una versión gratuita (VS Express) que también puede usarse.

Al conectar nuevamente el disco, y como era de esperarse W$ comenzó a descargar un mar de actualizaciones, y un par de cuelgues después quedó listo. Procedí entonces a descargar e instalar el Visual Studio Comunity ¿Todo bien? ¿En serio? ¡Pues no! Tras el último inicio apareció un aviso que debía liberar espacio para poder trabajar. El propio SO sugirió que debía quitar los archivos descargados para la versión anterior. Una vez hecho esto y revisando el espacio me encontré que solamente quedaban unos 5 GB de espacio disponibles. ¡Y sin ningún archivo creado por mí!

Definitivamente el disco duro de 40 GB no es suficiente para W$. Regresé a los estantes y me encontré con un disco (aún mas antiguo) pero de 80 GB que podría usar para la tarea. Ahora solamente debería realizar una transferencia completa del disco.

Picado por la curiosidad, primero me puse a buscar por la Red cual sería la mejor forma de hacer una migración de disco duro para W$; cuidando en todo momento de obtener directrices que incluyeran al “novísimo” W$ 10.

¡Y hay quién dice que Linux es complicado! Páginas y páginas con montones de soluciones posibles. Eso sí, todas involucran el uso de software de terceros, por los cuales hay que pagar. Algunos de estos sitios incluso están “amorosamente acompañados” de ligas para descargar programas “cuidadosamente crackeados”.

Por otra parte, las versiones antiguas de W$ incluían una herramienta para realizar migraciones, que honestamente nunca usé y además no recuerdo que tipo de migración realizaba. En W$ 10 este software ya no está presente.

Había que ser cuidadoso ya que según he leído W$ conserva una especie de mapa del hardware en que se ha instalado y el hacer ciertas actualizaciones de hardware se considera una violación de la licencia de uso, ya que se supone que lo que se hace en realidad es cambiar de equipo (?). Uno de los muchos y eternos abusos de M$. Así pues yo deseaba conservar la licencia “Insider” intacta para no tener inconvenientes durante el tiempo que me tomará revisar el código.

Cansado de perder miserablemente el tiempo, sin ningún deseo de introducir malware en W$ 10 (nota aparte es increíble la velocidad con la que se recupera la paranoia usando W$), y menos aún de adquirir (comprar o piratear) más software, que solamente se usa un vez, Me dispuse a realizar la “extremadamente difícil” tarea de hacerlo con la ayuda de Tux.

Material Necesario y proceso inicial.

Lo primero que se necesita es que el equipo cuente con un par de conectores para ambos discos duros, en mi caso ambos son tipo SATA y afortunadamente mi PC viejita cuenta con dos de estos. En segundo lugar hay que conectar ambos discos duros. Es preferible conectar en SATA 0 el disco que contiene el sistema operativo que se quiere transportar y en SATA 1 el disco que lo recibirá. Simplemente para facilitar su identificación.

Además y como es lógico se requiere de una distribución GNU / Linux ya preparada en un medio Live. Para esto recomiendo Ubuntu o cualquier derivada. Si bien cualquier distribución servirá perfectamente aquí explicaré un atajo gráfico que está disponible para los Xbuntu. Ya tenía lista barra de memoria USB (Memory Stick) con LinuxMint 17.2, perfecta para la ocasión.

Una vez conectados ambos discos y puesta la barra de memoria en el conector, hay que iniciar la PC de tal modo que la unidad que reconozca como la de arranque sea la que contiene la distribución Linux. En mi caso la tarjeta de vídeo es reconocida y usada sin problemas por LinuxMint, pero si se tiene alguna duda o problema en este punto, es aconsejable usar una distribución que tenga un escritorio que no requiera aceleración 3D: Xfce (Xubuntu), LXDE (Lubuntu) o incluso Mate (Ubuntu-MATE) serán una alternativa perfecta. Pueden por supuesto usarse otras distribuciones derivadas que tengan estos escritorios, como el propio LinuxMint (Xfce o Mate).

pc

Es necesario entender que para transferir un sistema operativo (cualquiera) no basta copiar los archivos, incluso no es suficiente crear particiones análogas y copiar en cada una de ellas los archivos originales. ¡La transferencia debe hacerse byte a byte! Y para ello se requieren herramientas distintas a los sencillos copiar y pegar.

Para los puristas: El método a la antigua

Lo primero es verificar que se tengan las herramientas necesarias: dd, pv y GParted. El programa dd es parte integral de todas las distribuciones y GParted aún se incluye en la mayoría de los medios Live; este es el caso de LinuxMint.

Se puede verificar si está instalado abriendo una terminal y escribiendo:

$whereis gparted

Si en respuesta se tiene una (o varias) rutas es que está instalado, si la respuesta es solamente el nombre del programa, habrá que instalarlo. Para ello se requiere una conexión a Internet.

$ sudo apt-get install gparted

Ahora hay que hacer lo mismo para pv

$ sudo apt-get install pv

El siguiente paso es verificar como han sido etiquetadas cada una de las tres unidades por Linux (dos DD y la barra de memoria)

$ sudo fdisk -l

Esto devolverá una lista de los nombres de cada una de las unidades, que serán facilmente reconocibles por su capacidad. De cualquier forma recomiendo usar GParted para esta tarea, es mucho mas visual y: ¡Es crítico identificar correctamente cada una de ellas!

En mi caso la barra de memoria (8 GB) se identificó como sdb, el DD con W$ 10 (40 GB) como sda y el DD destino como sdc (80 GB)

Para iniciar el proceso de transferencia en una terminal hay que escribir

$ sudo dd if=/dev/disco de origen of=/dev/disco destino bs=1M Es decir:

$ sudo dd if=/dev/sda of=/dev/sdc bs=1M

Y ahora solamente resta esperar a que se termine el proceso. Esta forma tiene el inconveniente que no hay salida informativa por la terminal, el proceso se terminará cuando aparezca nuevamente el prompt ($). Por esta razón se instala el programa pv que nos permite observar el progreso de la transferencia y alguna otra información. Ideal para no perder la paciencia. La orden incluyendo a pv queda así:

$ sudo dd if=/dev/disco de origen |pv|dd of=/dev/disco destino bs=1M Es decir:

$ sudo dd if=/dev/sda |pv|dd of=/dev/sdc bs=1M

El resto es esperar a que se complete el proceso que dura algunos minutos.

Para los gatitos flojos: El método visual.

Al igual que en el método anterior habrá que descargar GParted y pv, pero además para tener una interfaz gráfica al comando dd hay que descargar el paquete gdiskdump desde:

https://launchpad.net/gdiskdump/ (El link para la descarga del paquete DEB se encuentra arriba a la derecha). Una vez que se termina (unos pocos segundos) se abre la carpeta donde se descargó, generalmente Descargas y simplemente se realiza un doble click para iniciar el proceso de instalación, en mi caso LinuxMint incluye el imprescindible GDebi y lo único que resta es dar un clic en el botón “Instalar” para que se lleve a cabo todo lo necesario.

Yo invoque a gdiskdump desde la terminal para ilustrar este tutorial, pero puede hacerse desde el lanzador de aplicaciones como cualquier otro programa.

Lo primero es seleccionar el disco de origen y pulsar el botón “Forward”

01uno

Después se selecciona el disco destino y nuevamente se pulsa el botón “Forward”

02dos

A continuación se presenta una solicitud de confirmación y se advierte que todo el contenido del disco destino se perderá. Así es importante que el disco destino ya no contenga información que puedas necesitar.

03tres

Ajustando las particiones.

Si pensabas que ya habías terminado no es así. La copia byte a byte ha transferido completo tu sistema operativo al nuevo disco, pero ha dejado las particiones en forma idéntica a las originales; en otras palabras estas desperdiciando gran parte del espacio del disco nuevo (en mi caso la mitad). Para comprobarlo y realizar los ajustes finales hay que usar GParted. La siguiente imagen muestra el disco duro original (sda) tal y como lo muestra GParted.

04cuatro

El propio GParted nos permite revisar el aspecto del disco al que se ha transferido la información (sdc), tal y como se ve en la siguiente imagen.

05cinco

Observa que hay 4 particiones, 3 de tipo NTFS y un espacio al final que no es usado (en color gris)

La primera partición, la que está marcada con la leyenda: “System Reserved” NO DEBE SER TOCADA. Cualquier alteración dejará inútil el sistema operativo y será mas sencillo repetir todo el proceso.

La segunda partición, la de mayor tamaño es la que contiene la instalación de W$, pero aún es del mismo tamaño que la original y es necesario “pegarle” todo el espacio vacío que está desperdiciado al final.

La tercera partición, tampoco debe ser alterada, pero sí es posible (y necesario) cambiarla de lugar, de tal forma que la partición del sistema operativo (2da) y el espacio vacío queden contiguos.

Para realizar este proceso primero hay que seleccionar la 3ra partición y dando un clic derecho seleccionamos la opción “Resize/Move”

06seis

En el cuadro de diálogo que se presenta hay que intercambiar las cifras que corresponden al “Free space preceding” y “Free space following”. Una vez hecho esto hay que pulsar el botón “Resize/Move”.

07siete

Ahora en la parte superior hay que ubicar el botón para aplicar el cambio, también se puede usar la opción equivalente del menú GParted. Habrá que confirmar el cambio ya que es permanente.

GParted mostrará ahora el disco como se ve en la imagen:

08ocho

A continuación hay que seleccionar la 2da partición para “expandirla” a todo el espacio libre contiguo. Dando un clic derecho y seleccionando nuevamente la opción “Resize/Move”. Puede hacerse simplemente cambiando el valor que tiene el cuadro “New size” de tal forma que coincida con la suma de los valores que tiene el tamaño actual más el del espacio vacío. Es mucho más sencillo pulsar y arrastrar la flecha que ve hacia la derecha en la parte superior, y llevarla hasta el final.

09nueve

Solamente resta confirmar y aplicar como en el cambio de la 3ra partición.

10diez

Dependiendo del tamaño de las particiones involucradas el tiempo puede ser un poco largo, por lo general será menor al que se ha tomado la transferencia de información. NO SE DEBE APAGAR LA PC HASTA QUE EL PROCESO TERMINE COMPLETAMENTE Y EL DISCO NO TENGA ACTIVIDAD.

12doce

Pasos finales.

Apaga la PC, retira la barra de memoria USB. Retira el disco original; si lo consideras necesario conecta el disco nuevo en SATA 0 (no es estrictamente necesario) y desconecta la PC de Internet (solamente para W$ como precaución para evitar la descarga de actualizaciones antes de verificar).

Si todo fue bien, como siempre pasa con Linux no tendrás problemas, sin embargo W$ es un poco torpe con el reconocimiento de los cambios al tamaño del disco ya que almacena en uno de tantos archivos el tamaño previo. Si este fuera tu caso hay que usar las herramientas administrativas, almacenamiento y obligar a W$ a que actualice (hay un botón para hacerlo). Seguramente al terminar te pedirá (siempre la misma lata) que reinicies.

Después de esto ya tendrás acceso pleno a todo el espacio del disco tal y como lo ajustaste con la ayuda de Linux.

13trece

Este método te ha permitido hacer tu cambio de disco de la forma más rápida y segura posible, fue hecha con mucha facilidad y sencillez. No habrás gastado plata en adquirir un programa que muy probablemente nunca vuelvas a usar, tampoco has tenido que recurrir a copias no legales y de dudosa procedencia que pudieran comprometer la integridad de tu sistema operativo y que ponen en entredicho tu honestidad. Y además y por si fuera poco tampoco has violentado la licencia de uso (EULA) que has libremente aceptado como usuario del W$ de M$.

Una nota final: Con ligeras variaciones lo mismo puede ser aplicado para transferir cualquier sistema operativo, pero claro si eres un usuario habitual de Linux seguro ya lo sabias.

¿Alguno todavía me cuenta que W$ es más fácil de usar que Linux?

Anuncios

Un pensamiento en “Migrando Windows a otro disco duro

  1. Pingback: ¿Saltar sin red? | El Gato con Linux

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s