Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda> Image Management Service> Guia de usuário> Gerenciando imagens privadas> Otimizando uma imagem privada de Linux> Alterando o identificador de disco no arquivo de configuração do GRUB para UUID
Atualizado em 2022-11-07 GMT+08:00

Alterando o identificador de disco no arquivo de configuração do GRUB para UUID

Cenários

Ao otimizar uma imagem privada do Linux, você precisa alterar o identificador de disco para UUID no arquivo de configuração GRUB do ECS.

Modifique o arquivo de configuração menu.lst ou grub.cfg (/boot/grub/menu.lst, /boot/grub/grub.cfg, /boot/grub2/grub.cfg, /boot/grub/grub.conf, ou /boot/efi/EFI/euleros/grub.cfg), e configure a partição de inicialização usando o UUID.

A partição raiz identificada no arquivo de configuração varia dependendo do SO. Pode ser root=/dev/xvda ou root=/dev/disk.

Procedimento

  • Ubuntu 14.04 Execute blkid para obter o UUID da partição raiz. Modifique o arquivo /boot/grub/grub.cfg e use o UUID da partição raiz para configurar o item de inicialização. Se a partição raiz já usa UUID, nenhuma modificação é necessária. O procedimento é o seguinte:
    1. Efetue login no ECS como usuário root.
    2. Execute o seguinte comando para consultar todos os tipos de sistemas de arquivos montados e os UUID de dispositivo:

      blkid

      As seguintes informações são exibidas:

      /dev/xvda1: UUID="ec51d860-34bf-4374-ad46-a0c3e337fd34" TYPE="ext3"
      /dev/xvda5: UUID="7a44a9ce-9281-4740-b95f-c8de33ae5c11" TYPE="swap"
    1. Execute o seguinte comando para consultar o arquivo grub.cfg:

      cat /boot/grub/grub.cfg

      As seguintes informações são exibidas:

      ......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. Verifique se a partição raiz no arquivo de configuração /boot/grub/grub.cfg contém root=/dev/xvda1 ou root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34.
      • Se root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34 estiver contido, a partição raiz está no formato UUID e não requer alteração.
      • Se root=/dev/xvda1 estiver contido, a partição raiz está no formato de nome do dispositivo. Vá para 5.
    1. Identifique o UUID do dispositivo de partição raiz com base em root=/dev/xvda1 (nome do dispositivo da partição raiz) e as informações de partição obtidas executando o comando blkid.
    2. Execute o seguinte comando para abrir o arquivo grub.cfg:

      vi /boot/grub/grub.cfg

    3. Pressione i para entrar no modo de edição e alterar a partição raiz para o formato UUID, por exemplo, de root=/dev/xvda1 para root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34.
    4. Pressione Esc, insira :wq, e pressione Enter. O sistema salva a configuração e sai do editor vi.
    5. Execute o seguinte comando para verificar a alteração:

      cat /boot/grub/grub.cfg

      A alteração será bem-sucedida se informações semelhantes às seguintes forem exibidas:

      ......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: Execute blkid para obter o UUID da partição raiz. Modifique o arquivo /boot/grub/grub.conf e use o UUID da partição raiz para configurar o item de inicialização. Se a partição raiz já usa UUID, nenhuma modificação é necessária. O procedimento é o seguinte:
    1. Efetue login no ECS como usuário root.
    2. Execute o seguinte comando para consultar todos os tipos de sistemas de arquivos montados e os UUID de dispositivo:

      blkid

      As seguintes informações são exibidas:

      /dev/xvda1: UUID="749d6c0c-990a-4661-bed1-46769388365a" TYPE="swap"  
      /dev/xvda2: UUID="f382872b-eda6-43df-9516-5a687fecdce6" TYPE="ext4"
    1. Execute o seguinte comando para consultar o arquivo grub.conf:

      cat /boot/grub/grub.conf

      As seguintes informações são exibidas:

      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. Verifique se a partição raiz no arquivo de configuração /boot/grub/grub.conf contém root=/dev/xvda2 ou root=UUID=f382872b-eda6-43df-9516-5a687fecdce6.
      • Se root=UUID=f382872b-eda6-43df-9516-5a687fecdce6 estiver contido, a partição raiz está no formato UUID e não requer alterações.
      • Se root=/dev/xvda2 estiver contido, a partição raiz está no formato do nome do dispositivo. Vá para 5.
    1. Identifique o UUID do dispositivo de partição raiz com base em root=/dev/xvda2 (nome do dispositivo da partição raiz) e as informações de partição obtidas executando o comando blkid.
    2. Execute o seguinte comando para abrir o arquivo grub.conf:

      vi /boot/grub/grub.conf

    3. Pressione i para entrar no modo de edição e alterar a partição raiz para o formato UUID, por exemplo, de root=/dev/xvda2 para root=UUID=f382872b-eda6-43df-9516-5a687fecdce6.
    4. Pressione Esc, insira :wq, e pressione Enter. O sistema salva a configuração e sai do editor vi.
    5. Execute o seguinte comando para verificar a alteração:

      cat /boot/grub/grub.cfg

      A alteração será bem-sucedida se informações semelhantes às seguintes forem exibidas:

      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: Execute blkid para obter o UUID da partição raiz. Modifique o arquivo /boot/grub2/grub.cfg e use o UUID da partição raiz para configurar o item de inicialização. Se a partição raiz já usa UUID, nenhuma modificação é necessária.
    1. Efetue login no ECS como usuário root.
    2. Execute o seguinte comando para consultar todos os tipos de sistemas de arquivos montados e os UUID de dispositivo:

      blkid

      As seguintes informações são exibidas:

      /dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs"  
      /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap" 
    1. Execute o seguinte comando para consultar o arquivo grub.cfg:

      cat /boot/grub2/grub.cfg

      As seguintes informações são exibidas:

      ......
      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. Verifique se a partição raiz no arquivo de configuração /boot/grub2/grub.cfg contém root=/dev/xvda2 ou root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130.
      • Se root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 estiver contido, a partição raiz está no formato UUID e não requer alterações.
      • Se root=/dev/xvda2 estiver contido, a partição raiz está no formato do nome do dispositivo. Vá para 5.
    1. Identifique o UUID do dispositivo de partição raiz com base em root=/dev/xvda2 (nome do dispositivo da partição raiz) e as informações de partição obtidas executando o comando blkid.
    2. Execute o seguinte comando para abrir o arquivo grub.cfg:

      vi /boot/grub2/grub.cfg

    3. Pressione i para entrar no modo de edição e alterar a partição raiz para o formato UUID, por exemplo, de root=/dev/xvda2 para root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130.
    4. Pressione Esc, insira :wq, e pressione Enter. O sistema salva a configuração e sai do editor vi.
    5. Execute o seguinte comando para verificar a alteração:

      cat /boot/grub2/grub.cfg

      A alteração será bem-sucedida se informações semelhantes às seguintes forem exibidas:

      ......
      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 
      }