Si es nuevo en Linux o alguien que planea deshacerse de Windows y cambiar a Linux, este artículo le será de gran utilidad. Este artículo paso a paso lo guiará a través del procedimiento para mover el directorio de inicio a una nueva partición o unidad en Linux.
Introducción
A la mayoría de los principiantes cuando instalen sistemas operativos Linux no les importará crear particiones diferentes.
Los novatos generalmente elegirán quedarse con la partición predeterminada donde todos sus sistemas de archivos (/home
, /var
, /boot/
, /opt
, etc.) se montarán bajo una única partición.
De hecho, también elegí el esquema de partición predeterminado en mis primeros días como novato en Linux. Cuando mi sistema operativo falla, perdí todos mis datos personales que se encuentran en /home
directorio. Esto se debe a que creé solo una partición para todo mi disco y monté todo en esa partición.
¡Lección aprendida! La mejor manera de proteger los datos es crear una partición separada para el directorio de inicio. Entonces, si su máquina falla por algún motivo, la partición no se verá afectada a menos que todo el disco esté defectuoso.
Junto con las particiones separadas, es una buena práctica hacer una copia de seguridad de sus datos a un disco externo. Hay muchas herramientas de copia de seguridad disponibles para la plataforma Linux. Hemos publicado muchas guías sobre Respaldo de Linux tema. Consulte los siguientes enlaces y elija el que mejor se adapte a sus necesidades.
Guías de copia de seguridad de Linux:
- Cómo hacer una copia de seguridad de todo su sistema Linux usando Rsync
- Cómo hacer copias de seguridad de archivos y directorios usando Rsync en Linux
- Cómo hacer una copia de seguridad y restaurar el sistema Linux con Timeshift
- Cómo hacer copias de seguridad y restaurar archivos usando BorgBackup en Linux
- Vorta:una interfaz gráfica para BorgBackup
- Cómo hacer copias de seguridad y restaurar archivos usando Deja Dup en Linux
- Cómo configurar un servidor de respaldo usando Rsnapshot
- CYA:Utilidad de instantánea y restauración del sistema para Linux
- Restic:una aplicación de copia de seguridad rápida, segura y eficiente
- Cómo instalar Rclone en Linux y Unix
Para el propósito de esta guía, usaré Rocky Linux máquina virtual ejecutándose en Virtualbox.
Descargo de responsabilidad: No haga esto en un sistema de producción. La transferencia del directorio /home a una nueva partición o unidad puede provocar la pérdida de datos y/o fallas en el arranque del sistema. Si eres novato, te recomiendo encarecidamente que busques ayuda de expertos. Ni el autor ni el equipo de OSTechNix son responsables de ningún daño. ¡Has sido advertido!
Obtener información de la partición
Podemos listar los detalles de la partición del disco usando varias herramientas en Linux. En esta guía, usaremos los comandos lsblk y fdisk.
Para obtener la información del dispositivo de bloqueo mediante lsblk
comando, ejecutar:
$ lsblk

En mi máquina tengo una unidad de 50GB (sda). Opté por un esquema de partición predeterminado, por lo que hay dos particiones (sda1, sda2) creadas por el instalador del sistema operativo.
Como se indicó anteriormente, también podemos usar el fdisk
comando para obtener la información del dispositivo de bloqueo.
$ sudo fdisk -l

Para verificar en qué partición está montado el directorio de inicio, use el df
dominio. En mi caso se monta bajo / .
$ df -h /home Filesystem Size Used Avail Use% Mounted on /dev/mapper/rl-root 46G 2.8G 43G 7% /
Crear nueva partición
He insertado una unidad más con un tamaño de 20 GB en la caja virtual. La unidad se conoce como sdb .

Vamos a crear una nueva partición desde la nueva unidad donde se montará la partición de inicio. Usaré el fdisk
utilidad para crear una partición.
$ sudo fdisk /dev/sdb
Escribe "n
" para crear una nueva partición.

Le pedirá que elija el tipo de partición, el número de partición, el primer sector y el último sector. En el último sector, puede ingresar en términos de GB, PB, TB, etc. Estoy creando una partición de 10 GB, así que ingrese +10G.

Escribe "w
" y escribirá los cambios en la tabla de particiones.

