miércoles, 17 de marzo de 2010

Obtener/Establecer UUID de partición de SWAP

El otro día estuve reparticionando el disco duro (reorganizando particiones, incluido borrar mi actual swap y crearla con otra posición y tamaño) y al arrancar el sistema operativo, me encontré un error de que no se había podido montar la partición swap o de intercambio. En mi /etc/fstab estaba utilizando el código UUID para identificar mis particiones, por la razón que expliqué en una anterior entrada.

El problema fue que al eliminar la partición de swap y volverla a crear, el UUID de la partición cambió. Al disponerme a averiguar el nuevo UUID de la partición de swap, para corregirlo en mi /etc/fstab, me encuentro que la orden:
ls -la /dev/disk/by-uuid

lrwxrwxrwx 1 root root 10 2010-03-17 01:52 2251c12d-0e7c-5d13-6c91-0a89f48e3986 -> ../../sdb7
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 2ca25890-b8ad-478e-a4e7-b7d5400494d0 -> ../../sdd1
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 45a8bef4-918a-4ddf-818e-8bb04e9b660f -> ../../sdb3
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 46cdf0a3-3201-4820-bf67-a3c76acdbfe0 -> ../../sdc1
lrwxrwxrwx 1 root root 9 2010-03-17 01:52 5d482f91-66d6-4fb8-a525-a746e69ad914 -> ../../sda
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 8c79355f-406d-451b-8995-36498944bba3 -> ../../sda1
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 9b39e0d5-619e-b437-3a42-fc5206cd21ae -> ../../sdb8
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 CE50FBB050FB9E01 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 DE08B62608B5FE19 -> ../../sdb5
no muestra la partición de swap, así como:
blkid

/dev/sda1: LABEL="DISCO3" UUID="8c79355f-406d-451b-8995-36498944bba3" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb1: UUID="CE50FBB050FB9E01" LABEL="wXP" TYPE="ntfs"
/dev/sdb3: UUID="45a8bef4-918a-4ddf-818e-8bb04e9b660f" TYPE="ext4"
/dev/sdb5: UUID="DE08B62608B5FE19" LABEL="DATOS" TYPE="ntfs"
/dev/sdb6: TYPE="swap"
/dev/sdb7: LABEL="temp" UUID="2251c12d-0e7c-5d13-6c91-0a89f48e3986" SEC_TYPE="ext2" TYPE="ext3"
que sí la muestra, pero indica que carece de dicho uuid. El caso es que la partición de swap existe, tal como verifico ejecutando:
sudo fdisk -l

Disco /dev/sdb: 500.1 GB, 500107862016 bytes
255 cabezas, 63 sectores/pista, 60801 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x381e381d

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 * 1 2611 20972826 7 HPFS/NTFS
/dev/sdb2 4192 60801 454719825 5 Extendida
/dev/sdb3 2612 4191 12691350 83 Linux
/dev/sdb5 4192 26769 181357753+ 7 HPFS/NTFS
/dev/sdb6 26770 27044 2208906 82 Linux swap / Solaris
/dev/sdb7 27045 46736 158175958+ 83 Linux
/dev/sdb8 46737 60801 112977081 83 Linux
donde compruebo que la partición swap está en /dev/sdb6.

La manera de asignar un nuevo uuid a la partición consiste en ejecutar las siguientes órdenes. Primeramente, y por seguridad, desmontamos las particiones de swap (si acaso estuviesen montadas):
sudo swapoff -a
para luego establecer cual queremos que sea nuestra partición swap (en mi caso /dev/sdb6):
sudo mkswap /dev/sdb6
que como vemos nos devuelve el nuevo uuid de la partición:
Configurando la versión swapspace 1, tamaño = 2208900 KiB
sin etiqueta, UUID=d1a2d270-78d5-4a4b-9854-ccc2cd7db1ef
Para comprobar que todo está correcto, vuelvo a ejecutar:
josea@ubuntu-desktop:/dev/disk/by-uuid$ ls -la
total 0
drwxr-xr-x 2 root root 240 2010-03-17 01:13 .
drwxr-xr-x 6 root root 120 2010-03-17 01:52 ..
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 2251c12d-0e7c-5d13-6c91-0a89f48e3986 -> ../../sdb7
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 2ca25890-b8ad-478e-a4e7-b7d5400494d0 -> ../../sdd1
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 45a8bef4-918a-4ddf-818e-8bb04e9b660f -> ../../sdb3
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 46cdf0a3-3201-4820-bf67-a3c76acdbfe0 -> ../../sdc1
lrwxrwxrwx 1 root root 9 2010-03-17 01:52 5d482f91-66d6-4fb8-a525-a746e69ad914 -> ../../sda
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 8c79355f-406d-451b-8995-36498944bba3 -> ../../sda1
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 9b39e0d5-619e-b437-3a42-fc5206cd21ae -> ../../sdb8
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 CE50FBB050FB9E01 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2010-03-17 01:13 d1a2d270-78d5-4a4b-9854-ccc2cd7db1ef -> ../../sdb6
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 DE08B62608B5FE19 -> ../../sdb5
donde ya podemos comprobar que sale la partición de swap con su correspondiente uuid.

Ahora solo nos queda editar el /etc/fstab, en mi caso quedando así:
UUID=d1a2d270-78d5-4a4b-9854-ccc2cd7db1ef none            swap    sw              0       0
Ahora podríamos ejecutar la orden:
sudo swapon -a
para empezar a utilizar la partición, o simplemente reiniciar el sistema, para comprobar que todo vuelve a estar en orden.

1 comentario:

Diabolus Rex dijo...

Tu solución me cayó del cielo jejeje. Tenía un problema así con Fedora 16, demoraba casi dos minutos en arrancar una vez seleccionado del grub, pero gracias a esta valiosa información pude solucionar mi problema de demora jeje. De verdad agradezco mucho la información que proporcionas.