Установка Arch Linux, проблема с `modprobe efivars`

Я пытаюсь установить Linux на мой новый Vaio Pro, который сам по себе является приключением. Я пытаюсь установить Arch Linux с UEFI. Я следую этому руководству (хотя я использую более новые установочные носители Arch Linux 2013.11).

Проблема в том, что когда я пытаюсь запустить modprobe -r efivars или modprobe efivars, он говорит мне:

ФАТАЛЬНО: Модуль эфиваров не найден.

Я не могу найти решение этой проблемы в Интернете. Я не получаю сообщение об ошибке при запуске modprobe efivarfs, но когда я пытаюсь установить Grub, он по-прежнему говорит: переменные EFI не поддерживаются в этой системе.

1 ответ

Решение

Учебник по установке Archlinux на системы UEFI немного затруднен, но вы можете обойти эту конкретную проблему зависания, например:

Вы, вероятно, пытались запустить эту команду modprobe из chroot вашей целевой системы. Это вас никуда не приведет; вам нужна функциональность, загруженная в ядро ​​хост-системы. Фактически, мой опыт работы с установочными носителями 2013.11 заключается в том, что вам вообще не нужно загружать модуль; он уже загружен. Проблема в том, что sysfs каталоги, которые он использует, не доступны изнутри chroot, поэтому эту проблему нужно исправить.

  1. Оставьте ваш терминал открытым для chroot, но переключитесь на новую консоль (Alt+F2)

  2. Проверьте, что /sys/firmware/efi/efivars каталог существует. Если это не так, то modprobe efivars, но я подозреваю, что вы найдете это.

  3. Привязать смонтировать каталог в ваш выбор (настроить, если вы не используете /mnt)

    mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars
    
  4. Вернитесь к первому терминалу (Alt+F1) и попробуйте следующую команду еще раз. В зависимости от того, где вы находитесь в процессе установки, ваш следующий шаг, вероятно, будет примерно таким: (предполагается, что у вас установлен раздел BIOS, отформатированный в FAT32 /boot/efi внутри chroot)

    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck
    grub-mkconfig -o /boot/grub/grub.cfg
    

Если по какой-то причине вы столкнулись с проблемами на шаге 3, такими как каталог, который вы монтируете в несуществующий, то вы не правильно выполнили шаг #1. Важно использовать arch-chroot команда для инициализации целевого системного файлового пространства и только затем используйте другую консоль пыльника для запуска bind mount. Причина в том, что arch-chroot наборы сценариев нескольких других монтируемых, в том числе для /proc а также /sys это должно быть на месте, прежде чем вы сможете добавить тот, который отсутствует для EFI-Vars. В приведенных выше инструкциях вы открываете вторую консоль, чтобы сделать это специально, чтобы вы не потеряли другие крепления bind, пока добавляете эту.

Другие вопросы по тегам