Как установить точку монтирования загрузочного раздела в /boot/efi?
В моей системе установлено два Ubuntu: один на SSD (nvme0n1p1), а другой на жестком диске (sda1).
После обновления до 17.10 ubuntu на SSD не загружается, так как не может найти файл '/boot/vmlinuz-4.13.0-041300-generic', хотя файлы там есть. (См. Ошибку: файл '/boot/vmlinuz-4.13.0-041300-generic' не найден, как создать?)
Теперь я вижу на gparted, что раздел, содержащий эти файлы, не смонтирован правильно, поэтому grub не может видеть файлы.
Что касается другой ОС, установленной на жестком диске, которая работает нормально, gparted показывает:
На старте grub также жалуется, что раздел "22ac8da-d6..." не найден. Так выглядит раздел SSD.
Думаю, мне следует изменить параметры монтирования, чтобы nvme0n1p1 использовал / boot / efi / в качестве точки монтирования, а nvme0n1p2 включил /, другими словами, точно так, как разделы установлены на жестком диске (sda1, sda2).
Любая помощь о том, как я могу это сделать?
содержимое / etc / fstab показывает, что / boot / efi / ранее был на 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
И вывод 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"
Вывод lsblk -f, который согласуется с отображением 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
В итоге: как я могу установить точку монтирования / dev / nvme0n1p1 в /boot/efi/?
Сообщение об ошибке при загрузке 17.10 в 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
Вывод 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
Резюме Boot-Info:
http://paste.ubuntu.com/p/bG54zn47VZ/
boot / efi / EFI / ubuntu / grub.cfg на SSD и HD одинаковы:
search.fs_uuid d37fc604-163d-4e04-83de-88993c28e419 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
ОБНОВЛЕНИЯ от предложений Олдфреда:
Токовый выход 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 в 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 на жестком диске:
search.fs_uuid d37fc604-163d-4e04-83de-88993c28e419 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
1 ответ
Посмотрите, добавляет ли это запись в UEFI для загрузки с диска NVMe. Смотрите man efibootmgr для деталей о параметрах.
sudo efibootmgr -c -L "Ubuntu-NVMe" -l "\EFI\ubuntu\shimx64.efi" -d /dev/nvme0n1 -p 1
Но всякий раз, когда я использую метку -L, отличную от Ubuntu, она все равно загружается из /EFI/ubuntu/grub.cfg, поэтому убедитесь, что она у вас есть, и это правильно. Раньше у него даже не было трехстрочного grub.cfg в других ярлыках, теперь он есть, но что-то внутренне все еще закодировано для использования только /EFI/ubuntu/grub.cfg.
Скрипт не был обновлен, чтобы полностью показать диски NVMe. Ваш grub.cfg в нем должен быть:
search.fs_uuid 22ac8da3-d60a-46db-811d-a09ce5538215 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
И тот, что в sda, должен иметь UUID для установки в sda, но, вероятно, hd1,gpt2, UUID должны переопределять настройки устройства. Не уверен, как UEFI и grub видят диски. Я подключаю внешний SSD, и он становится hd0, хотя sdc в Ubuntu. А затем grub/UEFI поднимает все мои другие диски на один номер. И если у меня также есть подключенная флешка, я должен изменить hd0 на hd2, чтобы найти установку в sda.