Cómo migrar sistemas de archivos Ext2 o Ext3 a Ext4 en Linux

Ventana de shell de Linux en una computadora portátil
Fatmawati Achmad Zaenuri / Shutterstock.com

¿Sabe que debe actualizar su sistema de archivos Linux pero no puede enfrentar el agravamiento? Aquí le mostramos cómo convertir ext2 y ext3 a ext4 sin la molestia de una reinstalación completa.

Sistemas de archivos Linux

Si fueras educado, llamarías venerable al sistema de archivos ext3 , lanzándose como lo hizo en 2001. En cuanto al pobre y viejo ext2 , ese sistema de archivos es de 1993, y no hay otra palabra para describirlo que no sea antiguo. En términos informáticos, ext3 es una antigüedad. Y ext2 es un hallazgo arqueológico.

El sistema de archivos moderno en el mundo Linux es ext4, que se lanzó en 2008 . Es más rápido, menos propenso a la fragmentación, capaz de manejar sistemas de archivos más grandes, y archivos más grandes, tiene sellos de fecha de archivo más precisos y, ¿mencionamos que es más rápido? Mucho más rápido.

OK, estoy vendido, hagamos esto

Pensemos en esto. De hecho, probablemente no quieras actualizar tu sistema de archivos.

En su lugar, tiene más sentido actualizar todo su sistema Linux. Por actualización nos referimos a realizar un par de copias de seguridad de datos, limpiar su sistema, reinstalar una distribución moderna y restaurar sus datos. Vaya por la actualización completa. Obtenga los beneficios de una distribución Linux moderna con software actualizado, así como un sistema de archivos limpio, actualizado y recién instalado.

Si no puede ejecutar un Linux moderno en su hardware, incluso una de las distribuciones livianas como Lubuntu , LinuxLite o CrunchBang ++ , y absolutamente tiene que seguir con el Linux que tiene, todavía hay advertencias.

Para actualizar su sistema de archivos a ext4, que tiene que estar utilizando la versión del núcleo 2.6.28 o posterior. Entonces, si no tiene esa versión del kernel o una versión posterior, primero debe actualizar su kernel.

Advertencia : ni siquiera piense en probar esto sin cumplir con el requisito de la versión del kernel. Terminarás con una computadora que no arranca. Compruebe qué versión de kernel está utilizando  antes de continuar.

Asegúrese de tener un disco de instalación para la versión de Linux que está usando actualmente y manténgalo en espera. Actualizar su sistema de archivos no está exento de peligros.

Las copias de seguridad son su red de seguridad. Antes de hacer cualquier cosa, haga un par de copias de seguridad de datos en diferentes medios de copia de seguridad y asegúrese de tener a mano ese antiguo disco de instalación de Linux. Si algo sale muy mal, puede volver a instalar su antiguo Linux y restaurar sus datos.

Relacionado:  Cómo extraer archivos de un archivo .tar.gz o .tar.bz2 en Linux

También necesitará un Live CD / DVD actual de una distribución moderna de Linux para realizar la actualización del sistema de archivos. Así que asegúrese de tener uno de esos también a mano.

Por cierto, este artículo se investigó utilizando una instalación de Ubuntu Jaunty Jackalope, que se publicó en abril de 2009. Utilizaba ext3 como sistema de archivos.

¿Sigues con nosotros?

John Wayne dijo que el coraje estaba aterrorizado, pero todavía estaba ensillado de todos modos. Admiro tus tripas.

Lo primero que vamos a hacer es comprobar la versión del kernel con uname. El unamecomando puede mostrar diferentes tipos de información del sistema.

En su antigua computadora Linux, abra una ventana de terminal y escriba el siguiente comando. Escriba uname, un espacio  -r, luego presione Enter.

uname -r

uname -r en una ventana de terminal.

La versión de Linux en esta computadora usa la versión 2.6.28-11 del kernel, por lo que cumplimos con el requisito de la versión del kernel.

En serio, si no ha cumplido con este requisito, deténgase ahora. Lo suficientemente cerca no es suficiente. Debe cumplir o superar este número de versión del kernel.

