Welcome to the Slackware Documentation Project

Chroot de los medios de instalacion

Slackware está lleno de herramientas que pueden ayudar cuando el sistema se vuelve inestable y no se puede iniciar. Un ejemplo es actualizar la imagen del kernel y luego olvidar ejecutar lilo.

Para poder acceder a su sistema sin iniciarlo directamente, es posible utilizar un medio de instalación como el CD1 de Slackware o el DVD. Una vez que los medios de instalación se carguen y comiencen, puede cambiar el directorio raíz de los medios a una partición de disco duro montada y usarlo como directorio raíz, ejecutando así los comandos directamente y afectándolos.

Preparación del volumen

Los ejemplos aquí son muy básicos y esperan que todo el sistema esté ubicado en una sola partición. Si tiene una tabla de particiones diferente, asegúrese de montar todas las particiones necesarias con cuidado.

En el ejemplo más simple, un solo disco duro se particionó localmente, normalmente y no está cifrado de ninguna manera. En este caso, todo lo que debe hacer es asegurarse de cuál es el 'nombre' de la partición y continuar en la sección de montaje.

Si este no es el caso, y está utilizando LVM/EVMS o un volumen encriptado, deberá preparar los volúmenes antes de poder montarlos y ponerles chroot:

Para desbloquear la partición LUKS, deberá 'abrirla' y darle un nombre con este comando (sdxn como ejemplo):

cryptsetup luksOpen /dev/sdxn crypted (cualquier nombre servirá)

En este punto, se le solicitará que inserte la frase de contraseña para desbloquear el volumen. Esta partición se asignará a '/dev/mapper/crypted'.

Para los volúmenes LVM, debe asegurarse de que el sistema pueda reconocer y activar el volumen. Esto se hace ejecutando los comandos:

  • vgscan --mknodes : busca volúmenes lógicos, esto puede llevar un tiempo
  • vgchange -ay : activa los volúmenes encontrados
  • Si se encontró más de un grupo, puede seleccionar cuál activar con vgchange -ay groupName

Montaje de volumen

Después de la etapa de preparación podemos continuar montando el (los) volumen (s). Puede usar /mnt, ya que solo es necesario si planea ejecutar el programa de instalación.

Después de asegurarnos de que particiones son necesarias, necesitamos montarlas:

mount /dev/<location> /mnt

Aquí hay 3 ejemplos comunes.

1. La primera es solo una instalación simple con todo instalado bajo / montado bajo /dev/sda1. Sin LVM o unidades adicionales.

mount /dev/sda1 /mnt

2. En el siguiente ejemplo tenemos dos unidades. El usuario ha configurado su sistema Slackware para usar /dev/sdb1 para /home y /dev/sda1 para todo lo demás.

mkdir /mnt/home # Necesitamos un directorio para montar, que debe estar debajo del directorio que intentamos chroot.
mount /dev/sda1 /mnt
mount /dev/sdb1 /mnt/home

3. Para el tercer ejemplo, el usuario ha utilizado LVM y ya ha dado a conocer su grupo de volúmenes al kernel. El usuario está utilizando los volúmenes lógicos “root, usr, home, opt, var, srv” todos en un grupo de volúmenes etiquetado como “myvg”. Además, este usuario ha utilizado el cifrado LUKS y, por lo tanto, ha colocado un pequeño /boot en /dev/sda1.

mkdir /mnt/{boot,usr,home,opt,var,srv} # Crea los directorios necesarios..
mount /dev/sda1 /mnt/boot
mount /dev/myvg/root /mnt
mount /dev/myvg/usr /mnt/usr
mount /dev/myvg/home /mnt/home
mount /dev/myvg/opt /mnt/opt
mount /dev/myvg/var /mnt/var
mount /dev/myvg/srv /mnt/srv

Podríamos haber usado también un bucle for para todo excepto /boot (/dev/sda1) y / (/dev/myvg/root) en este ejemplo:

for dir in usr home opt var srv
do
  mount /dev/myvg/$dir /mnt/$dir
done

A continuación, debemos preparar tres directorios virtuales para que sean utilizados por el entorno. Esos son /dev , un directorio con archivos virtuales que representan dispositivos de hardware, /proc , un directorio con archivos virtuales que representan procesos y /sys que contiene el kernel y otros archivos de sistema:

mount -o bind /dev /mnt/dev
mount -o bind /proc /mnt/proc
mount -o bind /sys /mnt/sys

Chrooting

Una vez que la partición está montada, podemos hacerle chroot:

chroot /mnt /bin/bash
Si la preparación de LVM estuvo involucrada, podría ser necesario volver a ejecutar vgscan --mknodes y vgchange -ay , ya que se crearon dentro del ramdisk del medio de instalación y no en la partición montada.

El indicador de bash que ve aquí es un aviso de bash iniciado en su sistema. Ahora puedes trabajar en este entorno de forma natural. Por ejemplo editando /etc/lilo.conf y ejecutando /sbin/lilo ocurrirá en su sistema, y no desde los medios de instalación.

Sources

* Originally written by cmyster.
* LVM and LUKS information comes primarily from Eric's READMEs on your installation disc.


En otros idiomas
Traducciones de esta página?:
QR Code
QR Code es:howtos:slackware_admin:how_to_chroot_from_media (generated for current page)