LINUX.ORG.RU

Не загружается Ubuntu после установки

 , , ,


0

1

Добрый день. В общем, я в замешательстве. Купил себе новый ноутбук, как я понимаю с UEFI, поставил на него Windows 8.1, далее Ubuntu 16.04, и при запуске системы не выходит окно Grub с выбором OC, а просто загружается Windows по умолчанию. Устанавливал Ubuntu как обычно, сначала загрузился с Live CD, затем установка рядом с Windows Boot ..., вообщем все как обычно. Пробовал загрузится с Live CD и восстановить с помощью Boot-repair, не помогает. Раньше с такой ситуацией не встречался, ставилась на старом ноутбуке без всяких танцев с бубном. Вообщем в интернете все очень размыто, конкретно свой случай не нашел, да и все сходится к тому, что нужно использовать boot-repair. Secure boot и быструю загрузку в Windows отключил. Самое интересное, что после всех этих манипуляций, при нажатии F12(меню выбора загрузки), кроме Windows там ничего нет, хотя boot-repair сказал, что все восстановил. При отключении UEFI в Bios перестает загружаться и Windows, ссылаясь на то что Boot загрузчик не найден. На скриншоте видны разделы ссылка. Что делать то? Попробовать с помощью bcdedit на Windows сказать ему откуда загружаться? Или что? boot-info


Если у тебя Windows установлена в EFI-режиме, то Windows Boot Manager при каждой загрузке ставит себя первым в очередь.

В качестве решения, можно вынести \EFI\Boot из ESP, и передобавить \EFI\Microsoft\Boot\bootmgfw.efi через efibootmgr. Это вылечит ТОЛЬКО реордер.

r3lgar ★★★★★
()
Последнее исправление: r3lgar (всего исправлений: 1)
Ответ на: комментарий от r3lgar

Windows Boot Manager при каждой загрузке ставит себя первым в очередь

Вроде как уже нет, если не выкидывать саму запись о нём из прошивки. Возможно, это вылечили в новых версиях винды.

intelfx ★★★★★
()

1. Использовать для логов какой-то mega.nz, когда есть православный pastebin - свинство.
2. Не знаю как там работают ваши графические конфигурялки, но судя по логу конфиг раба лежит на sda5. ИМХО и граб и его конфиг должны валяться на efi разделе, т.е. sda2.

Я в арче делаю так:
а) монтирую sda2 в /boot/efi
б) устанавливаю туда граб grub-install --efi-directory=/boot/efi --boot-directory=/boot/efi/EFI --bootloader-id=grub
в) создаю конфиг grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg

Команды могут отличаться. Всё на свой страх и риск. С десяточкой прокатывает.

ox55ff ★★★★★
()
Ответ на: комментарий от intelfx

Не могу подтвердить, но и опровергнуть тоже не могу. Во всяком случае, решение, которое я предложил, всё ещё актуально и работает.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Интересно, а можете расписать по подробней? Вы имеете ввиду удалить запись Windows Boot Manager и добавить вместо нее Grub, с помощью efibootmgr?

Pindos
() автор топика
Ответ на: комментарий от darkenshvein

Я подумал если boot-repair не помог, который так все нахваливают, то chroot даже смысла нет пробовать. Вы считаете он сможет помочь в данной ситуации?

Pindos
() автор топика
Ответ на: комментарий от ox55ff

О вкусах не спорят, кому то pastebin нравится, кому то мега. За инструкцию спасибо, навскидку все логично расписали, должно помочь. Завтра попробую.

Pindos
() автор топика
Ответ на: комментарий от Pindos

Вы имеете ввиду удалить запись Windows Boot Manager и добавить вместо нее Grub, с помощью efibootmgr?

Нет, я предлагаю удалить запись Windows Boot Manager, ссылающуюся на \EFI\Boot\bootx64.efi, и добавить вместо неё \EFI\Boot\Microsoft\Boot\bootmgfw.efi с тем же именем.

