LINUX.ORG.RU

Биос не видит установленный линукс Ubuntu

 , , ,


0

1

Добрый день, уважаемые форумчане. Мне нужна помощь.

Примерно 2.5 недели назад вместо Windows 10 установил на свой ноутбук Ubuntu 22.04. Две недели все было отлично, я был рад новой системе. Несколько дней назад биос перестал видеть систему. Запустился с liveCD, воспользовалcя boot-repair, вроде проблема ушла, система перезагружалась и все было ок. На следующий день при включении пк проблема вернулась. Boot-repair больше не помогает. Пробовал переустанавливать по-разному и с ручным разделением и с дефолтным, не получается. Вчера установил новую Ubuntu 24.04. Проблема остается.

В биосе выключен fast boot, boot-secure. Устанавливал с включенным/выключенным launch CSM, не помогало.

У меня 1 HDD, объемом в 1тб. Разделение диска при установке:

  1. sda1 Swap 6.14 gb
  2. sda2 Ext4 / 51.20 gb
  3. sda3 FAT32 /boot/efi 1.13 gb
  4. sda4 Ext4 /home 941.73 gb

Asus N751JK (ноутбук) | RAM 12 GB | GPU: Nvidia GTX 850M | CPU: Intel Core i7-4710HQ @ 2.50GHz



Последнее исправление: Nathan33 (всего исправлений: 2)

Проблема скорее всего не в линуксе, а в глюке биоса. Покажи вывод efibootmgr когда линукс загружается и когда нет.

Наверное по какой-то причине запись линукса исчезает из списка. Может её винда удаляет?

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

Благодарю за ответ. Сейчас на ноутбуке стоит только убунту. Других ОС нет. Установленную убунту я запустить не могу, все время попадаю в биос. Если запускаю liveCD, tryUbuntu, то efibootmgr выводит:

ubuntu@ubuntu:~$ sudo efibootmgr BootCurrent: 0001 Timeout: 0 seconds BootOrder: 0001 Boot0001* UEFI: USB DISK 2.0 PMAP PciRoot(0x0)/Pci(0x1d,0x0)/USB(1,0)/USB(3,0)/HD(1,MBR,0x1e980f53,0x800,0x1cea800)0000424f

Кажется это просто инфа о флешке…

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

UEFI теряет запись о Linux. Просто глюк UEFI, бывает. Они не рассчитаны на Linux обычно.

Тем более не помогает то, что ты сделал EFI раздел 3 вместо первого.

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

Ставил EFI раздел на первое место вручную и помимо этого делал еще и дефолтную установку, в которой он был на первом месте. Тоже не помогло

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

Как вариант, включить в UEFI режим Legacy (BIOS), загрузится с флешки в этом режиме (проверить через ls -ld /sys/firmware/efi, если нет, то окей), руками серез cfdisk разметить в msdos разметке с swap, /, /home (/boot/efi не нужен) и поставить Ubuntu так.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Nathan33

У Вас, случаем, в UEFI, и в Ubuntu до подключения к сети, часы не отстают?

Я к тому, что UEFI в ноутах запитывается не от основной батареи ноута, а, так же как в десктопах, от CR2032, обычно припаянной где-то на плате. Если она садится, обычно сначала начинают отставать часы, а затем, по мере потери заряда, начинают теряться настройки заданные в меню мат платы, в том числе и сведения о сохранённых загрузочных записях.

QsUPt7S ★★
()
Ответ на: комментарий от Solonix
  1. Да на сайте производителя есть чуть более новый биос 207 версии. Я пока не могу его поставить из-за того, что умерла батарея ноута. А биос требует батарею с минимальным зарядом в 20%.

  2. Убунту 22.04 первый линукс. До этого использовал windows 7, 8, 10.

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

Установи загрузчик по дефолтному пути

esp/EFI/BOOT/bootx64.efi

тогда даже при слете записи в nvram будет грузиться

Можно просто скопировав все из esp/EFI/grub в /EFI/BOOT и переименовав grub64.efi в bootx64.efi

А можно refind туда поставить

refind-install –usedefault /dev/sdXY

Where /dev/sdXY is your EFI system partition (the block device, not its mountpoint).

