debootstrap chrootへのgrubのインストールと設定

debootstrap chrootへのgrubのインストールと設定

ブートロードに関しては、知識のギャップが大きすぎて実際に学習を練習しています。専用のテストサーバーがあり、debootstrapを使用してhetznerrescueを介​​してLinuxをインストールしようとしています。 (bashスクリプトで書かれています)

私の問題は、UEFI / GPT用のgrubを正しくインストールする方法がわからないことです。 ArchWiki関連のコンテンツを読みました。

https://wiki.archlinux.org/title/Installation_guide#
https://wiki.archlinux.org/title/Advanced_Format#
https://wiki.archlinux.org/title/Partitioning#
https://wiki.archlinux.org/title/GRUB

ファームウェアLinuxをインストールすると、最初のエラーが発生します。

ln: failed to create hard link '/boot/initrd.img-6.1.0-13-amd64.dpkg-bak' => '/boot/initrd.img-6.1.0-13-amd64': Operation not permitted

それでは、chrootから/bootを/にマウントする方法に問題がある可能性がありますか?

2番目の問題は、グラブをインストールしたときに発生します。

root@rescue:/# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
Installing for x86_64-efi platform.
grub-install: warning: efivarfs_get_variable: open(/sys/firmware/efi/efivars/blk0-47c7b225-c42a-11d2-8e57-00a0c969723b): No such file or directory.
grub-install: warning: efi_get_variable: ops->get_variable failed: No such file or directory.
grub-install: warning: efi_va_generate_file_device_path_from_esp: could not open device for ESP: Bad address.
grub-install: warning: efi_generate_file_device_path_from_esp: could not generate File DP from ESP: Bad address.
grub-install: error: failed to register the EFI boot entry: Bad address.

私がしている全体のステップは次のとおりです。 ( $disk_list/$diskは /dev/nvme0n1 および /dev/nvme1n1 です。)

parted -s $disk mklabel gpt
parted -s $disk mkpart primary fat32 1M 1024M
parted -s $disk mkpart primary linux-swap 1025M 5120M
parted -s $disk mkpart primary ext4 5121M 100%

mdadm --create /dev/md0 --metadata=0.90 --level=1 --raid-devices=2 /dev/nvme0n1p1 /dev/nvme1n1p1
mkfs.fat -F32 /dev/md0

mkswap /dev/nvme0n1p2
mkswap /dev/nvme1n1p2

mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/nvme0n1p3 /dev/nvme1n1p3
mkfs.ext4 /dev/md2

mount --mkdir /dev/md2 /mnt/md2
mount --mkdir /dev/md0 /mnt/md2/boot

debootstrap --arch amd64 --include=linux-image-amd64,locales,locales-all,bash-completion,pwgen,htop,sudo,screen,rsync,ncdu,openssh-server,openssh-client,iotop,zip,unzip,zstd,mdadm,initramfs-tools bookworm /mnt/md2 https://deb.debian.org/debian

mount --make-rslave --rbind /proc /mnt/md2/proc
mount --make-rslave --rbind /sys /mnt/md2/sys
mount --make-rslave --rbind /dev /mnt/md2/dev
mount --make-rslave --rbind /run /mnt/md2/run

/etc/fstab
UUID=UUID-of-/dev/md0 /boot vfat defaults 0 2
UUID=UUID-of-/dev/nvme0n1p2 none swap sw 0 0
UUID=UUID-of-/dev/nvme1n1p2 none swap sw 0 0
UUID=UUID-of-/dev/md2 / ext4 defaults 0 1

sources.list
deb http://deb.debian.org/debian bookworm main non-free-firmware
deb-src http://deb.debian.org/debian bookworm main non-free-firmware
deb http://deb.debian.org/debian-security/ bookworm-security main non-free-firmware
deb-src http://deb.debian.org/debian-security/ bookworm-security main non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates main non-free-firmware

chroot /mnt/md2 /bin/bash
export TMPDIR="/tmp"
localectl set-locale LANG=de_DE.UTF-8 && \
timedatectl set-timezone UTC && \
apt-get update && \
apt-get upgrade -y && \
apt-get install firmware-linux && \
apt-get install grub-common grub-efi-amd64 os-prober -y && \
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

誰かが私が見て何を間違っているか逃したかを説明できますか?

ベストアンサー1

おすすめ記事