Я недавно создал сервер Ubuntu 14.04 VM на 64 бита в VirtualBox, с помощью начальной загрузки EFI. Я отбрасывался к оболочке EFI при начальной загрузке виртуальной машины, поскольку, по-видимому, она не могла найти, что ее корректный .efi файл загрузился от.
Ubuntu создает тот файл в /boot/efi/EFI/grubx64.efi
. Я могу сказать оболочке EFI загружать форму что использование файла:
fd0:\efi\ubuntu\grubx64.efi
Однако я не хочу делать этот каждый раз, когда я загружаю VM. Таким образом, я скопировал tha файл в местоположение по умолчанию /boot/efi/EFI/boot/bootx64.efi
. Это теперь загружается успешно без дальнейшего входа.
Я обеспокоен что /boot/efi/EFI/grubx64.efi
файл будет обновлен в нормальном процессе обновления Ubuntu, который будет означать что новое /boot/efi/EFI/boot/bootx64.efi
файл будет вне синхронизации с ним, если я не буду помнить копировать его через.
Действительно ли возможно использовать символьную ссылку или некоторый другой метод, чтобы гарантировать это, когда исходный файл обновляется, моя копия в /boot/efi/EFI/grubx64.efi
отражает какие-либо изменения?
Можно заставить переменные VirtualBox "NVRAM" "придерживаться" при помощи пользовательского интерфейса EFI VirtualBox для управления переменными. Вкратце:
EFI/ubuntu/grubx64.efi
файл на виртуальном диске. Выберите его. Вы будете теперь видеть, что меню, названное ", Изменяет Описание Параметра загрузки. "ubuntu
по умолчанию, но можно назвать его чем-то еще, если Вам нравится. ubuntu
запись (или независимо от того, что Вы называете его) должна теперь сохраниться между перезагрузками и даже "power-off/power-on" последовательности. Лично, я нахожу эту процедуру слишком неловкой и раздражающей для использования регулярно; я просто переименовываю файлы загрузчика, поскольку Вы говорите, что уже сделали. (С одним вариантом: Я почти всегда использую свою собственную перенаходку, не GRUB; но принцип то же так или иначе.)
Если я понимаю правильно, раздел EFI имеет файловую систему FAT32 (и должен иметь FAT32 или ISO 9660). И я не думаю, что символьные ссылки Linux работают в FAT32.
В Вашей ситуации я создал бы сценарий, который проверяет и обновляет grubx64.efi
. Сценарий мог бы использовать rsync
и мог бы быть назван через crontab
@reboot
. Да, это задержало бы копирование его 'одна' перезагрузка, таким образом, должна быть лучшая альтернатива (для инициирования сценария копирования).
, Если Вы хотите сделать эксперимент, Вы могли бы попробовать UDF, который мог бы работать с некоторыми ссылками, и который мог бы позволить загружаться в режиме UEFI. Вы могли даже попробовать ext2 (кто знает, возможно, компьютер загрузился бы).
Другая альтернатива должна работать вокруг проблемы путем начальной загрузки виртуальной машины в режиме BIOS (который работает, даже если хост-система работает в режиме UEFI). См. эту ссылку: Installation/UEFI-and-BIOS/stable-alternative