Cambio del identificador de disco en el archivo de configuración de GRUB a UUID
Escenarios
Al optimizar una imagen privada de Linux, debe cambiar el identificador de disco a UUID en el archivo de configuración de GRUB del ECS.
La partición root identificada en el archivo de configuración varía según el sistema operativo. Puede ser root=/dev/xvda o root=/dev/disk.
Procedimiento
- Ubuntu 14.04: Ejecutar blkid para obtener el UUID de la partición root. Modifique el archivo /boot/grub/grub.cfg y use el UUID de la partición root para configurar el elemento de arranque. Si la partición root ya utiliza UUID, no se requiere ninguna modificación. Siga el siguiente procedimiento:
- Inicie sesión en el ECS como usuario root.
- Ejecute el siguiente comando para consultar todos los tipos de sistemas de archivos montados y UUIDs de dispositivos:
Se muestra la siguiente información:
/dev/xvda1: UUID="ec51d860-34bf-4374-ad46-a0c3e337fd34" TYPE="ext3" /dev/xvda5: UUID="7a44a9ce-9281-4740-b95f-c8de33ae5c11" TYPE="swap"
- Ejecute el siguiente comando para consultar el archivo grub.cfg:
cat /boot/grub/grub.cfg
Se muestra la siguiente información:
......menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 else search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 fi echo 'Loading Linux 3.13.0-24-generic ...' linux /boot/vmlinuz-3.13.0-24-generic root=/dev/xvda1 ro echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.13.0-24-generic }
- Compruebe si la partición root en el archivo de configuración /boot/grub/grub.cfg contiene root=/dev/xvda1 o root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34.
- Si root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34 está contenida, la partición raíz está en el formato UUID y no requiere ningún cambio.
- Si está contenido root=/dev/xvda1, la partición root está en el formato de nombre de dispositivo. Vayan a 5.
- Identifique el UUID del dispositivo de partición root basado en root=/dev/xvda1 (nombre del dispositivo de la partición root) y la información de partición obtenida ejecutando el comando blkid.
- Ejecute el siguiente comando para abrir el archivo grub.cfg:
vi /boot/grub/grub.cfg
- Pulse i para entrar en el modo de edición y cambiar la partición raíz al formato UUID, por ejemplo, de root=/dev/xvda1 a root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34.
- Pulse Esc, escriba :wq y pulse Enter. El sistema guarda la configuración y sale del editor vi.
- Ejecute el siguiente comando para verificar el cambio:
El cambio se realiza correctamente si se muestra información similar a la siguiente:
......menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 else search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 fi echo 'Loading Linux 3.13.0-24-generic ...' linux /boot/vmlinuz-3.13.0-24-generic root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34 ro echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.13.0-24-generic }
- CentOS 6.5: Ejecutar blkid para obtener el UUID de la partición root. Modifique el archivo /boot/grub/grub.conf y use el UUID de la partición root para configurar el elemento de arranque. Si la partición root ya utiliza UUID, no se requiere ninguna modificación. Siga el siguiente procedimiento:
- Inicie sesión en el ECS como usuario root.
- Ejecute el siguiente comando para consultar todos los tipos de sistemas de archivos montados y UUIDs de dispositivos:
Se muestra la siguiente información:
/dev/xvda1: UUID="749d6c0c-990a-4661-bed1-46769388365a" TYPE="swap" /dev/xvda2: UUID="f382872b-eda6-43df-9516-5a687fecdce6" TYPE="ext4"
- Ejecute el siguiente comando para consultar el archivo grub.conf:
cat /boot/grub/grub.conf
Se muestra la siguiente información:
default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-573.8.1.el6.x86_64) root (hd0,1) kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=/dev/xvda2 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=autoKEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img
- Compruebe si la partición raíz en el archivo de configuración /boot/grub/grub.conf contiene root=/dev/xvda2 o root=UUID=f382872b-eda6-43df-9516-5a687fecdce6.
- Si root=UUID=f382872b-eda6-43df-9516-5a687fecdce6 está contenida, la partición raíz está en el formato UUID y no requiere ningún cambio.
- Si está contenido root=/dev/xvda2, la partición root está en el formato de nombre de dispositivo. Vayan a 5.
- Identifique el UUID del dispositivo de partición root basado en root=/dev/xvda2 (nombre del dispositivo de la partición root) y la información de partición obtenida ejecutando el comando blkid.
- Ejecute el siguiente comando para abrir el archivo grub.conf:
vi /boot/grub/grub.conf
- Pulse i para entrar en el modo de edición y cambiar la partición raíz al formato UUID, por ejemplo, de root=/dev/xvda2 a root=UUID=f382872b-eda6-43df-9516-5a687fecdce6.
- Pulse Esc, escriba :wq y pulse Enter. El sistema guarda la configuración y sale del editor vi.
- Ejecute el siguiente comando para verificar el cambio:
El cambio se realiza correctamente si se muestra información similar a la siguiente:
default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-573.8.1.el6.x86_64) root (hd0,1) kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=UUID=f382872b-eda6-43df-9516-5a687fecdce6 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=autoKEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img
- CentOS 7.0: Ejecute blkid para obtener el UUID de la partición root. Modifique el archivo /boot/grub2/grub.cfg y use el UUID de la partición root para configurar el elemento de arranque. Si la partición root ya utiliza UUID, no se requiere ninguna modificación.
- Inicie sesión en el ECS como usuario root.
- Ejecute el siguiente comando para consultar todos los tipos de sistemas de archivos montados y UUIDs de dispositivos:
Se muestra la siguiente información:
/dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs" /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap"
- Ejecute el siguiente comando para consultar el archivo grub.cfg:
cat /boot/grub2/grub.cfg
The following information is displayed:
...... menuentry 'CentOS Linux (3.10.0-229.el7.x86_64) 7 (Core)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-4eb40294-4c6f-4384-bbb6-b8795bbb1130' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'4eb40294-4c6f-4384-bbb6-b8795bbb1130 else search --no-floppy --fs-uuid --set=root 4eb40294-4c6f-4384-bbb6-b8795bbb1130 fi linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/xvda2 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8 initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img }
- Compruebe si la partición root en el archivo de configuración /boot/grub2/grub.cfg contiene root=/dev/xvda2 o root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130.
- Si root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 está contenida, la partición root está en el formato UUID y no requiere ningún cambio.
- Si está contenido root=/dev/xvda2, la partición root está en el formato de nombre de dispositivo. Vayan a 5.
- Identifique el UUID del dispositivo de partición root basado en root=/dev/xvda2 (nombre del dispositivo de la partición root) y la información de partición obtenida ejecutando el comando blkid.
- Ejecute el siguiente comando para abrir el archivo grub.cfg:
vi /boot/grub2/grub.cfg
- Pulse i para entrar en el modo de edición y cambiar la partición root al formato UUID, por ejemplo, de root=/dev/xvda2 a root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130.
- Pulse Esc, escriba :wq y pulse Enter. El sistema guarda la configuración y sale del editor vi.
- Ejecute el siguiente comando para verificar el cambio:
El cambio se realiza correctamente si se muestra información similar a la siguiente:
...... menuentry 'CentOS Linux (3.10.0-229.el7.x86_64) 7 (Core)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-4eb40294-4c6f-4384-bbb6-b8795bbb1130' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'4eb40294-4c6f-4384-bbb6-b8795bbb1130 else search --no-floppy --fs-uuid --set=root 4eb40294-4c6f-4384-bbb6-b8795bbb1130 fi linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8 initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img }