Hace ya tiempo que realicé por primera vez este proceso. Pero hasta que no he visto que no da ningún problema no he querido escribirlo.
¿ Para qué migrar ? Básicamente por rendimiento, aunque también hay otro tipo de mejoras. Podéis consultar la lista de mejoras (en castellano). En muy muy resumen, desfragmenta menos y chequea más rápido. Al final se nota que el sistema va más "ligero", que es lo que importa.
Requisitos Linux con particiones Ext3 (o Ext2), grub 0.97 o superior, y kernel 2.6.28 o superior.
El COMO
Arrancamos desde cd. Con un Ubuntu 9.04 nos basta.
Si la partición está en Ext2 la pasamos a Ext3.# tune2fs -j /dev/<DEV>
Donde <DEV> es la partición que queremos migrar.
Ahora ya empezamos a migrar a Ext4.# tune2fs -O extents,uninit_bg,dir_index /dev/<DEV>
Con esto añadimos las nuevas opciones de Ext4.
Para que los cambios se apliquen, le decimos que repare la partición con las nuevas opciones, y así aplicará los cambios.# e2fsck -fpDC0 /dev/<DEV>
Este proceso puede ser algo largo. Acordaros de hacer esto para cada partición que querais migrar.
Con esto ya están migradas las particiones, pero el sistema aún no lo sabe. Sin salir del cdlive vamos a actualizar el sistema. Hay 2 cosillas a hacer: la primera actualizar /etc/fstab y la segunda grub.
Vamos por la primera. Montamos la para partición de /etc (o /). Editamos /etc/fstab y cambiamos el sistema de archivos de ext3 (o ext2) a ext4. Por ejemplo, pasaríamos de tener una linea así/dev/sda1 / ext3 relatime,errors=remount-ro 0 1
a otra así/dev/sda1 / ext4 relatime,errors=remount-ro 0 1
Ahora los del Grub. Es un poco más complicado, pero no mucho. Montamos tambien la particion /boot (o /). Modificamos /boot/grub/menu.lst . Toca añadir rootfs=ext4 a la linea # kopt=root=/dev/sda1 ro
Quedando así# kopt=root=/dev/sda1 rootfs=ext4 ro
También hay que añadirlo todas las lineas de parámetros de kernel que ya tenemos. Si tenemostitle Ubuntu 9.04, kernel 2.6.28-15-generic
root (hd0,0)
kernel /vmlinuz-2.6.28-15-generic root=/dev/sda1 ro quiet splash
initrd /initrd.img-2.6.28-15-generic
quiet
Sólo tocamos la línea que empieza por kernel quedando así.title Ubuntu 9.04, kernel 2.6.28-15-generic
root (hd0,0)
kernel /vmlinuz-2.6.28-15-generic root=/dev/sda1 rootfs=ext4 ro quiet splash
initrd /initrd.img-2.6.28-15-generic
quiet
Ahora deberíais poder arrancar normalmente el sistema. La verdad es que lo he hecho en varios ordenadores sin que aparezcan problemas.
Hasta la próxima.
Fuentes:
Ext4 Howto de Kernel.org
Ubuntu Life
Wikipedia