anonymous
()
Ответ на: комментарий от Vsevolod-linuxoid

Благодарю за ответ.

  1. Я загрузился с liveCD, ввел ls -ld /sys/firmware/efi:

ubuntu@ubuntu:~$ ls /sys/firmware/efi/

config_table fw_platform_size mok-variables runtime-map

efivars fw_vendor runtime systab

  1. У меня нету опции Boot-mode. Я не могу сменить режим. Когда при запуске системы я нажимаю F2, запускается окошко (там все 4 цвета - серый, белый, синий, черный). И сверху - Main, Advanced, Boot, Security, Save & Exit.

В разделе main: A) BIOS information - American Megatrends B) Version - 202 C) VBIOS Version - 2179.I15N750.003 D) EC Version - F02S080001

В разделе Boot: A) Fast Boot - disabled B) Launch CSM - disabled (устанавливал ОС и с включенным) C) Delete boot options

Извините, я просто пытаюсь разобраться. Хочу уточнить. Правильно ли я понял, что выходом может стать ручная установка убунту без раздела EFI? То есть, смонтировать разделы, установить ОС, настроить загрузчик ОС?

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

Благодарю Вас за ответ. Пока я использовал Ubuntu в течение двух недель такой проблемы замечено не было. Я настраивал время только 1 раз в самом начале.

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

то efibootmgr выводит:

Ты бы использовал форматирование что ли… Невозможно же читать.

Но в общем да, записи об убунте не видно. Рекомендую выключить secure boot и CSM / Legacy и скопировать загрузочный файл убунты по пути EFI/boot/bootx64.efi файл может называться например grubx64.efi

После этого убунта должна будет грузиться и без загрузочной записи. Кроме того какие-то опции биоса могут влиять на вайп загрузочной записи, впрочем если тебе удастся сделать груб по дефолту, то это уже не будет иметь значения.

Ставил EFI раздел на первое место вручную и помимо этого делал еще и дефолтную установку, в которой он был на первом месте. Тоже не помогло

Это бесполезно и никак не влияет на загрузочные записи в NVRAM

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

не. при дуалбуте винду будет грузить. у них захардкожено такое поведение: если загрузочных записей нет, то сначала ищется винда (не помню имя файла), потом BOOT\BOOTX64.EFI, ошибка в иных случаях

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

не. при дуалбуте винду будет грузить. у них захардкожено такое поведение: если загрузочных записей нет, то сначала ищется винда (не помню имя файла), потом BOOT\BOOTX64.EFI, ошибка в иных случаях

Ну в таком случае можно по пути винды положить ещё одну копию grubx64.efi но мне кажется что дефолтного пути хватит, винды-то больше нет.

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

Ты бы использовал форматирование что ли… Невозможно же читать.

Вы совершенно правы. Приношу извинения. Я не успел изучить маркировку. Теперь буду писать по-человечески.

Рекомендую выключить secure boot и CSM / Legacy и скопировать загрузочный файл убунты по пути EFI/boot/bootx64.efi файл может называться например grubx64.efi

Благодарю за совет. Сейчас буду разбираться.

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

Скопируй EFI файл образа загрузкичка grub на EFI разделе с grub.efi в bootx64.efi (BOOTx64.efi) - это имя файла по умолчанию, что пытается запустить EFI, если у него нет записей.

Только должен лежать в EFI/BOOT/BOOTx64.EFI. Рядом лежит файл с конфигом grub, его тоже скопируй.

https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)

Но при обновлении пакета grub могут быть проблемы.

Скопированный файл не обновится.

Вроде бы можно хуки вешать grub-mkconfig в /etc/default/grub.

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

Но при обновлении пакета grub могут быть проблемы.

А зачем его обновлять, если на данном конкретном компьютере он выполняет конкретную функцию - грузить ядро и initrd?

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

Спроси разработчиков (мантейнеров) пакета, зачем они конда находят баги в grub пересобирают пакет, обновляют его, выкладывают в пакетную базу и почему apt его обновляет потом по зависимостям других патов или при выполнении команды apt upgrade.

Мне вот тоже всегда было это не понятно. Странные они.

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

