[Tip] Hacer un chroot en un LiveCD

Estándar

Para revivir un poco el blog, ahora que vuelvo a tener un poco más de tiempo, vamos a poner un nuevo Tip o consejo que me resulta muy útil cuando una instalación no ha resultado completamente correcta y se quiere realizar algún ajuste sin que el sistema funcione, hacer chroot.

Importante saber lo que es el chrooting antes de nada :p. Se trata de cambiar el directorio raíz del sistema para el proceso actual y todos sus procesos hijos [].

Cuando tenemos un sistema operativo de tipo Linux instalado, pero que no arranca podemos utilizar este método para introducirnos en el sistema desde un LiveCD (de cualquier distribución) para usar el sistema desde un terminal y poder intentar arreglar lo que hayamos roto previamente.

Uno de los usos por excelencia es reinstalar el grub porque algún otro sistema operativo (ejem…) se lo haya cargado. Para realizar esta operación tendremos que arrancar desde el LiveCD (por ejemplo desde el de Arch) y montar las particiones del sistema y hacer el chroot. En sl ejemplo usaremos el siguiente esquema de particiones:

  • sda1: /boot
  • sda2: /
  • sda3: /home

Deberemos crear una carpeta que albergue el sistema y montar las particiones de la siguiente forma.

#Creamos la carpeta para el sistema
mkdir /sistema
#Montamos las particiones
mount /dev/sda2 /sistema
mount /dev/sda1 /sistema/boot
mount /dev/sda3 /sistema/home
#Montamos /proc, /sys y /dev (sistemas de temporales)
mount -t proc proc /sistema/proc
mount -t sysfs sys /sistema/sys
mount -o bind /dev /sistema/dev
#Copiamos la información relativa al dns
cp -L /etc/resolv.conf /sistema/etc
#Hacemos el chroot
chroot /systema /bin/bash

Con esto tendremos estaremos oficialmente en nuestro sistema y las operaciones que realicemos se realizarán en nuestro sistema y no el LiveCD.

Si usamos LVM2 como sistema de particiones lógicas deberemos realizar antes un par de operaciones extras, que son:

#Cargamos el módulo de lvm2 por si no lo trae cargado el kernel de serie
modprobe dm-mod
#Activamos los volúmenes lógicos
vgchange -ay

Si queremos reparar el grub, como dijimos al principio de la entrada tendremos que asegurarnos además de tener actualizada nuestra tabla de particiones, son el siguiente comando:

grep -v rootfs /proc/mounts > /etc/mtab

No nos olvidemos después de terminar con la reparación del sistema de realizar las operaciones a la inversa:

#Salimos del sistema <em>chrooted</em>
exit
#Desmontamos las particiones
umount /sistema{/boot,/home,/dev,/sys,/proc,}
#En el caso de que tengamos lvm2
# vgchange -an

Y reiniciamos nuestro sistema para disfrutar de él ya reparado y en perfecto estado.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s