Невозможно установить 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. Тогда я почти уверен, что это сработает.
Кто-нибудь может посоветовать, как:
выполнить grub-install, не пытаясь зарегистрировать новую запись UEFI с помощью efibootmgr, чтобы она прошла и не зависала на компьютере?
Какие файлы из /EFI/ubuntu/ я должен скопировать в / EFI / BOOT и какие из них мне следует переименовать в bootx64.efi?
Если это не хороший путь, что будет лучшим решением.
Спасибо за любой совет.
3 ответа
Проблема может быть решена следующим образом:
Загрузите Ubuntu Live DVD/USB в режиме тестирования и откройте терминал
Запустите процесс установки без установки загрузчика:
sudo ubiquity -b
Нажмите Продолжить тестирование после завершения установки.
Смонтировать недавно установленную файловую систему на
/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)
Загрузить эфивары по:
sudo modprobe efivars
Переустановка
grub-install
для 64-битной версииsudo apt-get install --reinstall grub-efi-amd64 sudo grub-install --no-nvram --root-directory=/mnt
Изменить корень на
/mnt
и обновить grubsudo chroot /mnt sudo update-grub
Переместите и переименуйте установленный загрузчик
cd /boot/efi/EFI sudo cp -R ubuntu/* BOOT/ cd BOOT sudo cp grubx64.efi bootx64.efi
Перезагрузите систему.
Более подробную информацию можно найти здесь:
Во-первых, я настоятельно рекомендую вам сообщить об ошибке, как описано здесь. Нет гарантии, что это даст положительные результаты, но без отчетов об ошибках разработчики вряд ли смогут решить проблемы.
Во-вторых, вы сказали, что использовали следующую команду вручную, чтобы попытаться зарегистрировать 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!