Механизм такой: \EFI\Boot\bootx64.efi запускается в любом случае, и делает реордер листа записей, так, чтобы Шindoшs была всегда первой, не любит она конкуренции, также запуская \EFI\Boot\Microsoft\Boot\bootmgfw.efi, который является самим загрузчиком. Потому нужно удалить \EFI\Boot физически, с диска (или перенести или переименовать — не важно) и заново прописать запись на сам загрузчик.

r3lgar ★★★★★
()
Ответ на: комментарий от Pindos

О вкусах не спорят, кому то pastebin нравится, кому то мега.

Логи должны быть читабельны, уважай тех, для кого ты постишь эти логи — кто может помочь тебе решить твою проблему. Лично я твои логи не смотрел, потому, что слишком много движений для их прочтения. Если тебе удобно — это не значит, что остальным будет так же удобно. Для того, чтобы запостить логи, ты можешь воспользоваться wgetpaste, который есть почти во всех дистрибутивах, или вручную на bpaste.net, pastebin.org, paste.debian.org и кучу других сервисов, чтобы пройдя по ссылке можно было сразу прочитать твои логи, а не извращаться со скачиванием.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Благодарю за разъяснение, впредь буду пользоваться вышеперечисленными сервисами. Загрузился с Live-CD, набираю efibootmgr -v и вижу следующую картину

BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 2002,0002,2001,2003
Boot0001* Unknown Device: 	HD(2,GPT,52bada4c-6969-4812-8c5c-7357648b06bc,0x96800,0x32000)/File(\EFI\ubuntu\shimx64.efi)RC
Boot0002* Windows Boot Manager	HD(2,GPT,52bada4c-6969-4812-8c5c-7357648b06bc,0x96800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...d................
Boot0003* ATAPI CDROM: Slimtype DVD A  DA8AESH	PciRoot(0x0)/Pci(0x17,0x0)/Sata(1,0,0)/CDROM(1,0xb0451,0x1280)RC
Boot2001* EFI USB Device	RC
Boot2002* EFI DVD/CDROM	RC
Boot2003* EFI Network	RC
то есть ссылка на \EFI\Boot\Microsoft\Boot\bootmgfw.efi уже присутствует, притом я ее не делал. Наверное это boot-repair постарался, однако Windows все равно запускается первой... Что делать в данной ситуации? Вы имеете ввиду удалить \EFI\Boot\Microsoft\Boot\bootmgfw.efi и снова ее добавить?

Pindos
() автор топика
Ответ на: комментарий от Pindos

ссылка на \EFI\Boot\Microsoft\Boot\bootmgfw.efi уже присутствует

В таком случае нужно сделать только реордер (man efibootmgr, смотреть в опцию -o): efibootmgr -o 0001,0002,0003,2001,2002,2003. Не забудь до перезагрузки перенести директорию \EFI\Boot куда-нибудь из ESP, или просто её переименовать, иначе может снова сработать реордер по инициативе \EFI\Boot\bootx64.efi.

уже присутствует, притом я ее не делал.

Это нормально, тогда делать с этой записью ничего не надо.

однако Windows все равно запускается первой...

Убрать из ESP директорию \EFI\Boot, чтобы не вмешивалось в загрузку, сделать реордер вручную, как я описал выше.

Вы имеете ввиду удалить \EFI\Boot\Microsoft\Boot\bootmgfw.efi и снова ее добавить?

Я имею в виду конкретно то, что я описывал до, и в этом комментарии. Если что не понятно — лучше задай конкретные вопросы перед любыми действиями, EFI можно сильно сломать.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Вроде бы все понятно. Смонтировать Sda2, переместить оттуда \EFI\Boot в другое место. В терминале набрать efibootmgr -o 0001,0002,0003,2001,2002,2003. И пробовать запуститься как обычно.

Я имею в виду конкретно то, что я описывал до, и в этом комментарии

меня смутили ваши слова из первого поста

передобавить \EFI\Microsoft\Boot\bootmgfw.efi через efibootmgr

поэтому я и переспросил.

Pindos
() автор топика
Ответ на: комментарий от Pindos

меня смутили ваши слова из первого поста

Виноват, мутно объяснил.

поэтому я и переспросил.

Это правильно.

переместить

Можно просто переименовать директорию. Если простым языком, то UEFI первостепенно смотрит в \EFI\Boot\bootx64.efi, и если этого файла (а лучше — директории) не будет, вмешиваться будет некому.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Что за чертовщина такая у меня на ноутбуке поселилась?)) Не помогло. Удалил директорию boot из EFI, сделал реордер, проверил, все четко как прописал, сначала 0001,0002..., перезагружаю ноутбук. Опять ЭТОТ Windows! Опять достаю Live-CD, запускаю, смотрю что там. В итоге, директории EFI/boot нету, а в efibootmgr поменялся порядок загрузки, и Windows Boot Manager опять первый стоит. Что подскажите?

