История изменений
Исправление
uwuwuu,
(текущая версия)
:
Да. Это гиблая идея. У меня корень на самошифрующемся диске, а чтобы узнать на каком нужно все UUID считать с разблокированного диска, чтобы findfs работала как надо… А превопричина в том, что BIOS материнок от ASUS и Acer удаляет Boot записи после отключения устройства, когда диск переходит в залоченное состояние, то для прошивки - это равно его физическому отсоединени, те для неее залоченный и разлоченный диск - два разных устройства. Если нет загрузочных записей, то материнка начинает искать в порядке приоритета загрузчики Windows, а потом грузит BOOTX64.EFI, иными словами при Dualboot ВСЕГДА БУДЕТ ГРУЗИТЬСЯ ВИНДА, с виндой я распрощаться не могу, так wine падает с ошибками при запуске моих игорей. И тут два решения: перенести загрузочный раздел на другой диск, либо оставить на зашифрованном и таким вот костылем подменять загрузчик винды на линуксовый:
#!/bin/bash
systemd_efi=systemd/systemd-bootx64.efi
windows_efi=Microsoft/Boot/bootmgfw.efi
cd /boot/EFI
if cmp --silent -- "$systemd_efi" "$windows_efi"; then
echo "efi files are same" >&2
exit 1
fi
# Переим. bootmgfw.efi -> bootmgfw_.efi
mv "$windows_efi" "$(sed 's/\.efi$/_\0/i' <<< "$windows_efi")"
# Подменяем загрузчик Windows
cp "$systemd_efi" "$windows_efi"
Исходная версия
uwuwuu,
:
Да. Это гиблая идея. У меня корень на самошифрующемся диске, а чтобы узнать на каком нужно все UUID считать с разблокированного диска, чтобы findfs работала как надо… А превопричина в том, что BIOS материнок от ASUS и Acer удаляет Boot записи после отключения устройства, когда диск переходит в залоченное состояние, то для прошивки - это равно его физическому отсоединени, те для неее залоченный и разлоченный диск - два разных устройства. Если нет загрузочных записей, то материнка начинает искать в порядке приоритета загрузчики Windows, а потом грузит BOOTX64.EFI, иными словами при Dualboot ВСЕГДА БУДЕТ ГРУЗИТЬСЯ ВИНДА, с виндой я распрощаться не могу, так wine падает с ошибками при запуске моих игорей. И тут два решения: перенести загрузочный раздел на другой диск, либо оставить на зашифрованном и таким вот костылем подменять загрузчик винды на линуксовый:
#!/bin/bash
systemd_efi=systemd/systemd-bootx64.efi
windows_efi=Microsoft/Boot/bootmgfw.efi
cd /boot/EFI
if cmp --silent -- "$systemd_efi" "$windows_efi"; then
echo "efi files are same" >&2
exit 1
fi
# Переим. bootmgfw.efi -> bootmgfw_.efi
mv "$windows_efi" "$(sed 's/\.efi$/_\0/i' <<< "$windows_efi")"
# Подменяем загрузчик Windows
cp "$systemd_efi" "$windows_efi"