Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Image Management Service/ Guía del usuario/ Gestión de imágenes privadas/ Optimización de una imagen privada de Linux/ Cambio del identificador de disco en el archivo de configuración de GRUB a UUID
Actualización más reciente 2023-10-09 GMT+08:00

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.

Modifique el archivo de configuración menu.lst o grub.cfg (/boot/grub/menu.lst, /boot/grub/grub.cfg, /boot/grub2/grub.cfg, /boot/grub/grub.conf, o /boot/efi/EFI/euleros/grub.cfg), y configurar la partición de arranque usando el UUID.

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:
    1. Inicie sesión en el ECS como usuario root.
    2. Ejecute el siguiente comando para consultar todos los tipos de sistemas de archivos montados y UUIDs de dispositivos:

      blkid

      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"
    1. 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 
      }
    1. 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.
    1. 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.
    2. Ejecute el siguiente comando para abrir el archivo grub.cfg:

      vi /boot/grub/grub.cfg

    3. 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.
    4. Pulse Esc, escriba :wq y pulse Enter. El sistema guarda la configuración y sale del editor vi.
    5. Ejecute el siguiente comando para verificar el cambio:

      cat /boot/grub/grub.cfg

      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:
    1. Inicie sesión en el ECS como usuario root.
    2. Ejecute el siguiente comando para consultar todos los tipos de sistemas de archivos montados y UUIDs de dispositivos:

      blkid

      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"
    1. 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
    1. 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.
    1. 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.
    2. Ejecute el siguiente comando para abrir el archivo grub.conf:

      vi /boot/grub/grub.conf

    3. 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.
    4. Pulse Esc, escriba :wq y pulse Enter. El sistema guarda la configuración y sale del editor vi.
    5. Ejecute el siguiente comando para verificar el cambio:

      cat /boot/grub/grub.cfg

      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.
    1. Inicie sesión en el ECS como usuario root.
    2. Ejecute el siguiente comando para consultar todos los tipos de sistemas de archivos montados y UUIDs de dispositivos:

      blkid

      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" 
    1. 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 
      }
    1. 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.
    1. 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.
    2. Ejecute el siguiente comando para abrir el archivo grub.cfg:

      vi /boot/grub2/grub.cfg

    3. 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.
    4. Pulse Esc, escriba :wq y pulse Enter. El sistema guarda la configuración y sale del editor vi.
    5. Ejecute el siguiente comando para verificar el cambio:

      cat /boot/grub2/grub.cfg

      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 
      }