¿Cómo extender una partición y un sistema de archivos ext4?

¿Cómo extender una partición y un sistema de archivos ext4?

Tengo un disco de 400 GB con una partición ext4 de 320 GB. Me gustaría hacer crecer la partición ext4 para usar el espacio restante (80 GB de espacio libre).

+--------------------------------+--------+
|             ext4               |  Free  |
+--------------------------------+--------+

¿Cómo podría hacer esto?

He visto gente usándolo resize2fspero no entiendo si cambia el tamaño de la partición.

Otra solución sería usar, fdiskpero no quiero eliminar mi partición y perder datos. ¿Cómo podría simplemente hacer crecer la partición sin perder ningún archivo?

Nota: estoy hablando de una partición de datos no montada sin LVM y tengo copias de seguridad, pero me gustaría evitar perder algo de tiempo en la recuperación.

Respuesta1

Debes comenzar con la partición desmontada. Si no puede desmontarlo (por ejemplo, es su partición raíz o algo más que el sistema necesita para ejecutar), use algo comoCD de rescate del sistemaen cambio.

  1. Ejecute parted, o gpartedsi prefiere una GUI, y cambie el tamaño de la partición para usar el espacio adicional. Lo prefiero gpartedporque te brinda una bonita representación gráfica, muy similar a la que dibujaste en tu pregunta.

  2. resize2fs /dev/whatever

  3. e2fsck /dev/whatever(sólo para saber si estás en el lado seguro)

  4. Vuelva a montar su partición.

Si bien nunca he visto que esto falle, ¡primero haga una copia de seguridad de sus datos!

Respuesta2

Usando growparty resize2fsejemplo:

Tenga en cuenta el espacio entre /dev/sday 1en el caso de growpart /dev/sda 1:

Estos son los dos comandos:

growpart  /dev/sda 1
resize2fs /dev/sda1
$ growpart /dev/sda 1
CHANGED: partition=1 start=2048 old: size=39999455 end=40001503 new: size=80000991,end=80003039
$ resize2fs /dev/sda1
resize2fs 1.45.4 (23-Sep-2019)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/sda1 is now 10000123 (4k) blocks long.

Si esto no funciona como se esperaba, podría deberse a una partición extendida, en cuyo caso debería aplicarse esta respuesta:https://unix.stackexchange.com/a/687489/124109

Respuesta3

Sí, puede hacer crecer EXT4 fs en línea si ya tiene la partición ordenada. ¿Has ordenado la partición? ¿Tienes LVM?

sudo resize2fs /dev/drive_to_grow

fdiskcambiará el tamaño de su partición, es cierto, pero si se trata de una partición raíz (o de hecho, cualquier partición montada), primero deberá desmontarla. ¡Lo más probable es que esté fuera de línea!

Al igual que con todo lo relacionado con las operaciones de disco/fs, recomiendo encarecidamente tener una copia de seguridad y un proceso de recuperación probado y bien comprendido.

Respuesta4

La respuesta aceptada está algo desactualizada: es mejor cambiar el tamaño de un sistema de archivos ext4en líneaen lugar de fuera de línea, ya que la ruta del código de expansión en línea se usa mucho más comúnmente que la ruta fuera de línea.

Probablemente lo más difícil sea expandir la partición subyacente, a menos que esté usando LVM.yTienes espacio libre en tu grupo de volúmenes. Para expandir una partición en línea, puede usar fdisko parted; luego, había que ejecutar kpartx <device>para informar al kernel del cambio. Si usa LVM, necesita pvresizela partición recién redimensionada antes lvresizedel volumen.

Finalmente, puede emitir resize2fssu sistema de archivos.

información relacionada