Pasar una partición linux a windows

Bueno, esto es re obvio, pero hoy estoy inspirado y con ganas de escribir, así que mientras hago el trabajo les dejo aquí lo que hice a modo de bitácora.

El escenario es el siguiente:

/dev/sdc1 mounted on /mnt/bkp4 type reiserfs (rw) -> la partición que debemos convertir
/dev/sdb1 mounted on /mnt/bkp1 type reiserfs (rw) -> la que usaremos de backup

En primer lugar tenemos que hacer backup de toda la partición a otra partición, como está es una particón de 1.5 TB y es posible que el proceso se corte usamos rsync para volver a tomarlo desde donde estaba:

root@c2:~# rsync -az --delete --progress /mnt/bkp4/FILES /mnt/bkp1/

Hago backup solamente del directorio FILES, porque es el único directorio de esa partición.

Bueno ahora nos queda borrar la partición Linux y crear una particón windows.

root@c2:~# umount /mnt/bkp4/
root@c2:~# fdisk /dev/sdc
Command (m for help): d
Selected partition 1

# con eso borramos la partición Linux, y ahora creamos la partición windows:

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-182401, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-182401, default 182401):
Using default value 182401

# Si listamos la partición ahora, veremos que nos quedó en linux

Command (m for help): p
Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1      182401  1465136001   83  Linux

# lo cambiamos a Fat32

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (W95 FAT32)
Command (m for help): p
Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1      182401  1465136001    b  W95 FAT32

#grabamos y salimos.

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
root@c2:~#

Ahora a formatear la particón.

root@c2:~# mkfs.msdos /dev/sdc1
mkfs.msdos 2.10 (22 Sep 2003)
mkfs.msdos: Attempting to create a too large file system

Claro que no funciona así, sólo lo dejé aquí para que quede este error común, el problema es que hay que formatearlo en fat32 (mkfs.vfat -F 32) no en fat16 (mkfs.msdos).
Si están usando slackware como yo en esta oportunidad, se darán cuenta que no viene con el mkfs.vfat, en ese caso corremos mkfs.msdos de la siguiente forma:

root@c2:~# mkfs.msdos -F 32 /dev/sdc1
mkfs.msdos 2.10 (22 Sep 2003)

Ahora lo montamos y pasamos toda la información de nuevo:

root@c2:~# mount /dev/sdc1 /mnt/bkp4/
mount: unknown filesystem type 'vfat'

¡Error! claro, no podía salir todo bien, esto pasa porque por lo general hago un kernel bien pequeño, bueno montemos el módulo del kernel y listo:

 root@c2:~# uname -a
 Linux c2 2.6.23.11 #5 SMP Fri Aug 7 00:40:21 ART 2009 i686 pentium4 i386 GNU/Linux
 root@c2:~# cd /usr/src/linux-2.6.23.11
 File systems  --->
 DOS/FAT/NT Filesystems  --->
 VFAT (Windows-95) fs support
 (437) Default codepage for FAT
 (iso8859-1) Default iocharset for FAT

Lo dejamos cómo módulo porque no tengo ganas de reiniciar remotamente. Salimos grabando los cambios, y ejecutamos

root@c2:/usr/src/linux-2.6.23.11# make
 root@c2:/usr/src/linux-2.6.23.11# make modules_install
 root@c2:/usr/src/linux-2.6.23.11# modprobe vfat
 root@c2:/usr/src/linux-2.6.23.11#
 Wuau parece que todo anda, probemos de nuevo:
 root@c2:/usr/src/linux-2.6.23.11# mount /dev/sdc1 /mnt/bkp4/
 root@c2:/usr/src/linux-2.6.23.11#
 Great, ahora solo tenemos que volver a copiar los archivos:
 root@c2:~# rsync -az --delete --progress /mnt/bkp1/FILES /mnt/bkp4/

Y listo, espero que les sirva.