Мой первый комментарий: вам, вероятно, не нужны ни rEFInd, ни systemd-boot. Вполне возможно, что один или другой (вероятно, не rEFInd, если разработчики Arch не внесли существенных изменений в его сценарии) вызывают дублирующие записи, поэтому, если у вас нет веских причин оставить оба менеджера загрузки установленными, удаление одного из них может помешать дальнейшие записи появляются. Это долгий путь, но, как правило, хорошо не устанавливать больше программного обеспечения, чем нужно, так как это может вызвать странные проблемы в некоторых случаях.
Существует также небольшая вероятность того, что какая-то другая загрузочная программа запускается без вашего ведома, и это вызывает эту проблему. Я видел сообщения об ошибках в некоторых инструментах Red Hat, которые предназначены для исправления проблем с ошибочной прошивкой, которая забывает загрузочные записи, делая это. Я не очень внимательно следил за этой проблемой, но думаю, что эта ошибка уже исправлена. Кроме того, он обычно реплицирует запись Fedora, а не что-то более общее, как ваша запись SanDisk partition 1
, поэтому я сомневаюсь, что виновато именно это конкретное программное обеспечение; Я упоминаю это просто как пример возможной причины. Возможно, стоит поискать в ESP файлы .efi
которые вы не понимаете, в частности, файлы, которые могут быть запущены вашей загрузочной записью по умолчанию, но которые не предназначены для загрузки менеджера.
Однако наиболее вероятная причина - ошибка прошивки. Вы не говорите, какой код файловой системы или типа раздела вы указали для вашего /boot
раздела, но если это ваш ESP (как это обычно бывает в установках Arch), ваша микропрограмма может искать резервный загрузчик (EFI/BOOT/bootx64.efi
) и добавление записи для него при каждой загрузке. Обычно, конечно, это не должно делать это при каждой загрузке; но если есть ошибка, все ставки сняты. Если в этой файловой системе нет резервного загрузчика, то это может быть причиной ошибки. Изучение природы загрузочной записи с помощью efibootmgr -v
в Arch Linux может дать некоторые подсказки.
Вы можете удалить лишние записи с помощью efibootmgr
, как в efibootmgr -b 3 -B
чтобы удалить запись Boot0003
. Конечно, если прошивка постоянно добавляет записи обратно, вам нужно написать сценарий запуска, чтобы найти и удалить лишние записи - или просто жить с ними, загромождая меню загрузки. Если вы можете выяснить, что вызывает ошибку, вы можете изменить конфигурацию своей системы, чтобы избежать триггера - скажем, добавив файл EFI/BOOT/bootx64.efi
, если его отсутствие является триггером.
Лучшее долгосрочное решение, если я прав, - обновить прошивку. (Возможно, производитель вашей материнской платы или компьютера называет эти обновления "обновлениями BIOS" или чем-то подобным.) Это может или не может устранить проблему в будущем. Вероятно, это не устранит существующие избыточные записи, но может помешать созданию новых. Имейте в виду, что обновление может также иметь отрицательный эффект от удаления ваших допустимых записей, поэтому вам следует подготовиться к аварийному загрузочному носителю на случай, если вам потребуется заново создать эти записи после обновления прошивки.