次のカーテンパーティションスキームを使用して、efiモードでUbuntu 22をインストールしています。
storage:
config:
- grub_device: true
id: sda
path: /dev/nvme0n1
ptable: gpt
type: disk
wipe: superblock-recursive
- device: sda
flag: bios_grub
id: bios_boot_partition
number: 1
size: 1MB
type: partition
- device: sda
flag: boot
grub_device: true
id: boot_efi_part
number: 2
path: /dev/nvme0n1p2
preserve: false
size: 6GB
type: partition
wipe: superblock-recursive
- device: sda
flag: boot
id: rootvg_part
number: 3
path: /dev/nvme0n1p3
size: 720GB
type: partition
wipe: superblock-recursive
- fstype: ext3
id: fs-root
label: rootfs
preserve: false
type: format
volume: rootvg_part
- fstype: vfat
id: boot_efi_fs
preserve: false
type: format
volume: boot_efi_part
- device: fs-root
id: mount-root
path: /
type: mount
- device: boot_efi_fs
id: boot_efi_mount
path: /boot/efi
type: mount
Biosでセキュアブートを無効にしました。
Ubuntu22がインストールされると、オペレーティングシステムを初めて起動してGrubリカバリモードに入ると問題が発生します。多くの研究の終わりに、グラブリカバリモードで次のコマンドを使用してOSをロードできました。
grub> ls
(hd0) (hd0,gpt1) (hd0,gpt2) (hd0,gpt3)
grub> set root=(hd0,gpt3)
grub> linux /boot/vmlinuz-4.15.0-45-generic root=/dev/nvme0n1p3
grub> initrd /boot/initrd.img-3.13.0-29-generic
grub> boot
ただし、再起動するたびに上記のコマンドを実行してOSをロードする必要があります。さらなる調査では、次のリンクを見ました。
Bootloader path for a permanently installed OS
----------------------------------------------
For Ubuntu, the pathname should be \EFI\Ubuntu\grubx64.efi if you don't need Secure Boot support, or \EFI\Ubuntu\shimx64.efi if the Secure Boot shim is used. The descriptive name is simply "ubuntu" and the optional data is not used.
ただし、私のインストールでは、「\EFI\Ubuntu」パスは生成されたファイルとして生成されませんでした。なぜか分からないの?
後で同じハードウェアに上記のパーティションスキームを使用してUbuntu 18をインストールしようとしましたが、ubuntu 18を正常にインストールしました。そして、必要な起動ファイルが/ EFI / ubuntuフォルダに作成されていることがわかります。
$ ls -l /boot/efi/EFI/ubuntu/
total 4328
-rwxr-xr-x 1 root root 108 Apr 30 01:53 BOOTX64.CSV
-rwxr-xr-x 1 root root 117 Apr 30 01:53 grub.cfg
-rwxr-xr-x 1 root root 2594696 Apr 30 01:53 grubx64.efi
-rwxr-xr-x 1 root root 860824 Apr 30 01:53 mmx64.efi
-rwxr-xr-x 1 root root 960472 Apr 30 01:53 shimx64.efi
試みて、grub rescuコマンドを使用して22オペレーティングシステムをロードし、/ EFI / ubuntuの下のファイルを18インストールからUbuntu 22インストールにコピーしました。 ubuntu22インストールを再開すると、Grubリカバリモードに入るのではなくOSがロードされます。
Ubuntu 22インストールで/ EFI / ubuntuファイルが生成されないのはなぜですか?