Pindos
() автор топика
Ответ на: комментарий от Pindos

а в efibootmgr поменялся порядок загрузки

Что показывает поле BootNext, если таковое есть?

Что подскажите?

SecureBoot в настройках UEFI отключен? Файл, на который ссылается запись убунты, присутствует? Если вручную при загрузке ноутбука нажимать (Esc, F10, F11, F12, зависит от матплаты) вызов меню загрузки EFI, и выбирать убунту, она грузится?

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

BootNext нету. SecureBoot отключен. Файл присутствует на который ссылается.. Если нажимать F12, то Ubuntu нету! Только любимый Windows. Вот что говорит efibootmgr -v после того как все настроил и перезагрузился.

BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 2002,0002,2001,2003
Boot0001* Unknown Device: 	HD(2,GPT,52bada4c-6969-4812-8c5c-7357648b06bc,0x96800,0x32000)/File(\EFI\ubuntu\shimx64.efi)RC
Boot0002* Windows Boot Manager	HD(2,GPT,52bada4c-6969-4812-8c5c-7357648b06bc,0x96800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...d................
Boot0003* ATAPI CDROM: Slimtype DVD A  DA8AESH	PciRoot(0x0)/Pci(0x17,0x0)/Sata(1,0,0)/CDROM(1,0xb0451,0x1280)RC
Boot2001* EFI USB Device	RC
Boot2002* EFI DVD/CDROM	RC
Boot2003* EFI Network	RC

При монтировании /dev/sda2 в /media/efi в папке efi есть две папки boot-sav и EFI соответственно. Boot-sav это я понимаю как логи Boot-repair, т.к они там содержатся, не знаю важно это или нет.

Pindos
() автор топика
Ответ на: комментарий от Pindos

Если нажимать F12, то Ubuntu нету!

А это тогда что?

Boot0001* Unknown Device: HD(2,GPT,52bada4c-6969-4812-8c5c-7357648b06bc,0x96800,0x32000)/File(\EFI\ubuntu\shimx64.efi)RC

Да, зовётся оно «Unknown Device» (что, кстати, не менее странно), ссылается на shimx64.efi, а не на Grub, так что что-то у тебя не так не только с реордером, но и с записью убунты. Переустанавливай GRUB по документации из дебиана, например.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Вообщем нажил я себе «геморроя». Ладно, благодарю за помощь, попробую, как писал ox55ff, вдруг поможет.

Pindos
() автор топика
Ответ на: комментарий от r3lgar

Попробовал я восстановить Grub, как сказал ox55ff, ошибка хоть ты тресни вот эта

Installing for i386-pc platform. grub-install: error: install device isn't specified
В интернете естественно по ней ничего нет, иначе быть не может, как всегда. Не знаю, единственный выход как мне кажется переустанавливать Ubuntu вот по этой инструкции ссылка. Что скажите?

Pindos
() автор топика
Ответ на: комментарий от Pindos

for i386-pc platform

У тебя x86? Тебе надо устанавливать для EFI. Смотри маны граба, я его (grub 2) никогда не юзал, потому не подскажу, но что-то мне подсказывает, что ты хочешь установить его в MBR (указав девайс, а не ESP), не смотря на то, что у тебя GPT.

Кастуется Andrew как убунтовод.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

В том то и суть, что у меня x64. Что Windows, что Ubuntu. Я и в wiki Arch лазил, там как раз про установку Grub в Efi речь идет, как писал ox55ff вот ссылка. Если Andrew желает помочь, был бы очень признателен ему) Все что нужно предоставлю, логи или еще чего. Не знаю важно или нет, но даже если писать grub-install без всяких ключей, чтобы он сам все настроил, он выдает туже самую ошибку. Сегодня пробовал переустановить Ubuntu, теперь сам разделы выбрал точно, чтобы загрузчик лег куда нужно, Secure Boot включил, все как в инструкции написано было(в прошлый раз без Secure Boot устанавливал), все равно такая же ерунда. Самое интересное, почему он его вообще не видит как загрузчик, при нажатии F12, его просто нету и все. Один Windows Boot Manager.

