Несколько дней назад купил дочке на днюху точно такой же ноут, конкретнее Acer Aspire ES1-533-P1UR. Linux на нём уже стоял, точнее, не Linux, а Endless OS — андроедоподобное существо, чем-то напоминающее Linux. Ну я и подумал: раз тут какой-никакой Линь уже стоит, значит накатить другой будет тоже не проблема. Ага, не тут-то было! В общем, чтобы установить на эту железяку нормальный Линукс, я потратил все выходные!
Больше не на саму установку, а на поиски решения проблемы, конечно, которая заключалась в том же, в чём и у ТС: как только процесс установки системы доходил до установки загрузчика grub2 (причём, указывал ему разные разделы), то процесс зависал на 66% и намертво вешал ноутбук.
Но зато таки установил. Хоть и через кучу костылей, но теперь всё чотко работает. Подумал, что нужно поделиться рецептом для тех, кто будет биться над этой проблемой так же, как и я, авось кому пригодится (а поскольку эти Acer Aspire ES1-533 пока и не думают снимать с продажи, то думаю, что таки пригодится, и не раз!
).
Итак. Перво-наперво надо уяснить, что ноутбук, который нам достался — из тех, чья UEFI жоско заточена под Windows и в упор не видит директории от других ОС в разделе /boot/efi, и плясать уже от этой печки. Производители, установившие на этот ноут Endless, реализовали эту установку через свои костыли, которых я сперва не понял и потому снёс их, решив переразметить диск по-правильному, а не_как_эти_олени™. Их разметка представляла из себя следующее зрелище:
(Сорян за снимок с экрана. Я вообще этот снимок делать не планировал. Так, на всякий случай сфотал для себя перед тем, как диск переразметить, кто ж знал, что оно здесь пригодится!)Если честно, я сперва не понял, что всё это значит, думал, что производители тупо забацали как попало, типа "и так сойдёт" ©. Это я уже потом догадался, что, судя по всему, они после раздела /dev/sda1 на моей картинке (/boot/efi? Тогда почему в fat-16 и почему такой маленький?), оставили неотформатированный 1-мегабайтный раздел (/dev/sda2) для установки в него grub-а. Есть такой способ, что в GPT создаётся раздел размером 1 Мегабайт без файловой системы и с флагом grub_bios, в который потом ставится grub. Но это, всё-таки, костыль, ящетаю, не по-пацански. По-пацански grub на GPT нужно ставить в /boot/efi. Так думал я, пока не понял, что в нашем случае в этот /boot/efi ничего, кроме вендоус-загрузчика без костылей не поставить.
Ну, вот на этой оптимистичной ноте я и приступил к переразметке винта, загрузившись с Live USB (предварительно отключив в Биосе Secure boot, естественно; кстати, режим Legacy Mode в нашем Биосе отсутствует как класс). Переразметил диск как обычно:
/dev/sda1 (100Мб, fat-32) — /boot/efi раздел;
/dev/sda2 (4Гб, linux-swap) — swap;
/dev/sda3 (15Гб, ext-4) — /;
/dev/sda4 (15Гб, ext-4) — под корень другой системы (ничего не могу с собой поделать — привычка иметь на одном компе два Линукса);
/dev/sda5 (всё остальное, ext-4) — /home.
Разметил, начал установку, ну а дальше вы и так знаете: на этапе установки загрузчика глухой затык — grub отказывался устанавливаться куда бы то ни было от слова совсем. Пришлось устанавливать систему без установки загрузчика. В некоторых дистрах можно выбрать для этого соответствующий пункт на этапе разметки диска в выпадающем меню "Устройство для установки системного загрузчика" — "Не устанавливать", но в установщике моего
KDE neon-а такой возможности нет. Поэтому пришлось через Терминал:
ubuntu@ubuntu:~$ sudo su
ubuntu@ubuntu:~$ ubiquity -b
Так система поставилась без проблем. Но это были цветочки. Ягодки — научить ноутбук загружаться в установленную систему — ждали меня впереди!
В результате долгих поисков, проб и попыток дело решилось так:
1. После установки системы либо остаёмся в Live USB, либо, если уже успели выгрузиться, загружаемся обратно.
2. Открываем Терминал и чрутаемся в установленную систему, выполняя следующие команды по очереди (помня о том, что мы загружены с флешки, а значит разделы установленной системы будут не /dev/sda, а /dev/sdb, а /dev/sda — это разделы флешки, а так же не забывая поменять цифры разделов на свои):
ubuntu@ubuntu:~$ sudo mount /dev/sdb3 /mnt
ubuntu@ubuntu:~$ sudo mount /dev/sdb1 /mnt/boot/efi
ubuntu@ubuntu:~$ for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
ubuntu@ubuntu:~$ sudo cp /etc/resolv.conf /mnt/etc/
ubuntu@ubuntu:~$ modprobe efivars
ubuntu@ubuntu:~$ sudo chroot /mnt
После чего мы получаем рут от установленной системы:
root@ubuntu:/#
Скажу сразу, на этом этапе я пытался поставить загрузчик и он даже ставился, хоть и с ошибками. Но толку это никакого не давало — система всё равно не грузилась с жёсткого диска — No bootable device и всё тут!
3. Поэтому решил вообще отказаться от grub-а, а пойти путём установки refind-а (
сцылко для тех, кто не в курсе, что это). К тому же, на двух других своих компах я уже давно отказался от grub-а в пользу refind-а. Так что долго думать тут не пришлось.
root@ubuntu:/# sudo apt-add-repository ppa:rodsmith/refind
root@ubuntu:/# sudo apt-get update
root@ubuntu:/# sudo apt-get install refind
Refind тоже ругнулся на что-то там, но поставился. Но и тут меня тоже ждал затык — как я уже говорил выше, UEFI нашего Acer-а жоско заточена под Windows и в упор не видит директории в разделе /boot/efi, отличные от директорий Корпорации_Добра™. Поэтому созданную refind-ом директорию оно тоже не увидело и загрузка в систему не состоялась. Снова загрузился в Live USB и при помощи Терминала примонтировал раздел /boot/efi в /mnt:
ubuntu@ubuntu:~$ sudo mount /dev/sdb1 /mnt
Удалил там папку BOOT:
ubuntu@ubuntu:~$ sudo rm -r /mnt/EFI/BOOT
Переименовал папку refind в папку BOOT:
ubuntu@ubuntu:~$ sudo mv /mnt/EFI/refind /mnt/EFI/BOOT
а сам файл refind_x64.efi в этой директории в файл bootx64.efi:
ubuntu@ubuntu:~$ sudo mv /mnt/EFI/BOOT/refind_x64.efi /mnt/EFI/BOOT/bootx64.efi
После чего спокойно перезагрузился в установленную на винт систему.
4. Ну а далее, уже находясь в системе, полностью вычистил из неё grub, удалил из папки EFI всё, кроме новосозданной директории BOOT и директории tools, настроил refind, установил пакет-пустышку grub-pc_3.0-1_all.deb, как сказано по ссылке выше, ну и вот это вот всё. Короче, навёл порядки.
Profit!
ЗЫ: А, ещё вспомнил сейчас, что на каком-то этапе сверил содержимое директории refind-а с аналогичной на своём компе, обнаружил недостачу там каких-то папок или файлов (точно не помню уже, каких; не зря же refind ругался при установке!) и тупо закинул их туда, взяв их со своего компа. Эта инфа тоже может понадобиться, я думаю…