Mi Blog

Patrocinador:

No te olvides seguirme en Facebook.

Tan solo tienes que hacer click en Me Gusta

 

 

x

Cómo convertir particiones ext2/ext3 a ext4 en GNU/Linux

Cómo convertir particiones ext2/ext3 a ext4 en GNU/Linux

(Tiempo estimado: 7 - 14 minutos)

Convertir el sistema de ficheros de tipo ext2 o ext3 al "nuevo" formato ext4 es sumamente sencillo y no conlleva la pérdida de información. En algunas ocasiones, tenemos alguna máquina con un sistema de ficheros obsoleto y queremos migrarlo a un nuevo sistema de ficheros con journaling sin perder información.

Seguid leyendo y os enseñaré a convertir vuestras particiones ext2/ext3 a ext4 sin perder información...

 

 

¿QUÉ ES EXT4?

ext4 constituye la siguiente fase en la evolución del sistema de archivos denominado extended, que indudablemente se ha convertido en uno de los más utilizados por los usuarios de Linux.

Es muy importante destacar que las modificaciones introducidas por ext4 han sido más numerosas y significativas en comparación a las realizadas por su antecesor sobre ext2. En otras palabras, ext4 presenta modificaciones en las estructuras internas del sistema de ficheros, como sucede en el caso de aquellas destinadas a la preservación de los datos propios de cada fichero, mientras que ext3 se caracterizó principalmente por haber introducido la funcionalidad journaling, inexistente en ext2.

En síntesis, el resultado ha sido un sistema mejor diseñado, más eficiente y confiable, y por supuesto con mayores prestaciones.

Características:

Las principales mejoras son:

  • Soporte de volúmenes de hasta 1024 PiB.
  • Soporte añadido de extent.
  • Menor uso del CPU.
  • Mejoras en la velocidad de lectura y escritura.

 

 

ext4 es un sistema de archivos transaccional

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un PC con cualquier distribución de GNU/Linux
  • Al menos una partición con ext2 o ext3
  • Internet recomendado

 

 

2.- COMPROBACIÓN DE LAS PARTICIONES EXT2/EXT3

El primero paso a realizar es revisar el sistema actual de ficheros. En el siguiente ejemplo se ve como el sistema tiene varias particiones, una de ellas es /home que usa ext2 y / que usa ext3. Ambas particiones serán las que convirtamos a ext4.

root@debian:~# df -Th
S.ficheros Tipo Tamaño Usados Disp Uso% Montado en
udev devtmpfs 480M 0 480M 0% /dev
tmpfs tmpfs 99M 4,2M 95M 5% /run
/dev/sda1 ext3 2,0G 965M 887M 53% /
tmpfs tmpfs 494M 0 494M 0% /dev/shm
tmpfs tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs tmpfs 494M 0 494M 0% /sys/fs/cgroup
/dev/sda6 ext2 2,1G 3,2M 2,0G 1% /home
tmpfs tmpfs 99M 0 99M 0% /run/user/1000

 

 

3.- MIGRACIÓN DE EXT2 A EXT4 (EN CALIENTE)

Para migrar las particiones a ext4 es requisito indispensable que estén desmontadas. Por tanto, habrá algunas particiones que no se puedan migrar con el sistema operativo arrancado. Primeramente, la partición a migrar es /home, que es utilizada por los usuarios del sistema. Como root no usa esa partición, ya que su home está en /, se puede desmontar la partición /home con el siguiente comando: 

root@debian:~# umount /home

 

 

Una vez desmontada la partición, la convertiremos a ext4 con el siguiente comando. Hay que tener en cuenta que /dev/sda6 es la partición del disco donde se monta /home y que se puede ver con el comando "df -Th" y en cada caso puede ser otra partición:

root@debian:~# tune2fs -O extents,uninit_bg,dir_index,has_journal /dev/sda6
tune2fs 1.44.5 (15-Dec-2018)
Creating journal inode: done

 

 

Un vez finalizado el proceso, (no suele tardar mucho), ejecutaremos fsck sobre dicha partición para detectar posibles fallos:

root@debian:~# e2fsck -pf /dev/sda6
/dev/sda6: 17/136000 files (0.0% non-contiguous), 25734/544000 blocks

 

 

Antes de proceder a montar la partición, hay que editar el fichero /etc/fstab para cambiar el tipo de partición /home de ext2 a ext4:

UUID=37f7b9c2-ab36-4bec-ae8f-8b8d88f2c395 /             ext3        errors=remount-ro 0 1
UUID=53148e47-c32b-4427-9f83-897a8227ff09 /home ext4 defaults 0 2
UUID=72ba4090-0c22-4cac-ae63-99c0e8492976 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0

 

 

Por último, montaremos todas las particiones desmontadas con el siguiente comando:

root@debian:~# mount -all

 

 

Ahora hay que verificar que la partición /home se ha montado correctamente como ext4:

root@debian:~# df -Th
S.ficheros Tipo Tamaño Usados Disp Uso% Montado en
udev devtmpfs 480M 0 480M 0% /dev
tmpfs tmpfs 99M 4,2M 95M 5% /run
/dev/sda1 ext3 2,0G 965M 887M 53% /
tmpfs tmpfs 494M 0 494M 0% /dev/shm
tmpfs tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs tmpfs 494M 0 494M 0% /sys/fs/cgroup
tmpfs tmpfs 99M 0 99M 0% /run/user/1000
/dev/sda6      ext4       2,1G   3,2M 2,0G   1% /home

4.- MIGRACIÓN DE EXT3 A EXT4 (LIVE CD)

Para migrar una partición (ext2/ext3) que está siendo usada por el sistema, no es posible por que está la unidad montada y no se puede desmontar. Por eso hay que hacerlo con el sistema operativo apagado y con una Live CD. En este ejemplo he usado una Live CD de Debian 10 https://www.debian.org/CD/live/ y con el usuario root se han hecho los siguientes pasos.

Una vez arrancada la Live CD, ejecutaremos el siguiente comando y veremos que las particiones no son las de nuestro equipo, sino las que se crean de forma efímera y que no vamos a utilizar para nada:

root@debian:~# df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 478M 0 478M 0% /dev
tmpfs tmpfs 99M 3.0M 96M 4% /run
/dev/sr0 iso9660 945M 945M 0 100% /run/live/medium
/dev/loop0 squashfs 612M 612M 0 100% /run/live/rootfs/filesystem.squashfs
tmpfs tmpfs 494M 144M 351M 29% /run/live/overlay
overlay overlay 494M 144M 351M 29% /
tmpfs tmpfs 494M 0 494M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 494M 0 494M 0% /sys/fs/cgroup
tmpfs tmpfs 494M 0 494M 0% /tmp
tmpfs tmpfs 99M 0 99M 0% /run/user/1000
tmpfs tmpfs 99M 0 99M 0% /run/user/0

 

 

Ahora hay que saber cual es la unidad de disco a la que queremos modificar sus particiones. Para ello ejecutaremos el siguiente comando y veremos cual es la unidad, en este ejemplo el disco es /dev/sda:

root@debian:~# fdisk -l
Disk /dev/sda: 5 GiB, 5368709120 bytes, 10485760 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x58833438

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 4128767 4126720 2G 83 Linux
/dev/sda2 4130814 10483711 6352898 3G 5 Extended
/dev/sda5 4130816 6129663 1998848 976M 82 Linux swap / Solaris
/dev/sda6 6131712 10483711 4352000 2.1G 83 Linux


Disk /dev/loop0: 611 MiB, 640729088 bytes, 1251424 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

 

 

La partición que queremos modificar es la que se monta en la partición /dev/sda1 (esto se puede ver con df -Th con el equipo arrancado). Ahora convertiremos la partición /dev/sda1 a ext4. Como es una partición de ext3, no hace falta indicarle nada de journaling como en ext2:

root@debian:~# tune2fs -O extents,uninit_bg,dir_index /dev/sda1
tune2fs 1.44.5 (15-Dec-2018)

 

 

Una vez terminado el proceso, ejecutaremos un fsck sobre la partición con el fin de buscar fallos:

root@debian:~# e2fsck -pf /dev/sda1
/dev/sda1: 31452/129024 files (7.8% non-contiguous), 263948/515840 blocks

 

 

Como es necesario modificar el fichero /etc/fstab, es necesario montar /dev/sda1 para acceder a su contenido. Para ello, crearemos un directorio auxiliar y montaremos la partición en dicho directorio:

Creamos el directorio:

root@debian:~# mkdir /root_filesystem

 

 

Ahora, hay que montar la unidad en dicho directorio:

root@debian:~# vi /root_filesystem/etc/fstab

 

 

Hay que editar el fichero /root_filesystem/etc/fstab:

root@debian:~# vi /root_filesystem/etc/fstab

 

 

El fichero quedará de la siguiente forma (cambiando el tipo de /dev/sda1 a ext4):

UUID=37f7b9c2-ab36-4bec-ae8f-8b8d88f2c395 /             ext4        errors=remount-ro 0 1
UUID=53148e47-c32b-4427-9f83-897a8227ff09 /home ext4 defaults 0 2
UUID=72ba4090-0c22-4cac-ae63-99c0e8492976 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0

 

 

Una vez terminados los cambios, solo queda reiniciar el equipo:

root@debian:~# reboot

 

ENJOY!


  gnu , linux , ext2 , ext3 , ext4
Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.

Escribir un comentario

Código de seguridad
Refescar