Невозможно установить Ubuntu на Acer Aspire ES1-533

Я купил этот компьютер и хотел установить на него Ubuntu. Проблема в том, что я потерпел неудачу более 3 недель. Компьютер поставляется с UEFI с очень ограниченными возможностями. Он не может быть переключен на устаревшую версию, и нет возможности выбрать файл UEFI в качестве доверенного для выполнения. Единственное, что можно сделать, это включить / отключить безопасную загрузку.

Теперь о проблеме. Я пытался установить Ubuntu сначала в автоматическом режиме, а затем с ручным разделением на что-то другое. В обоих случаях происходит сбой установки при установке grub2 в /dev/sda, и компьютер зависает.

Тогда я решил установить без загрузчика, используя ubiquity -b. Это сработало хорошо, и установка завершилась без проблем. Наконец я попытался установить загрузчик вручную, используя grub-install. И тут я подхожу к той же точке - компьютер зависает.

Таким образом, проблема в том, что efibootmgr пытается зарегистрировать новую запись в UEFI. Я также подтвердил это, запустив это:

_sudo efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu_ 

после чего опять висит.

Моя идея, как заставить это работать, состоит в следующем:

Установите Ubuntu без загрузчика, установите загрузчик вручную, не пытаясь зарегистрировать новую запись в UEFI, переместите загрузчик из /EFI/ubuntu/ в /EFI/BOOT/ и переименуйте его в bootx64.efi. Тогда я почти уверен, что это сработает.

Кто-нибудь может посоветовать, как:

  1. выполнить grub-install, не пытаясь зарегистрировать новую запись UEFI с помощью efibootmgr, чтобы она прошла и не зависала на компьютере?

  2. Какие файлы из /EFI/ubuntu/ я должен скопировать в / EFI / BOOT и какие из них мне следует переименовать в bootx64.efi?

  3. Если это не хороший путь, что будет лучшим решением.

Спасибо за любой совет.

3 ответа

Проблема может быть решена следующим образом:

  1. Загрузите Ubuntu Live DVD/USB в режиме тестирования и откройте терминал

  2. Запустите процесс установки без установки загрузчика:

    sudo ubiquity -b
    
  3. Нажмите Продолжить тестирование после завершения установки.

  4. Смонтировать недавно установленную файловую систему на /mnt:

    sudo mount /dev/sda2 /mnt
    sudo mkdir /mnt/boot/efi
    sudo mount /dev/sda1 /mnt/boot/efi
    for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
    

(где sda2 является корневым разделом и sda1 системный раздел EFI)

  1. Загрузить эфивары по:

    sudo modprobe efivars
    
  2. Переустановка grub-install для 64-битной версии

    sudo apt-get install --reinstall grub-efi-amd64
    sudo grub-install --no-nvram --root-directory=/mnt
    
  3. Изменить корень на /mnt и обновить grub

    sudo chroot /mnt
    sudo update-grub
    
  4. Переместите и переименуйте установленный загрузчик

    cd /boot/efi/EFI
    sudo cp -R ubuntu/* BOOT/
    cd BOOT
    sudo cp grubx64.efi bootx64.efi
    
  5. Перезагрузите систему.

Более подробную информацию можно найти здесь:

Обсуждение сообщества Acer

Во-первых, я настоятельно рекомендую вам сообщить об ошибке, как описано здесь. Нет гарантии, что это даст положительные результаты, но без отчетов об ошибках разработчики вряд ли смогут решить проблемы.

Во-вторых, вы сказали, что использовали следующую команду вручную, чтобы попытаться зарегистрировать GRUB с прошивкой:

sudo efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu

Однако в этой команде отсутствует важный параметр: -l {filename}, Кроме того, я никогда раньше не видел -w как обязательный параметр, так что, вероятно, следует удалить. В общем, ваша команда должна быть:

sudo efibootmgr -c -d /dev/sda -p 1 -L ubuntu -l \\EFI\\ubuntu\\grubx64.efi

+ Изменить grubx64.efi в shimx64.efi если вы уверены, что shimx64.efi файл установлен, и если вы хотите иметь возможность загрузки с активной загрузкой Secure Boot. Учитывая, что основная установка ОС зависает, я сомневаюсь, что это изменение поможет вообще, но это стоит попробовать.

Что касается остальных, я считаю, --no-nvram возможность grub-install следует избегать попытки обновления переменных NVRAM через efibootmgr, Эта опция не упоминается на man страница, но я считаю, что это правильный вариант.

Вы также можете обратиться к моей странице, посвященной загрузчикам EFI для Linux, и особенно к ее странице, посвященной установке загрузчиков. Это даст вам некоторое представление о том, как выполняются "гайки и болты" этих операций. Возможно, вы даже захотите использовать что-то кроме GRUB 2 в качестве загрузчика.

Для загрузки с использованием имени файла по умолчанию вы должны скопировать все /boot/efi/EFI/ubuntu в /boot/efi/EFI/BOOT и переименовать grubx64.efi в bootx64.efi в этом каталоге. Кроме того, вы можете установить что-то еще, используя резервное имя файла. Одним из основных предостережений при этом является то, что это может не сработать, если компьютер уже загружает Windows (или некоторые другие ОС). В этом случае вам может понадобиться "взломать" загрузчик Windows, заменив его на GRUB 2 (или все, что вы хотите использовать) и переместив загрузчик Windows в другое место.

Linux действительно можно установить и загрузить на Acer ES1-533, взломав загрузчик по умолчанию (Windows), как описано в Sladek90, а также подробно описано на отличном веб-сайте Рода Смита. Однако это не обязательно.

Лучшим способом является установка Linux без записи в NVRAM, поскольку запись в efibootmgr - что делают почти все дистрибутивы - заморозит систему (возможно только чтение).

Решение состоит в том, чтобы использовать систему rEFInd live (например, USB-флешку), загрузиться в нее, открыть оболочку UEFI и сгенерировать необходимую запись UEFI с помощью bcfg, например:

bcfg boot add 2 fs0:\EFI\ubuntu\grubx64.efi "GRUB Loader"

Это добавляет загрузочную запись для GRUB в поз. 2. Когда вы перезагрузитесь и нажмете F12, у вас будет возможность загрузить GRUB (а затем и Ubuntu) или Windows!

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