
Pergunta mais semelhante que encontrei:Ataque de software Ubuntu no efi, como inicializar a segunda unidade?
Minha situação é que tenho um arquivo de pré-configuração funcional para instalação do Debian que configurará minhas unidades NVMe para RAID 1 de software. Ambos os discos receberão até uma partição efi (/dev/nvme0n1p1 e/dev/nvme1n1p1). No entanto, a partição do segundo disco não será preenchida e, portanto, não será inicializável se o primeiro disco falhar.
O objetivo do RAID 1 é para cenários de falha de disco. Se não consigo inicializar o segundo disco, isso é inútil para mim.
Eu descobri uma solução alternativa onde posso executar o script de conclusão da instalação:
if [ -d /sys/firmware/efi ] && [ -d /boot/efi/EFI ] && [ -e /dev/nvme1n1p1 ]; then
mkdir /mnt/efi-disk2
mount /dev/nvme1n1p1 /mnt/efi-disk2 && cp -narv /boot/efi/EFI /mnt/efi-disk2/
umount /mnt/efi-disk2
rmdir /mnt/efi-disk2
fi
Isso funciona; no entanto, possivelmente perdi uma maneira melhor/mais fácil, pois parece uma funcionalidade básica que deveria fazer parte do instalador.
Existe uma maneira de fazer isso acontecer diretamente durante a instalação, por exemplo, usando outro comando preseed ou opção partman que perdi?
Porções relevantes de pré-configuração:
d-i mdadm/boot_degraded boolean false
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-md/confirm boolean true
d-i partman-md/confirm_nooverwrite boolean true
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto/disk string /dev/nvme0n1 /dev/nvme1n1
d-i partman-auto/method string raid
d-i partman-auto/choose_recipe select myrecipe
d-i partman-auto-lvm/guided_size string 100%
d-i partman-auto-lvm/new_vg_name string vg00
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman/choose_partition select Finish partitioning and write changes to disk
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman-basicfilesystems/choose_label string gpt
d-i partman-basicfilesystems/default_label string gpt
d-i partman-partitioning/choose_label string gpt
d-i partman-partitioning/default_label string gpt
d-i partman/choose_label string gpt
d-i partman/default_label string gpt
d-i partman-auto/expert_recipe string \
myrecipe :: \
1024 1 1024 free \
$iflabel{ gpt } \
method{ efi } \
format{ } \
. \
1024 0 -1 raid \
$lvmignore{ } \
$primary{ } \
method{ raid } \
format{ } \
. \
20480 0 20480 ext4 \
$defaultignore{ } \
$lvmok{ } \
lv_name{ lv_root } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ / } \
. \
20480 0 20480 ext4 \
$defaultignore{ } \
$lvmok{ } \
lv_name{ lv_var } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ /var } \
. \
1024 0 1024 swap \
$defaultignore{ } \
$lvmok{ } \
lv_name{ lv_swap } \
method{ swap } \
format{ } \
. \
1024 0 1024 ext4 \
$defaultignore{ } \
$lvmok{ } \
lv_name{ lv_tmp } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ /tmp } \
.
d-i partman-auto-raid/recipe string \
1 2 0 lvm - /dev/nvme0n1p2#/dev/nvme1n1p2 \
.
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i finish-install/reboot_in_progress note
Responder1
Em primeiro lugar, deixe-me agradecer pelo seu Preseed. Isso salvou minha bunda! É realmente difícil encontrar um exemplo funcional para Raid + LVM.
Então, para responder à sua pergunta: o padrão EFI não inclui raid. Sua maneira de copiar essas coisas para a segunda partição EFI é a única maneira que conheço e também uso.
No entanto, você pode automatizar isso talvez com um script no grub, então sempre que o grub for atualizado no final você poderá copiá-lo. por exemplo: /etc/grub.d/99_copy_efi ainda preciso testar isso, pois tenho outros assuntos urgentes no momento.