sábado, 19 de julio de 2014

Usar partición de intercambio (swap) de Linux en Windows

AVISO: Esto solo funciona tal como aparece en la guía en Windows de 32 bits (en teoría desde windows NT 4 hasta Windows 10). Los windows de 64 bits requieren controladores firmados, con lo que para poder usar esto hace falta desactivar en el boot el requisito de controladores firmados. Cuando lo pruebe lo añadiré a la guía.

Muchas veces nos habrá parecido que hacer una partición de intercambio puede ser tirar espacio, especialmente si tenemos bastante RAM. Sin embargo, a veces es necesario, porque aunque Linux suela funcionar bien sin swap con la RAM adecuada, Windows tiende a requerirlo para muchos programas, y en Linux acaba siendo necesario tambien tenerlo "porsiaca".

Con este driver podremos montar las particiones swap de Linux en Windows, y con ello hacer que Windows tambien la use como swap. La mayor dificultad está en identificar el nombre que Windows le da a la partición, porque lo que en Linux es /dev/sda7 en Windows es \\Device\\Harddisk0\\Partition...loquesea. En mi caso resulta ser Partition5, como veremos a continuación. Y es importante, porque el driver que se usa para esto no tiene ventana de configuración alguna, sino que requiere darle ese dato directamente.

Los pasos que yo seguí son los siguientes.

1. Identificar cual es la partición swap. En mi caso es la de 2 gigas. El número de partición no lo voy a tener en cuenta, porque no es fiable con particiones extendidas. En mi caso el disco duro es el primero, en algunas configuraciones puede convenir confirmar el número de disco en la BIOS. Nota: cuando es el primer disco, suele considerarse disco 0. Lo compruebo con Gparted en la screenshot, pero sirve también hacerlo con la utilidad de discos de Ubuntu/Mint/Fedora o cualquier programa similar. La cosa es saber de que tamaño es la swap, que es la referencia que necesitaremos buscar en Windows.


2. Como no sabemos el número que Windows le pone a la partición, arrancamos Windows, abrimos una consola y ejecutamos DISKPART. No hay nada que instalar, viene de serie.
Como el disco duro en este caso era el 0, tecleamos el siguiente comando en la ventana del diskpart. Las mayúsculas aquí dan igual, solo las pongo para que sea mas visible.


Nos avisará de que el disco 0 es el seleccionado. Ahora ponemos el siguiente comando:


Y nos saca este listado de particiones.




Y esta era la parte mas compleja, realmente. Saber que, en este caso, la partición swap windows la ve como partición 5 del disco 0 (es la de 2039 MB, o lo que es lo mismo casi 2 gigas), lo que se convierte en \\Device\\Harddisk0\\Partition5

Ahora vamos al driver en sí. Lo descargamos de la página de su autor, http://www.acc.umu.se/~bosse/
Es el primero que aparece, SwapFs-3.0. Lo extraemos, y abrimos el swapfs.reg con un editor de texto. Toca cambiar dos lineas

Cambiamos:
"SwapDevice"="\\Device\\Harddisk0\\Partition1"
por
"SwapDevice"="\\Device\\Harddisk0\\Partition5"

y
"S:"="\\Device\\Harddisk0\\Partition1"
por
"S:"="\\Device\\Harddisk0\\Partition5"

También podemos hacer que sea otra letra, por defecto es S: pero basta con cambiarlo ahí. Yo lo cambié por T: porque ya tengo como S: una partición para compartir en red local con los juegos de Steam y las series de TV.

Hacemos doble clic en el swapfs.reg, nos pedirá confirmación para añadirlo al registro, le decimos que si. Ahora a copiar el driver en sí. Copiamos el swapfs.sys a la carpeta Windows\system32\drivers, podemos ir directamente si en inicio - ejecutar pegamos %systemroot%\system32\drivers\

Y ahora es solo reiniciar, y ya se podrá usar la partición de swap en Windows. Y hay que tener en cuenta que el único uso prácitco es como swap o como directorio temporal para programas, ya que el contenido se vacía en cada arranque.

Y ahora el paso final, hacer que Windows use esa partición para el swap.


Windows 7
Primero vamos a "mi PC" para comprobar que el driver está funcionando y aparece la partición de swap utilizable.

Vamos al Panel de control - Sistema, y a la izquierda le damos en Configuración avanzada del sistema.
 
En Rendimiento, le damos a Configuración. En la siguiente ventana, vamos a la pestaña de Opciones avanzadas, y en Memoria virtual le damos a "Cambiar...". A continuación, desmarcamos la casilla de dejar a windows administrar automáticamente el tamaño. Aquí podemos dejar el de C: si queremos como administrado por el sistema, pero yo optaría por quitarlo.


Si queremos que la partición Swap nueva sea la única swap de Windows, y que deje de haber nada de swap en C: marcamos la C:, le damos a "sin archivo de paginación", y Establecer. Luego nos vamos a la de Swap (T: en mi caso, S: por defecto), y.. yo en mi caso le pongo tamaño fijo, en vez de dejar que Windows lo administre. Suele ser mas rápido que el swap esté todo junto.


Windows no deja usar todo el espacio disponible para swap, requiere dejarle al menos 5 megas libres, con lo que en este caso al ser una particion de 2035 megas le pongo minimo y maximo 2030. Establecer, aceptar, cerrar todo y reiniciar. Y ya está Windows usando la swap de linux para su propia swap tambien.

No hay comentarios:

Publicar un comentario