Ну баги — это понятно. Может какие-то опции не так обрабатывает или например как-то неправильно грузит ядро FreeBSD, но если в данном конкретном случае всё работает, то смысла обновлять не вижу.

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

Так что, получилось? По идее простая перестановка файлов на EFI разделе должна решить проблему.

Добрый день. Нет… Мучался вчера весь вечер, но видимо из-за неопытности у меня ничего не выходит.

  1. Запускаюсь с liveCd
  2. Через файловый менеджер открываю диск на 60гб у установленной на нем ОС
  3. Там есть папка boot, в ней две папки - efi, grub и различные файлы

Если я правильно понял, то папка efi должна содержать в себе загрузчик системы и там должна быть папка EFI, в которой будет две папки BOOT и GRUB. И моя задача из папки груба скопировать файлы в папку BOOT. В итоге в папке BOOT должен быть файл BOOTx64.efi

Проблема в том, что папка /boot/efi совершенно пуста. А папка /boot/grub не содержит в себе файла grubx64.efi

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

Во-первых, не папка, а директория или каталог. «Папка» — это объект графической оболочки, а вот каталог - это именно объект файловой системы, а во-вторых тебе не хватает базовых знаний.

В Линуксе дерево каталогов собирается из частей, это называется монтированием. Например тот раздел который ты открыл монтируется в корень, потом в него монтируется другой раздел в /boot/efi, какой-то ещё раздел монтируется в /home и так далее. В твоём случае ты смонтировал именно корневую файловую систему, а в ESP (EFI System Partition) находится другая отдельная файловая система и её ты не смонтировал. То есть каталог /boot/efi на том разделе и должен быть пустым, а раздел с нужными файлами туда монтируется уже после загрузки основной системы. А если ты монтируешь его из файлового менеджера, то /boot/efi остаётся пустым, поскольку для монтирования туда ESP нужна отдельная команда.

Если кратко, ты не тот раздел монтируешь и смотришь. Нужен маленький FAT раздел, а ты открыл большой раздел с линуксовой файлосистемой.

Кроме того желательно сразу привыкать работать через консоль, а не через файловый менеджер.

И да, я так понимаю в EFI/boot нужно копировать не всё подряд а только grubx64.efi и потом его переименовывать.

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

Я хотел ему посоветовать Debian, у него в экспертном режиме установки есть возможность ставить в removable media path, как раз специально для таких кривых UEFI.

Но учитывая, что это зеленый новичок, у которого только WiFi, а мы говорим о Debian, это нужно самому скачать, на виртуалке прогнать все, потом написать статью.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Xenius

Вы правы. Мне действительно не хватает знаний и опыта. Я расчитывал учиться работать с этой ОС в процессе. Не ожидал, что проблемы начнутся с момента установки.

Я попросил знакомого, который работает с убунту сделать скрины содержимого каталога /boot/efi . У него там лежит папка EFI, в которой лежат две других - BOOT и ubuntu. И в BOOT у него как раз есть файл BOOTX64.EFI. А в папке ubuntu лежат grubx64.efi, grub.cfg и еще 3 файла. Вот у меня этой самой EFI и нету. Извините, если опять использую дилетантский сленг и некорректные термины.

Чтобы установить систему я скачал iso-образ официального сайта. С помощью rufus на другом пк создал загрузочный диск и с него устанавливаю убунту. В том месте, где нужно выбрать тип установки я выбираю Manual installation и создаю 4 раздела. Там также есть раздел типа VFAT, на котором точка монтирования /boot/efi.

Но после установки системы этот каталог просто пустой.

Nathan33
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Зачем ставить целую систему когда можно поставить просто загрузчик? Тем более это можно сделать простым копированием файлов с переименованием одного из них.

anonymous
()
Ответ на: комментарий от Nathan33

загрузитесь с лайвлинукса на том компе, и гляньте разделы на диске вам нужен EFI раздел он у вас FAT32 1.13 gb

он может быть виден в файловом менеджере тогда просто копируете и переименовываете, если же не виден то его надо смонтировать и уже тогда он будет виден в ФМ

для этого гльньте номер раздела

