Como definir o ponto de montagem da partição de inicialização para / boot / efi?

0

Eu tenho dois ubuntu instalados no meu sistema, um no SSD (nvme0n1p1) e outro no disco rígido (sda1).

Após a atualização para 17.10, o Ubuntu não inicializará o SSD, não sendo capaz de encontrar o arquivo '/boot/vmlinuz-4.13.0-041300-generic', embora os arquivos estejam lá. (Veja o erro: arquivo '/boot/vmlinuz-4.13.0-041300-generic' não encontrado, como criar? )

Eu vejo agora no gparted, que a partição que contém esses arquivos não está montada corretamente, então o grub não pode ver os arquivos.

Onde,comoparaooutrosistemaoperacionalinstaladonodiscorígido,queestáfuncionandobem,ogpartedmostra:

Aoiniciar,ogrubtambémreclamaqueapartição"22ac8da-d6 ..." não foi encontrada. É assim que a partição SSD é montada aparentemente.

Eu acho que devo alterar as configurações de montagem, então nvme0n1p1 tem / boot / efi / como o ponto de montagem, e tem nvme0n1p2 em /, em outras palavras, exatamente como as partições são definidas no disco rígido (sda1, sda2).

Alguma ajuda sobre como posso fazer isso?

o conteúdo de / etc / fstab mostra que / boot / efi / estava anteriormente em nvme0n1p1

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
UUID=22ac8da3-d60a-46db-811d-a09ce5538215 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=C1DE-5B29  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0

E a saída de blkid:

/dev/nvme0n1: PTUUID="eb5c38b1-7f71-4b49-a4e9-9e6ab2c9b6a4" PTTYPE="gpt"
/dev/nvme0n1p1: UUID="C1DE-5B29" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="5b57c19c-750b-457a-89f1-87130509735e"
/dev/nvme0n1p2: UUID="22ac8da3-d60a-46db-811d-a09ce5538215" TYPE="ext4" PARTUUID="2e1b8924-98f4-4821-8f48-8452620182b8"
/dev/sda1: UUID="DF5C-3936" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="2798e3ca-54f4-4528-8753-0b516c1a749c"
/dev/sda2: UUID="d37fc604-163d-4e04-83de-88993c28e419" TYPE="ext4" PARTUUID="a1331af1-a3e0-4f4e-846c-2ae70d53cb26"

Saída do lsblk -f, que concorda com a exibição do gparted:

NAME        FSTYPE LABEL UUID                                 MOUNTPOINT
sda                                                           
├─sda1      vfat         DF5C-3936                            /boot/efi
└─sda2      ext4         d37fc604-163d-4e04-83de-88993c28e419 /
sr0                                                           
nvme0n1                                                       
├─nvme0n1p1 vfat         C1DE-5B29                            
└─nvme0n1p2 ext4         22ac8da3-d60a-46db-811d-a09ce5538215 /media/lukas/22ac8da3-d60a-46db-811d-a09ce5538215

Em resumo: Como posso definir o ponto de montagem de / dev / nvme0n1p1 como / boot / efi /?

A mensagem de erro ao inicializar em 17.10 no nvme0n1p1 é:

error: failure reading sector 0x3b9e12a0 from 'hd2'
error: failure reading sector 0x3b9e1200 from 'hd2'
error: failure reading sector 0x0 from 'hd2'
error: failure reading sector 0x3b9e12a0 from 'hd2'
error: failure reading sector 0x3b9e1200 from 'hd2'
error: failure reading sector 0x0 from 'hd2'
error: no such device: 22ac8da3-d60a-46db-811d-a09ce5538215 
error: file '/boot/vmlinuz-4.13.0-041300-generic' not found
error: you need to load the kernel first