Ahora comprobaremos los identificadores de disco con blkid, que identifica los dispositivos de bloque en el sistema.

blkid

blkid en una ventana de terminal

Este sistema tiene un solo disco duro (sda) que tiene un sistema de archivos (sda1) que está montado en / dev / sda1. Este es un sistema de archivos ext3. Este es el sistema de archivos que vamos a convertir.

También hay un sistema de archivos llamado swap, pero eso no nos interesa.

Reiniciar con el Live CD

Inserte el Live CD y reinicie su computadora. Es posible que deba presionar una tecla durante el reinicio para que la computadora arranque desde el CD . La tecla a presionar se mostrará durante las primeras etapas del proceso de inicio. Sea rápido: la ventana de oportunidad no dura mucho. Si lo pierde, reinicie y vuelva a intentarlo.

Cuando haya arrancado en el entorno de Live CD, asegúrese de no iniciar accidentalmente una instalación. Tómese su tiempo para leer las opciones que se le proporcionan, y si hay una que dice algo similar a «Probar nombre de distribución», seleccione esa opción.

Conviértete en root

Abra una ventana de terminal y escriba el siguiente comando. Esto efectivamente lo convierte en root y significa que no necesita escribir sudodelante de cada comando.

sudo bash

sudo bash en una ventana de terminal

Tenga en cuenta que el símbolo del sistema ha cambiado. Eres root. Ve con cuidado.

Identificar los sistemas de archivos

Necesitamos identificar los sistemas de archivos una vez más para ver cómo se muestran en esta instancia de Linux.

fdisk -l

fdisk -l en una ventana de terminal

Verá un resultado similar al siguiente.

Relacionado:  Cómo usar el comando chgrp en Linux

salida de fdisk en una ventana de terminal

El sistema de archivos que identificamos previamente como sda1 ha sido encontrado y reconocido por Live CD Linux. Ese es el primer mini-hito.

El segundo es convertir el sistema de archivos.

Conversión del sistema de archivos

Aquí se enumeran dos comandos, uno para convertir de ext2 a ext4 y otro para convertir de ext3 a ext4. ¡Asegúrate de usar el adecuado para ti!

Para convertir de ext2 a ext4 use esto:

tune2fs -O extensiones, uninit_bg, dir_index, has_journal / dev / sda1

Para convertir de ext3 a ext4 use esto:

tune2fs -O extensiones, uninit_bg, dir_index / dev / sda1

tune2fs -O extensiones, uninit_bg, dir_index / dev / sda1 en una ventana de terminal

Es un poco decepcionante ya que no parece que sucedan muchas cosas. Regresará al símbolo del sistema. Si ve algún resultado, probablemente serán mensajes de error. Así que no hay noticias son buenas noticias aquí.

Verifique el sistema de archivos

Aunque no se marcaron errores, seamos cuidadosos y revisemos todo el sistema de archivos en busca de problemas. Usaremos un comando llamado e2fsck. Esta es una herramienta que se usa para verificar la integridad de los sistemas de archivos . También puede intentar reparar cualquier problema que encuentre. La e2fsckherramienta funciona con sistemas de archivos ext2, ext3 y también ext4.

La -popción (preen) hace que e2fsck intente reparar los errores y la -fopción (forzar) hace e2fsckque se verifique el sistema de archivos incluso si el sistema de archivos parece limpio.

e2fsck -pf / dev / sda1

e2fsck -pf / dev / sda1 en una ventana de terminal

No se informaron errores. Ahora podemos intentar montar el sistema de archivos.

Montaje del FIlesystem

Necesitamos ajustar la tabla del sistema de archivos (fstab) y el cargador de arranque grub para que funcionen con el sistema de archivos convertido. Para hacer esto, debemos montar el sistema de archivos. Lo montaremos en / mnt. Identificamos el sistema de archivos como sda1 anteriormente, por lo que nuestro comando es:

montaje -t ext4 / dev / sda1 / mnt

montar -t ext4 / dev / sda1 / mnt en una ventana de terminal

