grub-install: エラー: '/boot/efi' の正規パスを取得できません。

grub-install: エラー: '/boot/efi' の正規パスを取得できません。
nixos-install
building the configuration in /mnt/etc/nixos/configuration.nix...
copying channel...
installing the boot loader...
setting up /etc...
updating GRUB 2 menu...
mktemp: failed to create directory via template ‘/tmp/os-prober.XXXXXX’: No such file or directory
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
installing the GRUB 2 EFI boot loader into /boot/efi...
Installing for x86_64-efi platform.
/nix/store/j5fn7ksaaxxjq5ljzaa2kirjnygfrd2d-grub-2.02/sbin/grub-install: error: failed to get canonical path of `/boot/efi'.
/nix/store/bj5abk7dpchvp9ajrmcy0px7zip9qpib-install-grub.pl: installation of GRUB EFI into /boot/efi failed

次のような起動設定があります。

  # Use the GRUB 2 boot loader.
  boot.loader.grub.enable = true;
  boot.loader.grub.useOSProber = true;
  boot.loader.grub.version = 2;
  boot.loader.grub.efiSupport = true;
  boot.loader.grub.efiInstallAsRemovable = true;
  boot.loader.efi.efiSysMountPoint = "/boot/efi";
  # Define on which hard drive you want to install Grub.
  boot.loader.grub.device = "nodev"; # or "nodev" for efi only
  boot.loader.systemd-boot.enable = true;
  #boot.extraModprobeConfig = "options nouveau noaccel=1 runpm=0 nofbaccel=1 modeset=1";
  #boot.kernelPackages = pkgs.linuxPackages_latest;

この問題の原因は何ですか? 「標準」パスとは何ですか?

答え1

/bootブートパーティションを...代わりにマウントする必要があります/mnt/boot

答え2

ESPパーティションの指定されたマウントポイントは次のとおりです/boot/efi

boot.loader.efi.efiSysMountPoint = "/boot/efi";

/mntつまり、/mnt/boot/efi実行時にnixos-install(と同じ)下にインストールする必要がありますnixos-rebuild。このエラーはfailed to get canonical path of '/boot/efi'そうでないことを示します。

よくある間違いはESPをにインストールすることです/mnt/boot。 ESPをインストールする/bootのも間違ったアプローチです。

関連情報