Saída do efibootmgr -v

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0002,0008,0009
Boot0000* ubuntu    HD(1,GPT,2798e3ca-54f4-4528-8753-0b516c1a749c,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* grub  HD(1,GPT,2798e3ca-54f4-4528-8753-0b516c1a749c,0x800,0x100000)/File(\EFI\ubuntu\grubx64.efi)
Boot0002* boot  HD(1,GPT,2798e3ca-54f4-4528-8753-0b516c1a749c,0x800,0x100000)/File(\EFI\Boot\bootx64.efi)
Boot0008  Onboard NIC (IPV4)    PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)/MAC(14b31f18c7f5,0)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)..BO
Boot0009  Onboard NIC (IPV6)    PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)/MAC(14b31f18c7f5,0)/IPv6([::]:<->[::]:,0,0)..BO

Resumo das informações de inicialização:

link

boot / efi / EFI / ubuntu / grub.cfg no SSD e HD são os mesmos:

search.fs_uuid d37fc604-163d-4e04-83de-88993c28e419 root hd0,gpt2 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

ATUALIZAÇÕES de sugestões do Oldfred:

Saída atual do efibootmgr -v

BootOrder: 0003,0000,0001,0002,0008,0009
Boot0000* ubuntu    HD(1,GPT,2798e3ca-54f4-4528-8753-0b516c1a749c,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* grub  HD(1,GPT,2798e3ca-54f4-4528-8753-0b516c1a749c,0x800,0x100000)/File(\EFI\ubuntu\grubx64.efi)
Boot0002* boot  HD(1,GPT,2798e3ca-54f4-4528-8753-0b516c1a749c,0x800,0x100000)/File(\EFI\Boot\bootx64.efi)
Boot0003* Ubuntu-NVMe   HD(1,GPT,5b57c19c-750b-457a-89f1-87130509735e,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)
Boot0008  Onboard NIC (IPV4)    PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)/MAC(14b31f18c7f5,0)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)..BO
Boot0009  Onboard NIC (IPV6)    PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)/MAC(14b31f18c7f5,0)/IPv6([::]:<->[::]:,0,0)..BO

/boot/efi/EFI/ubuntu/grub.cfg no NVMe:

search.fs_uuid 22ac8da3-d60a-46db-811d-a09ce5538215 root hd0,gpt2 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

/boot/efi/EFI/ubuntu/grub.cfg no disco rígido:

search.fs_uuid d37fc604-163d-4e04-83de-88993c28e419 root hd0,gpt2 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
    
por hirschme 04.06.2018 / 16:49

1 resposta

2

Veja se isso adiciona uma entrada no UEFI para inicializar a partir da unidade NVMe. Veja man efibootmgr para detalhes sobre os parâmetros.

sudo efibootmgr -c -L "Ubuntu-NVMe" -l "\EFI\ubuntu\shimx64.efi" -d /dev/nvme0n1 -p 1

Mas sempre que eu uso um rótulo -L diferente do Ubuntu, ele ainda é inicializado a partir do /EFI/ubuntu/grub.cfg, portanto, certifique-se de que você também o tenha e esteja correto. Ele costumava nem ter um grub.cfg de 3 linhas em outros rótulos, mas agora, mas algo internamente ainda é codificado para usar /EFI/ubuntu/grub.cfg.

O script não foi atualizado para mostrar completamente as unidades NVMe. Seu grub.cfg deve ser:

search.fs_uuid 22ac8da3-d60a-46db-811d-a09ce5538215 root hd0,gpt2 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

E o em sda, deve ter UUID de instalação em sda, mas provavelmente hd1, gpt2, UUID deve substituir a configuração do dispositivo. Não tenho certeza de como o UEFI e o grub veem. Eu conecto o SSD externo e ele se torna hd0 mesmo com o sdc no Ubuntu. E então o grub / UEFI aumenta todos os meus outros drives em um número. E se eu também tenho flash drive conectado, eu tenho que mudar hd0 para hd2 para encontrar instalar em sda.

    
por oldfred 04.06.2018 / 21:23