Como mover partições EFI e de inicialização?

4

Eu estou no meio de mover essas duas partições de sda5 e sda6 para sda1 e sda2, respectivamente. Isso é para permitir que eu tenha um espaço contíguo para o sistema de arquivos raiz crescer. O seguinte é o que eu fiz até agora:

  • Crie a partição sda1 para o sistema EFI com gdisk
  • Crie a partição sda2 para inicializar com gdisk
  • Copie o conteúdo em sda5 para sda1 com dd
  • Copie o conteúdo em sda6 para sda2 com dd
  • Remover sinalizador de inicialização no antigo sistema EFI sda5 com parted

Segue-se o que tenho agora ( # parted -l ):

Number  Start   End    Size    File system  Name                  Flags
 1      1049kB  211MB  210MB   fat16        EFI System            boot
 2      211MB   735MB  524MB   ext4         Microsoft basic data
 4      200GB   250GB  50GB
 5      250GB   250GB  210MB   fat16        EFI System Partition
 6      250GB   251GB  524MB   ext4
 7      251GB   481GB  230GB                                      lvm

Após a reinicialização, o menu de inicialização que me foi apresentado ainda está ligado ao que está dentro da antiga partição do Sistema EFI em sda5, apesar de desligar seu sinalizador de inicialização. Como proceder mais longe daqui?

    
por Question Overflow 31.01.2014 / 12:20

2 respostas

4

Só para compartilhar, foi isso que fiz:

Não há necessidade de executar grub-install , pois todos os arquivos já estão lá. O que precisa ser feito posteriormente é criar uma nova opção de inicialização na partição sda1 usando o gerenciador de inicialização EFI e apontando para o shim.efi bootloader:

# efibootmgr -c -L Fedora -l \EFI\fedora\shim.efi

Em seguida, verifique sua posição de inicialização (consulte PARTUID usando blkid se não tiver certeza):

# efibootmgr -v
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0000,0002,0001
Boot0000* Fedora    HD(1,800,64000,<PARTUUID>)File(\EFI\fedora\shim.efi) <= NEW
...

e verifique se é o primeiro gerenciador de inicialização na sequência:

# efibootmgr -o 0000,0002,0001,0004

Para o grub, o que precisa ser feito é alterar todas as instâncias de /boot location para apontar para a nova partição:

# vi /boot/efi/EFI/fedora/grub.cfg

....
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6
....

Procure e substitua "gpt6" por "gpt2" (se / boot for movido de sda6 para sda2)

Para impedir que o sistema operacional monte as antigas partições /boot e /boot/efi devido a UUIDs duplicados, edite fstab:

# vi /etc/fstab

Substitua as referências duplicadas de UUIDs por PARTUUID (se você estiver usando o GPT) ou pelo nó do dispositivo (por exemplo, / dev / sda1).

Reinicie e você está pronto.

    
por 01.02.2014 / 08:03
1

Use grub-install (provavelmente sem argumentos adicionais) para adicionar o novo registro; teste que é inicializável; use efibootmgr -B para remover o registro antigo (execute sem argumentos primeiro para encontrar o bootnum); Os artigos de Rod Smith são muito recomendados.

Plugue envergonhado: você pode encontrar minha imagem de resgate útil caso algo dê errado.

    
por 31.01.2014 / 18:46