Pindos
() автор топика
Ответ на: комментарий от Pindos

ЛайвСиДи точно нормальный? На крайний случай можешь образ арча на флешку записать и восстановить загрузчик :) Попробуй добавить ключ --target=x86_64-efi к команде grub-install.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Диск сам нарезал. Один компьютер работает с него, нареканий нет. Флешки не очень люблю. По команде что-то новенькое, пишет

grub-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist.
Please specfity --target or --directory
притом не зависит от того пишу я grub-install --efi-directory=/boot/efi --boot-directory=/boot/efi/EFI --bootloader-id=grub --target=x86_64-efi или просто grub-install --target=x86_64-efi. Результат один и тот же. Он пишет смотрите правильность указания target или directory. Вроде все правильно прошерстил man по grub-install, все правильно у меня написано, target под свою платформу, давай проверять а есть ли вообще такая папка, в итоге ls /usr/lib/grub/ выдает вот это
grub-mkconfig_lib 
 i386-pc
x86_64-efi то нету, да и вообще ничего похожего на 64 нету. В итоге я ему задаю директорию, чтобы он брал файлы для Grub с диска где уже установлена Ubuntu. Получается офигительно длинная команда
grub-install --efi-directory=/boot/efi --boot-directory=/boot/efi/EFI --bootloader-id=grub --target=x86_64-efi --directory=/media/ubuntu/567a0732-4cab-49f5-8ee8-8452c56efe93/usr/lib/grub/x86_64-efi
которая говорит Installing for x86_64-efi platform. Installation finished. No error reporte Ну хоть где-то прогресс. Дальше пишу grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg и получаю /usr/sbin/grub-probe: error: failed to get canonical path of `/cow'. как печально, был всего в шаге от успеха. Что скажите?

Pindos
() автор топика

Какая полная модель ноутбука? Bios обновлен до последней версии?

V1KT0P ★★
()
Ответ на: комментарий от Pindos

Боюсь, что больше предложить мне нечего. Наличие слова canonical в сообщении говорит о ubuntu специфичных вещах. У меня другой дистрибутив и пакеты там оформляются иначе.

Проверь версию Andrew, выглядит правдоподобно.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Andrew, V1KT0P, r3lgar, ox55ff Спасибо огромное всем присутствующим за помощь, без ваших подсказок данную проблему я бы не решил. Вчера потратил пол ночи на свой вопрос, почему не видит Ubuntu. И был найден ответ. вот этот. Если верить автору данной статьи, фирма Acer, а у меня именно она, продалась с потрохами Microsoft, и при написании UEFI, запрограммировали его только на Windows Boot Manager. Сделал все в точности как там написано, и наконец то Grub улыбнулся мне с вариантами загрузки, потом чуток подредактировал сам конфиг, чтобы все загружалось, как мне нужно и проблема решена. Мое личное ИМХО. Можно было обозвать Acer 'продажными тв*рями', однако подумав, я спросил себя, если бы меня попросили написать программу только для конкретной устройства, и предложили бы кучу денег, я бы тоже согласился, поэтому ИМХО конечно, но свое я все равно получил, поэтому Acer в каком то смысле даже молодцы. И денег заработали и 'дырку' оставили для таких упертых, которым приспичила Linux. Если интересно модель ноутбука Acer Aspire E5-575G-37QT, и Вы правильно подметили, UEFI не обновлен до самой последней версии, вполне возможно там либо они сделали нормально, либо так же оставили лазейку, ибо как так еще может быть, если ты делаешь все правильно, а UEFI даже не видит Linux в варианте загрузки через F12? Притом если судить по отзывам, скажем на том же Lenovo с похожими характеристиками, все устанавливается нормально, без танцев с бубном.

Pindos
() автор топика
Ответ на: комментарий от Pindos

Если верить автору данной статьи, фирма Acer, а у меня именно она, продалась с потрохами Microsoft, и при написании UEFI, запрограммировали его только на Windows Boot Manager.

Видимо у всех ноутбуков Acer Aspire одна и та-же проблема, у меня похожая ситуация: Пытаюсь заставить загружаться линукс на ноутбуке Acer Aspire ES 11 (ES1-132-C2L5).
В моем случае пути к загрузчикам прописаны жестко, в твоем случае видимо также, правда список чуть другой(у меня стандартный путь «\EFI\Linux\BOOTX64.efi» а у тебя «\EFI\Boot\grubx64.efi»). Все что не попадает в этот список игнорируется при запуске и в Boot Menu F12. При чем я сомневаюсь что автозамена «$cpu$» правильно работает. Список вытянул из прошивки для твоего ноутбука:

  • \EFI\Boot\grubx64.efi (Linux)
  • \EFI\Microsoft\Boot\bootmgfw.efi (Windows Boot Manager)
  • \EFI\ubuntu\shim.efi (ubuntu (SECURE))
  • \EFI\ubuntu\shim$cpu$.efi (ubuntu (SECURE))
  • \EFI\ubuntu\grub.efi (ubuntu (NORMAL))
  • \EFI\fedora\shim.efi (Fedora)
  • \EFI\android\bootx64.efi (Android)
  • \EFI\opensuse\grubx64.efi (openSUSE)
  • \EFI\redhat\grub.efi (Red Hat Linux)
  • \EFI\SuSE\elilo.efi (SuSE Linux)
  • \EFI\ubuntu\grub$cpu$.efi (ubuntu (NORMAL))

Я бы посоветовал попробовать установить rEFInd в «\EFI\Boot\grubx64.efi» с выключенным SecureBoot. Мне это помогло.

V1KT0P ★★
()
Ответ на: комментарий от V1KT0P

Благодарю. Вы правы, что пути строго прописаны, иначе он бы нашел их. Пока все работает, однако если обновить ubuntu или Windows, то все слетает, если я правильно понял, потому что Grub обновляется при обновлении Ubuntu. С Windows, она же просто не установится как нужно при обновлении, поэтому пока оставлю как есть. Всю неделю бился с ним, и просто хочется наконец пользоваться компьютером а не настраивать его, возможно при возникновении проблем сделаю так, как вы сказали. Поэтому еще раз спасибо)

Pindos
() автор топика
Ответ на: комментарий от Pindos

то все слетает

EFI директория чистится? Просто можно установить rEFInd в «\EFI\Boot\grubx64.efi» и уже там прописать Windows и Ubuntu, это если директория «\EFI\Boot\» не удаляется если обновить ubuntu или Windows.

V1KT0P ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.