Вопрос или проблема
Я пытаюсь установить Ubuntu на старый HP Elitebook с SSD на 225 ГБ, 8 МБ оперативной памяти и процессором Core i5 с 2 ядрами. У меня частично получилось, но как я могу настроить загрузку без необходимости выбора файла grub.efi? (См. вопросы ниже)
(Неудачные) установки с использованием метода загрузки legacy:
Я использовал Rufus для создания загрузочного установочного носителя Ubuntu 24.04 на USB-накопителе. Затем я установил Ubuntu, принимая все настройки по умолчанию. Я выбрал второй вариант установки Ubuntu, стирая всё и форматируя диск. Позже я обнаружил, что режим загрузки BIOS был установлен в legacy. В BIOS установлены три варианта загрузки.
Legacy
UEFI Hybrid (с CSM)
UEFI Hybrid (без CSM)
Вы можете открыть настройки BIOS, удерживая клавишу Esc при загрузке.
Я перезагрузился и удалил USB-носитель, и Ubuntu не удалось загрузиться. В процессе загрузки сообщалось, что на ноутбуке не удалось найти операционную систему.
Поэтому я провёл некоторое исследование в интернете и нашёл ссылку, предлагающую использование GParted и Boot-Repair. https://help.ubuntu.com/community/BootPartition
Я перезагрузился с USB-накопителя, открыл GParted и обнаружил, что мои разделы выглядели так:
| Раздел | Файловая система | Размер | Использовано | Свободно | Флаги |
|------- | ---------------- | ------- | ----------- | ------- | ------|
| /dev/sda1 | grub.core.img | 1.00 MiB | 0 | 0 | bios_grub
| /dev/sda2 | ext4 | 223.57 GiB | 12.8 GiB | 210 GiB
| неразмечено | неразмечено | 1.00 MiB
Я думаю, что эти разделы были созданы/переконфигурированы в процессе установки Ubuntu. Я пытался создать ещё один раздел загрузки на 1 ГБ — но мои знания о процессах загрузки отсутствуют. Мне сохранять раздел grub? Должен ли я иметь три раздела или два? Я попробовал две или три установки, но ничего не вышло.
Успешная установка с использованием UEFI:
Затем я сменил настройки BIOS на “UEFI Hybrid (с CSM)”. Я установил заново. На этот раз сработало, кроме одной проблемы; когда я перезагружаю ноутбук, он зацикливается на загрузке, и логотип HP просто мигает на экране каждые 2 секунды. Поэтому я нажал клавишу escap и выбрал F9 – Параметры загрузочного устройства. Затем я выбрал второй вариант: Загрузиться из файла EFI. Он попросил меня выбрать файловую систему. Был только один вариант для выбора. Я выбрал \EFI
. Затем я выбрал Ubuntu. Затем я выбрал grubx64.efi. Похоже, я выбрал файл: /EFI/ubuntu/grubx64.efi
Затем я нажал Enter, и ноутбук загрузился нормально.
Вывод Boot-Repair:
Затем я запустил Boot-Repair, чтобы посмотреть, будет ли это полезно. Программа успешно завершила работу и предоставила мне следующий вывод:
https://paste.ubuntu.com/p/XD4yCmGvBK/
boot-repair-4ppa2081 [20241013_0937]
============================= Резюме Boot Repair ==============================
modprobe: FATAL: Модуль efivars не найден в директории /lib/modules/6.8.0-45-generic
Рекомендуемый ремонт: ____________________________________________________________
Восстановление по умолчанию в утилите Boot-Repair переустановит grub-efi на
sda2,
используя следующие параметры: sda1/boot/efi.
Дополнительный ремонт будет выполнен: unhide-bootmenu-10s use-standard-efi-file
/boot/efi добавлено в sda2/fstab
/dev/sda2/boot/efi не пустой
Отобразить меню загрузки GRUB на sda2/etc/default/grub
===================== Переустановка grub-efi на /dev/sda2 ======================
grub-install --version
grub-install (GRUB) 2.12-1ubuntu7
modprobe: FATAL: Модуль efivars не найден в директории /lib/modules/6.8.0-45-generic
modprobe efivars
efibootmgr -v (фильтровано) до установки grub
BootCurrent: 0000
Timeout: 0 секунд
BootOrder: 0000,0001
Boot0000* Жёсткий диск ноутбука BBS(HD,,0x0)0000000000001f00000002000000010100000000020000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000100
Boot0001* Этернет ноутбука BBS(128,,0x0)010000000000190000000000000002009b0000cf80000000410b00cfdb0000cf000000000000000000000000000000000000000000000000000000000000000000000000001500
Boot0002* USB Жёсткий диск 1 - USB3.0 FLASH DRIVE BBS(HD,,0x900)0200000000000000000000000000030c00000000020000090000000000000000000000000000000000000000000000000000000000000000000000000001000000000000001300
Boot0003* USB Жёсткий диск 2 - Seagate Expansion BBS(HD,,0x900)0300000000000000000000000000030c00000000020000090000000000000000000000000000000000000000000000000000000000000000000000000002000000000000001400
Boot0004* Ubuntu HD(1,GPT,6fe1541f-5240-47fe-a074-dbdaceb931a9,0x800,0x219800)/File(EFIubuntu shimx64.efi)
uname -r
6.8.0-45-generic
grub-install --efi-directory=/boot/efi --target=x86_64-efi
Установка для платформы x86_64-efi.
Установка завершена. Ошибок не обнаружено.
df /dev/sda1
mv /boot/efi/EFI/Boot/bootx64.efi /boot/efi/EFI/Boot/bkpbootx64.efi
cp /boot/efi/efi/ubuntu/grubx64.efi /boot/efi/EFI/Boot/bootx64.efi
grub-install --efi-directory=/boot/efi --target=x86_64-efi
Установка для платформы x86_64-efi.
Установка завершена. Ошибок не обнаружено.
efibootmgr -v (фильтровано) после установки grub
BootCurrent: 0000
Timeout: 0 секунд
BootOrder: 0004,0000,0001
Boot0000* Жёсткий диск ноутбука BBS(HD,,0x0)0000000000001f00000002000000010100000000020000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000100
Boot0001* Этернет ноутбука BBS(128,,0x0)010000000000190000000000000002009b0000cf80000000410b00cfdb0000cf000000000000000000000000000000000000000000000000000000000000000000000000001500
Boot0002* USB Жёсткий диск 1 - USB3.0 FLASH DRIVE BBS(HD,,0x900)0200000000000000000000000000030c00000000020000090000000000000000000000000000000000000000000000000000000000000000000000000001000000000000001300
Boot0003* USB Жёсткий диск 2 - Seagate Expansion BBS(HD,,0x900)0300000000000000000000000000030c00000000020000090000000000000000000000000000000000000000000000000000000000000000000000000002000000000000001400
Boot0004* Ubuntu HD(1,GPT,6fe1541f-5240-47fe-a074-dbdaceb931a9,0x800,0x219800)/File(\EFI\ubuntu\shimx64.efi)
update-grub
Sourcing file `/etc/default/grub'
Найден образ linux: /boot/vmlinuz-6.8.0-45-generic
Найден initrd образ: /boot/initrd.img-6.8.0-45-generic
Найден 64-битный EFI образ memtest86+: /boot/memtest86+x64.efi
Добавление записи в меню загрузки для настроек прошивки UEFI ...
Отобразите меню загрузки GRUB на sda2/boot/grub/grub.cfg
Загрузка успешно восстановлена.
Теперь вы можете перезагрузить компьютер.
Пожалуйста, не забудьте сделать так, чтобы ваша прошивка UEFI загружала ОС, используемую в данный момент - Ubuntu 24.04.1 LTS (файл sda1/efi/ubuntu/grubx64.efi)!
============================ Информация о загрузке после ремонта ============================
=> Загрузочный загрузчик не установлен в MBR на /dev/sda.
sda1: __________________________________________________________________________
Файловая система: vfat
Тип сектора загрузки: FAT32
Информация о секторе загрузки: Ошибок в параметрах загрузочного блока не найдено.
Операционная система:
Загрузочные файлы: /efi/BOOT/bkpbootx64.efi /efi/BOOT/bootx64.efi
/efi/BOOT/fbx64.efi /efi/BOOT/mmx64.efi
/efi/ubuntu/grubx64.efi /efi/ubuntu/mmx64.efi
/efi/ubuntu/shimx64.efi /efi/ubuntu/grub.cfg
sda2: __________________________________________________________________________
Файловая система: ext4
Тип сектора загрузки: -
Информация о секторе загрузки:
Операционная система: Ubuntu 24.04.1 LTS
Загрузочные файлы: /boot/grub/grub.cfg /etc/fstab /etc/default/grub
================================ Обнаружена 1 ОС =================================
OS#1 (linux): ОС, используемая в данный момент - Ubuntu 24.04.1 LTS на sda2
================================ Хост/Аппаратное обеспечение =================================
Архитектура ЦПУ: 64-битная
Видео: Графический контроллер процессора 3-го поколения от Intel Corporation
BOOT_IMAGE установленной сессии в использовании:
/boot/vmlinuz-6.8.0-45-generic root=UUID=5261dd13-2453-48f2-a15c-ee00ce23dba8 ro quiet splash vt.handoff=7
df -Th / : /dev/sda2 ext4 218G 11G 197G 5% /
===================================== UEFI =====================================
Прошивка BIOS/UEFI: 68IBD Вер. F.46(15.70) от Hewlett-Packard
Прошивка совместима с EFI и настроена в режиме EFI для этой установленной сессии.
SecureBoot отключен (подтверждено mokutil).
BootCurrent: 0000
Timeout: 0 секунд
BootOrder: 0004,0000,0001
Boot0000* Жёсткий диск ноутбука BBS(HD,,0x0)0000000000001f00000002000000010100000000020000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000100
Boot0001* Этернет ноутбука BBS(128,,0x0)010000000000190000000000000002009b0000cf80000000410b00cfdb0000cf000000000000000000000000000000000000000000000000000000000000000000000000001500
Boot0002* USB Жёсткий диск 1 - USB3.0 FLASH DRIVE BBS(HD,,0x900)0200000000000000000000000000030c00000000020000090000000000000000000000000000000000000000000000000000000000000000000000000001000000000000001300
Boot0003* USB Жёсткий диск 2 - Seagate Expansion BBS(HD,,0x900)0300000000000000000000000000030c00000000020000090000000000000000000000000000000000000000000000000000000000000000000000000002000000000000001400
Boot0004* Ubuntu HD(1,GPT,6fe1541f-5240-47fe-a074-dbdaceb931a9,0x800,0x219800)/File(\EFI\ubuntu\shimx64.efi)
============================= Информация о диске/разделах =============================
Информация о дисках: ____________________________________________________________________
sda : is-GPT, no-BIOSboot, has---ESP, not-usb, not-mmc, has-os, no-wind, 2048 sectors * 512 bytes
Информация о разделах (1/3): _________________________________________________________
sda2 : is-os, 64, apt-get, signed grub-efi , grub2, grub-install, grubenv-ok, update-grub, end-after-100GB
sda1 : no-os, 64, nopakmgr, no-docgrub, nogrub, nogrubinstall, no-grubenv, noupdategrub, not-far
Информация о разделах (2/3): _________________________________________________________
sda2 : isnotESP, fstab-has-bad-efi, no-nt, no-winload, no-recov-nor-hid, no-bmgr, notwinboot, ext4
sda1 : is---ESP, part-has-no-fstab, no-nt, no-winload, no-recov-nor-hid, no-bmgr, notwinboot, vfat
Информация о разделах (3/3): _________________________________________________________
sda2 : not--sepboot, with-boot, fstab-without-boot, not-sep-usr, with--usr, fstab-without-usr, std-grub.d, sda
sda1 : not--sepboot, no---boot, part-has-no-fstab, not-sep-usr, no---usr, part-has-no-fstab, no--grub.d, sda
fdisk -l (фильтровано): ___________________________________________________________
Диск sda: 223.57 GiB, 240057409536 байт, 468862128 секторов
Идентификатор диска: 9677917D-56FC-428D-9689-BD409E8C6EFF
Начало Конец Секторы Размер Тип
sda1 2048 2203647 2201600 1G Система EFI
sda2 2203648 468858879 466655232 222.5G Файловая система Linux
parted -lm (фильтровано): _________________________________________________________
sda:240GB:scsi:512:512:gpt:ATA Apacer AS340 240:;
1:1049kB:1128MB:1127MB:fat32::boot, esp;
2:1128MB:240GB:239GB:ext4::;
blkid (фильтровано): ______________________________________________________________
NAME FSTYPE UUID PARTUUID LABEL PARTLABEL
sda
├─sda1 vfat 4691-070E 6fe1541f-5240-47fe-a074-dbdaceb931a9
└─sda2 ext4 5261dd13-2453-48f2-a15c-ee00ce23dba8 86f63776-925e-405c-aec7-881f9eef6005
Точки монтирования (фильтровано): _______________________________________________________
Доступно Использовано% Смонтировано на
/dev/sda2 196.7G 5% /
efivarfs 63.9K 44% /sys/firmware/efi/efivars
Опции монтирования (фильтровано): ______________________________________________________
/dev/sda2 ext4 rw,relatime
===================== sda1/efi/ubuntu/grub.cfg (фильтровано) ======================
search.fs_uuid 5261dd13-2453-48f2-a15c-ee00ce23dba8 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
====================== sda2/boot/grub/grub.cfg (фильтровано) ======================
Ubuntu 5261dd13-2453-48f2-a15c-ee00ce23dba8
### END /etc/grub.d/30_os-prober ###
UEFI Firmware Settings uefi-firmware
### END /etc/grub.d/30_uefi-firmware ###
========================== sda2/etc/fstab (фильтровано) ===========================
# <file system> <mount point> <type> <options> <dump> <pass>
# / было на /dev/sda2 во время установки curtin
/dev/disk/by-uuid/5261dd13-2453-48f2-a15c-ee00ce23dba8 / ext4 defaults 0 1
# /boot/efi был на /dev/sda1 во время установки curtin
/swap.img none swap sw 0 0
UUID=4691-070E /boot/efi vfat defaults 0 1
======================= sda2/etc/default/grub (фильтровано) =======================
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=false
==================== sda2: Местоположение файлов, загружаемых Grub ====================
GiB - GB Файл Фрагмент(ы)
158.341762543 = 170.018172928 boot/grub/grub.cfg 1
137.675777435 = 147.828240384 boot/vmlinuz 2
137.675777435 = 147.828240384 boot/vmlinuz-6.8.0-45-generic 2
137.675777435 = 147.828240384 boot/vmlinuz.old 2
162.925777435 = 174.940221440 boot/initrd.img 2
162.925777435 = 174.940221440 boot/initrd.img-6.8.0-45-generic 2
162.925777435 = 174.940221440 boot/initrd.img.old 2
===================== sda2: ls -l /etc/grub.d/ (фильтровано) ======================
-rwxr-xr-x 1 root root 18133 Apr 4 2024 10_linux
-rwxr-xr-x 1 root root 43202 Apr 4 2024 10_linux_zfs
-rwxr-xr-x 1 root root 14513 Apr 4 2024 20_linux_xen
-rwxr-xr-x 1 root root 786 Apr 4 2024 25_bli
-rwxr-xr-x 1 root root 13120 Apr 4 2024 30_os-prober
-rwxr-xr-x 1 root root 1174 Apr 4 2024 30_uefi-firmware
-rwxr-xr-x 1 root root 722 Apr 6 2024 35_fwupd
-rwxr-xr-x 1 root root 214 Apr 4 2024 40_custom
-rwxr-xr-x 1 root root 215 Apr 4 2024 41_custom
Это вывод говорит:
Пожалуйста, не забудьте сделать так, чтобы ваша прошивка UEFI загружала ОС, используемую в данный момент – Ubuntu 24.04.1 LTS (файл sda1/efi/ubuntu/grubx64.efi)!
Как мне заставить этот ноутбук загружаться автоматически, чтобы мне не нужно было вручную выбирать /EFI/ubuntu/grubx64.efi?
Стоит ли мне использовать Legacy или UEFI Hybrid (с CSM или без CSM)?
Я предлагаю вам:
1- Установить режим загрузки BIOS на Legacy.
2- Начать живую сессию Ubuntu.
3- Загрузиться с живой сессии, gparted (sudo gparted)
4- Отмонтировать и удалить разделы.
5- Создать таблицу разделов msdos.
6- Создать первичный раздел на 40 ГБ в ext4.
7- Создать первичный раздел на 24 ГБ под swap.
8- Создать первичный раздел из оставшихся гигабайтов в ext4.
9- Применить изменения.
10- Закрыть gparted и начать установку.
11- Установить с ручной разметкой, выбрав
первый раздел для /, второй для swap, и последний для /home, установив Grub в MBR на sda.
swap на 24 ГБ, если требуется гибернация, на 16 ГБ, если гибернация не требуется.
Ответ или решение
Для успешной установки Ubuntu на вашем HP EliteBook и устранения проблем с загрузкой без постоянного выбора файла grubx64.efi, важно правильно настроить устройство. Вы предоставили довольно детализированное описание проблемы, поэтому разберем его шаг за шагом. Я также учту предоставленные рекомендации по изменению конфигурации дисковых разделов.
Теория (Theory)
Сама природа загрузки операционной системы делится на два основных режима: Legacy BIOS и UEFI. Оба имеют свои особенности и ограничения. Legacy BIOS – это более старая технология, работающая с MBR (Master Boot Record), которая поддерживает только до 2ТБ дискового пространства и максимум четыре первичных раздела. UEFI (Unified Extensible Firmware Interface) – это современная замена BIOS, поддерживающая GPT (GUID Partition Table), обеспечивающая более гибкое управление разделами и более быстрый процесс загрузки.
Ключевое отличие в вашем случае связано с форматом загрузки. В случае с UEFI, загрузка осуществляется через EFI системный раздел, где хранится загрузочная информация в формате файлов, таких как grubx64.efi
. Этот метод более продвинутый и предполагает поддержку хранилищ с большей ёмкостью и большим количеством разделов.
Пример (Example)
Как следует из вашего описания, вы уже выполнили успешную установку Ubuntu с использованием режима UEFI Hybrid (с CSM). Однако основная проблема заключается в том, что компьютер не загружается автоматически, и приходится вручную выбирать grubx64.efi
. Это может быть связано с не совсем корректной конфигурацией загрузочных записей в BIOS.
При этом, использование Boot-Repair и его результаты показывают, что необходимы некоторые изменения в настройках загрузочной записи. Например, сообщение "Please do not forget to make your UEFI firmware boot on the OS now in use – Ubuntu 24.04.1 LTS entry" подсказывает, что вам нужно убедиться, что установлена правильная запись в BIOS для загрузки этой системы автоматически.
Применение (Application)
Установка с помощью UEFI:
-
Настройки BIOS:
- Убедитесь, что у вас включен режим загрузки UEFI Hybrid (желательно с CSM, если возможны проблемы совместимости с UEFI без CSM).
- Проверьте, что Secure Boot отключен. Это может иногда мешать загрузке несертифицированных загрузочных файлов.
-
Подготовка носителя с Ubuntu:
- Используя Rufus или другой инструмент, создайте загрузочный USB-носитель, убедившись, что он настроен для UEFI.
-
Установка системы:
- Перезагрузите ноутбук и загрузитесь с USB, войдите в раздел установки Ubuntu и выберите "Erase disk and install Ubuntu" для автоматического создания разделов.
- Убедитесь, что система создала EFI-системный раздел. Обычно Ubuntu во время установки создает его автоматически при загрузке в режиме UEFI.
-
Post-установка и исправление возможных ошибок:
- Используйте Boot-Repair снова для убедительности.
- Убедитесь, что в выводе Boot-Repair отсутствуют критические ошибки. Например, в вашем случае можно увидеть, что настройки загрузчика были перенастроены и ошибки устранены.
-
Конфигурация загрузочной записи UEFI:
- Включитесь в BIOS, выберите правильную загрузочную запись, возникшую после Boot-Repair, которая связана с Ubuntu. Необходимо установить её в качестве приоритетной (первая в порядке загрузки).
-
Тестирование:
- После выполнения всех шагов, перезагрузите и убедитесь, что загрузка производится автоматически без ручного выбора файла grubx64.efi.
Если все шаги были выполнены правильно, система должна загружаться автоматически, и больше не потребуется вмешательство в процесс выбора правильного загрузочного файла. В целом, наилучшей практикой в таких случаях является использование UEFI без CSM, если оборудование полностью поддерживает эту технологию, так как это обеспечивает наиболее стабильные и быстрые загрузочные процессы, а также дает возможность использовать весь потенциал современных спецификаций UEFI.