Привет у меня есть большая проблема, потому что Вы видите, когда я использую efibootmgr
для создания записи загрузки, это просто делает незагрузочный японский символ в меню начальной загрузки EFI, и это очень плохо.
С другой стороны, когда я использую bcfg в оболочке EFI, это работает просто великолепно. Используемая команда efibootmgr: efibootmgr -c -d /dev/nvme0n1 -p 1 -l /EFI/refind/refind_x64.efi -L "rEFInd"
тогда как bcfg каждый: bcfg boot add 3 fs0:\EFI\refind\refind_x64.efi "rEFInd"
Когда я делаю bcfg boot dump -v
различие между efibootmgr и bcfg записями следующее:
DevPath
поскольку сделанная запись bcfg PciRoot(0x0)/Pci.....\EFI\refind\refind_x64.efi
тогда как для сделанной записи efiboomgr, просто говорит VenHw(99E275E7-75AO-4B37)
У Вас есть идея о том, как заставить efibootmgr работать? Или альтернативно что называет опция в команде, я должен использовать для определения параматерей ядра с bcfg?
Необходимо отредактировать refind.conf файл и возвратить путь к PciRoot. Запишите все описание устройства, таким образом, можно ввести его в conf файл. Просто удостоверьтесь, что выбрали корректный PciRoot ;)
Если efibootmgr
создает запись как Вы, описывают (VenHw(99E275E7-75AO-4B37)
), затем это походит на ошибку в также efibootmgr
или встроенное микропрограммное обеспечение. Тем не менее рассмотрите efibootmgr
управляйте, чтобы Вы указали:
efibootmgr -c -d /dev/nvme0n1 -p 1 -l /EFI/refind/refind_x64.efi -L "rEFInd"
Существует две вещи, которые необычны об этом:
/dev/sd?
, где ?
буква от a
. Некоторые устройства, такие как некоторые карты SSD, имеют имена файлов, которые принимают другие формы, как /dev/mmcblk0
(это из памяти и не могло бы быть совершенно правильным). Я не вспоминаю никогда наблюдение имени устройства как /dev/nvme0n1
. Но это вовсе не значит это неправильно, но по крайней мере это необычно, и необходимо перепроверить его. Я особенно старался бы не включать число раздела - это что -p
опция к efibootmgr
для.efibootmgr
потребуйте, чтобы файлы были указаны с помощью синтаксиса EFI - то есть, с обратными косыми чертами (\
) вместо наклонных черт (/
) разделение записей каталога. Поскольку оболочки Linux обычно рассматривают обратные косые черты исключительно, это также требует или заключения в кавычки всего пути или сгибания на обратных косых чертах, таким образом, Вы указали бы -l \\EFI\\refind\\refind_x64.efi
или -l "\EFI\refind\refind_x64.efi
. Я услышал что новые версии efibootmgr
признает, что более традиционный Unix/Linux формирует и "переводит" внутренне, но я не знаю точно, когда та опция была добавлена, и Вы не сказали, какую версию Ubuntu Вы используете. Таким образом я рекомендую использовать удвоенные или заключенные в кавычки обратные косые черты, а не наклонные черты.На практике, конечно, если у Вас есть рабочая запись через bcfg
, не должно быть никакой потребности сделать что-либо еще с efibootmgr
. Я предполагаю, что Вы спрашиваете, потому что это должно работать и потому что Вы хотите смочь выполнить этот тип обслуживания из Ubuntu.
У меня была точно такая же проблема. Пытался создать загрузочную запись с помощью efibootmgr, используя диск nvme. Он не загружался, и в загрузочном меню в этой записи отображались только японские (или китайские?) Символы. Проверка загрузочных записей из другой операционной системы показала, что вновь созданная запись имеет тип VenHw.
Однако проблема заключалась в неправильном номере раздела. У меня был корневой раздел и некоторые другие в зашифрованных томах lvm. Поэтому я выделил этот зашифрованный раздел для efibootmgr вместо раздела / boot, который должен был быть указан. Вероятно, это не ваш случай, но я все равно пишу это на случай, если кто-то еще столкнется с этой проблемой по той же причине. Дважды проверьте номер вашего раздела и другие параметры в efibootmgr.