Ahora verifique si la nueva partición (es decir, sdb1 -> 10G) se crea enumerando la información del dispositivo de bloque con lsblk
comando:
$ lsblk /dev/sdb NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 10G 0 part
Formatear y montar la Partición
Formateemos la partición recién creada con el sistema de archivos ext4 usando mkfs
comando:
$ sudo mkfs.ext4 /dev/sdb1

Ahora la partición se puede montar en cualquier directorio que desee. Como vamos a montar este directorio temporalmente, elijo /mnt
directorio.
$ sudo mkdir /mnt/home_move/
$ sudo mount /dev/sdb1 /mnt/home_move/

Mover el directorio de inicio a una nueva partición en Linux
Ahora todo el directorio y los archivos del directorio de inicio deben copiarse en la partición recién creada montada en /mnt/home_move
.
Yo uso el siguiente rsync
comando para copiar los datos a la nueva partición. Reemplace el nombre de la ruta del directorio de destino con el suyo propio.
$ rsync -av /home/* /mnt/home_move/
Una vez que los datos se copian en la nueva partición, no elimine el directorio de inicio aún. Simplemente muévalo para que, en caso de contratiempos, pueda volver atrás.
$ sudo mv /home /home_old
$ ls -l /home
ls: cannot access '/home': No such file or directory
Crear un nuevo /home
directorio para montar /dev/sdb1
.
$ sudo mkdir /home
Recuerda la partición /dev/sdb1
ya está montado en /mnt/home_move/
. Debe desmontarse primero, para que pueda montarse en /home
directorio.
$ sudo umount /dev/sdb1
$ sudo mount /dev/sdb1 /home
Ahora la nueva partición /dev/sdb1
se montó con éxito en /home
directorio. Puede ejecutar lsblk
y df
comando para verificarlo.
$ lsblk /dev/sdb sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 10G 0 part /home
$ df -h /home/ Filesystem Size Used Avail Use% Mounted on /dev/sdb1 9.8G 37M 9.3G 1% /home
Montaje persistente usando Fstab
Agregar entrada al fstab
para que las particiones recién creadas se monten automáticamente durante el inicio del sistema. Tome la copia de seguridad del fstab
archivo como medida de seguridad.
$ sudo cp /etc/fstab /etc/fstab_old
Abra fstab y agregue las siguientes entradas al final del archivo fstab. Reemplazar /dev/sdb1
con el nombre de la partición de su unidad.
/dev/sdb1 /home ext4 defaults 0 0

También puede usar el UUID de un dispositivo de bloque para montar la partición. Para encontrar el UUID para un dispositivo de bloque, ejecute los siguientes comandos.
$ lsblk -f /dev/sdb1
$ blkid | grep -i sdb1

Reinicie la máquina, vuelva a iniciar sesión y verifique dónde está montado el directorio /home ejecutando df
comando.
$ df -h /home/ Filesystem Size Used Avail Use% Mounted on /dev/sdb1 9.8G 37M 9.3G 1% /home
Directorio de inicio de la partición durante la instalación del sistema operativo
Puede omitir todos los pasos discutidos en las secciones anteriores si ha creado una partición separada para el directorio de inicio durante la instalación del sistema operativo. Cada instalador tendrá un paso para configurar el disco.
Se le solicitará un esquema de partición automática o un esquema de partición personalizado. Debe elegir un esquema de partición personalizado y crear particiones separadas.
A continuación se muestra una imagen de muestra de mi partición personalizada RHEL 8.4 donde se crea una partición doméstica independiente con 15 GB.

Conclusión
En este artículo, hemos discutido cómo mover el directorio de inicio de una partición a otra partición en Linux. El procedimiento es el mismo si quisiera mover el directorio HOME a una nueva unidad.
Simplemente cree una nueva partición, formatéela con el sistema de archivos de su elección y móntela. Después de montar la partición, mueva los datos a la nueva. Mueva los datos de la partición antigua a la nueva. Finalmente, agregue la entrada fstab para que sea persistente.
Si tiene alguna sugerencia o comentario, publíquelo en la sección de comentarios y estaremos encantados de responderle.
Lectura relacionada:
- Crear directorio de inicio para usuarios existentes en Linux
Imagen destacada de Pixabay.