fdisk -l
fdisk -l |grep EFI
mkdir ~/mn
sudo  mount -o  users,uid=1000,gid=1000 /dev/sda1 ~/mn
#вместо /dev/sda1 раздел который вам показал fdisk -l |grep EFI

потом смотрите содержимое «папки» mn в ФМ должна быть «папка» EFI
создаете в ней папку BOOT и копируете содержимое из /EFI/grub в /EFI/BOOT затем переименовываете файл grubx64.efi в /EFI/BOOT на bootx64.efi

отмонтируете раздел

sudo  umount  /dev/sda1 
#вместо /dev/sda1 раздел который вам показал fdisk -l |grep EF

и перезагружаетесь в биосе выставляете загрузку с диска

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

Unified_Extensible_Firmware_Interface_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)

Прошу прощения за офтоп, но похоже многие не знают, что если в адресную строку добавить пробел, и только после этого копировать, то адрес остается и целым и читаемым после вставки кудато.
https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface_(Русский)

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

Большое Вам спасибо за подробную инструкцию. Я все проделал, как Вы и написали. Смонтировал раздел. Там есть каталог EFI, внутри BOOT и ubuntu. Внутри ubuntu файлы груба, я его копировал в BOOT, менял название на BOOTX64.EFI, bootx64.efi… Копировал как через терминал, так и через ФМ. Никакого эффекта.

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

Если эта информация будет полезна - до установки убунту у меня был заводской виндоус 8, который я обновлял до 10. И винда почему-то начала постоянно падать. Только переустановлю и через пару дней просто намертво зависает. + повредился образ восстановления. Я не мог восстановиться до заводских и вместо винды поставил Ubuntu 22.04. Пару недель все было отлично. Ну а потом биос перестал видеть ОС.

У меня вопрос. Могут ли быть проблемы непосредственно с железом? Жестким диском к примеру

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

После всех операций я перезагружаюсь, снова открывается биос. И я не могу ничего выбрать, в разделе Boot просто нет такой опции. Там только Fast Boot, Launch CSM и Delete Boot Option. Это все опции, которые активны. Первые две выключены.

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

Если ты положил файл по правильному пути и правильно его назвал - UEFI должен грузить его по умолчанию при выборе UEFI варианта загрузки.

Вызывай загрузочное меню и смотри что в нём есть.

Если совсем туго - переустанавливай загрузчик для режима BIOS (CSM).

Ну либо переустанови систему при запуске установщика в режиме CSM (BIOS) - он сам поставит нужный загрузчик.

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

Спасибо! Как я писал - у меня умерла батарея от ноута. Биос для прошивки требовал батарею с мин.зарядом в 20%. Поскольку купить мне её тут негде, а ибп вероятно не будет воспринят как батарея, я обновил биос без оной. Было жутковато, но я это сделал.

В общем. Сейчас у меня на ноутбуке стоит система Ubuntu 24.04.Записи о ней не стираются при перезагрузке и после выключения пк (пока по крайней мере…). Я сделал следующее.

  1. Обновил BIOS до последней версии,
  2. Запустился с liveCD, вручную через cfdisk разметил диск на 3 раздела, из которых первый с типом EFI System, два других Linux filesystem
  3. Запустил программу установки, задал точки монтирования для каждого из разделов, а именно /boot/efi, / и /home соответственно
  4. Установка

Я неоднократно менял файлы загрузчика как уважаемые форумчане мне и советовали, но мне это не помогало. Однако, при мучительном гуглении и работе с chatGPT я заметил, что при автоматической установке у меня не монтировался в /boot/efi первый раздел. Я это видел по командам df -h или cfdisk, в дефолтном приложении Gpart (или как-то так) и Disks, и по отсутствующему каталогу EFI по пути /boot/efi/. Поскольку раздел не монтировался, то и система не грузилась.

В общем… Сейчас установилась, запускается и работает. После выключения и перезагрузок запись о ней не стирается (пока…). Правда, новая проблема - когда я начинаю что-то грузить у меня падает wifi с сообщением activation of network connection failed. И если честно, то мне это надоело… Наверно буду искать более стабильный дистрибутив. Сейчас, погуглив немного, посматриваю в сторону линукса Mint.

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