Ahora que está montado, deberíamos poder enumerar el sistema de archivos. Comprobemos eso. La raíz del sistema de archivos estará en el punto de montaje, / mnt.

ls / mnt

montar -t ext4 / dev / sda1 / mnt en una ventana de terminal

Eso es alentador. Parece que lo esperaríamos.

Editando fstab

Necesitamos editar el archivo fstab y cambiar cualquier referencia de ext3 (o ext2, si ese es el sistema de archivos desde el que ha convertido) a ext4.

El Live CD usado en este ejemplo tiene el nanoeditor. Es un pequeño editor simple, así que lo usaremos. Si nanono está disponible en su Live CD, habrá otro editor que habrá sido incluido por la distribución de Linux en el CD.

nano / mnt / etc / fstab

nano / mnt / etc / fstab en una ventana de terminal

El nanoaparecerá la ventana del editor. Necesita buscar apariciones de la cadena «ext3» o «ext2» y cambiarlas a «ext4». En este ejemplo, hubo una ocurrencia de ext3, que está resaltada.

Relacionado:  Cómo reiniciar o apagar Linux usando la línea de comandos

nano ventana con ext3 resaltado

El ext3 fue reemplazado por ext4.

nano ventana con ext4 resaltado

Necesita guardar el archivo y salir del editor. En nano Ctrl + O guardará el archivo y Ctrl + X cerrará el editor.

Actualización de grub

Debido a que hemos montado el sistema de archivos sda1 en / mnt, las rutas a los directorios en el sistema de archivos se han movido efectivamente un nivel más profundo de lo habitual. Es por eso que la ruta que proporcionamos a nano fue / mnt / etc / fstab en lugar del habitual / etc / fstab.

Debido a que grub espera encontrar cosas en ciertos lugares, necesitamos hacer que el sistema de archivos parezca como si estuviera montado normalmente. Necesitamos que la raíz del sistema de archivos esté en / y no en / mnt. El comando chroot nos permite ejecutar un shell de comandos y especificar el punto raíz que deseamos usar.

El comando que usamos es:

chroot / mnt

chroot / mnt en una ventana de terminal

Tenga en cuenta que el símbolo del sistema ha cambiado.

Ahora podemos emitir el update-grubcomando para que grub lea el archivo fstab y se reconfigure.

update-grub

update-grub en una ventana de terminal.

Una vez que grub se ha reconfigurado, necesitamos instalar una nueva instancia de grub en el disco duro. Tenga en cuenta que este es el disco duro sda, no el sistema de archivos sda1. No incluya el «1», simplemente escriba «sda».

grub-install / dev / sda

grub-install / dev / sda en una ventana de terminal

Reiniciar su Linux

Reinicie su sistema y retire el Live CD. Cuando su sistema se haya reiniciado, abra una ventana de terminal e ingrese el siguiente comando:

blkid

blkid en una ventana de terminal

Como podemos ver, el sistema de archivos ahora es un sistema de archivos ext4.

La máquina en la que se investigó este artículo tardó tanto en reiniciarse (más de diez minutos) que se asumió que algo había salido mal y que nunca volvería a funcionar.

Quizás fue porque era una máquina virtual, o quizás parte de la conversión del sistema de archivos tiene lugar durante ese primer arranque. De cualquier manera, la paciencia ganó y finalmente resurgió. Si su máquina hace algo similar, espere. Puede que no todo esté perdido.

Los reinicios posteriores fueron tan rápidos como de costumbre.

Actualice su Linux en su lugar

Bueno, llegamos allí. Pero todavía te queda un híbrido no estándar que usa una versión antigua de Linux en un sistema de archivos moderno.

Si cambiarse a un nuevo sistema de archivos es importante para usted, y su hardware puede aceptarlo, cambiar a una distribución Linux actual es la mejor ruta a seguir. Disfrutará de todas las demás ventajas de seguridad y software que se obtienen al hacerlo.

Aún así, si no hay nada más para ello, y algunas veces no tenemos las opciones que desearíamos tener, estos pasos le permitirán actualizar su sistema de archivos.