Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: загрузка системы (UEFI)  (Прочитано 1000 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн agel122

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
загрузка системы (UEFI)
« : 03 Августа 2019, 02:57:53 »
Вопрос будет немного диковатый, но я спрошу...
Итак, имеется разбивка диска SSD (при форматировании создавалась GPT-таблица для установки с UEFI):
Устр-во     Размер    Тип                     Смонтировано
/dev/sda1   512M      EFI                     /boot/efi (в обоих системах)
/dev/sda2   53,7G     Файловая система Linux  /         (корневой каталог UBUNTU)
/dev/sda3   135,5G    Файловая система Linux  /home     (домашняя папка в обоих системах)
/dev/sda4   8,8G      Linux своп              swap      (файл подкачки в обоих системах)
/dev/sda5   40G       Файловая система Linux  /         (корневой каталог DEBIAN)
В BIOS (UEFI) при выборе варианта загрузки можно выбрать из (CD-ROM не указываю):
1) debian (P1:TS256GSSD360S)
2) ubuntu (P1:TS256GSSD360S)
3) P1:TS256GSSD360S
TS256GSSD360S - это моя модель SSD диска. Это ОК.
Если выбираю вариант загрузки номер 3 (P1:TS256GSSD360S) - загрузка не происходит.
Если номер 1 или 2 - грузится меню GRUB2, которое при этом отличается цветом и оформлением (если выбираю debian (P1:TS256GSSD360S) - серый фон Дебиана в загрузчике, если ubuntu (P1:TS256GSSD360S) - характерный фон Ubuntu). Загрузка происходит, все ОК.

И вот теперь мой "странный" вопрос: откуда я собственно гружусь? Из EFI-раздела (я проверил, там есть нужные папки и в каждой лежат файлы GRUB) или из корневых разделов каждой системы (я проверил, там, в папке boot ТОЖЕ лежат файлы GRUB)?!
Есть ли какие-либо команды терминала или логи, чтобы понять это?
P1:TS256GSSD360S - это как раз-таки первый раздел моего диска, который и является UEFI-разделом?
Почему, несмотря на наличие раздела UEFI с данными загрузки, каждый корневой раздел системы содержит в папке boot GRUB-файлы?
Если я отредактирую что-либо в /etc/default/grub например Ubuntu, уйдет ли это все в grub.cfg на EFI разделе, после команды sudo update-grub?

Понимаю, что странноватый вопрос, но пытаюсь разобраться как оно все работает. В том числе, через понимание вот таких вот вопросов.
Заранее спасибо.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6912
    • Просмотр профиля
Re: загрузка системы (UEFI)
« Ответ #1 : 03 Августа 2019, 05:17:32 »
Цитировать
странный" вопрос
Вопрос не странный, вопрос сложный.
Во первых, некорректно поставлен. При любом варианте установки груб, он "раскидан" по нескольким местам. Поэтому, невозможно однозначно сказать, что он находится там или здесь.
Во вторых. Возможны разные ваианты и места установок груб, что еще больше разннообразит места его расположения.
Конкретный пример. Из 64битного исо-образа *бунту копируем на ESP-раздел каталоги /EFI, /boot. Получаем еще один ЕФИ-груб, который весь находится на ESP-разделе. В его файл grub.cfg добавляем запись, о вызове конфиг-файла с другого раздела, например, с раздела твоей Дебиан. Теперь уже нельзя сказать, что весь груб на ESP-разделе, т.к. для его работы нужен файл с другого раздела.
Цитировать
Из EFI-раздела (я проверил, там есть нужные папки и в каждой лежат файлы GRUB
Есть, на вероятнее всего не все. Скорей всего там есть маленький grub.cfg (три строки), который указывает, где искать остальные файлы.
Цитировать
или из корневых разделов каждой системы (я проверил, там, в папке boot ТОЖЕ лежат файлы GRUB)
А это и есть - остальные файлы.
Цитировать
Почему, несмотря на наличие раздела UEFI с данными загрузки, каждый корневой раздел системы содержит в папке boot GRUB-файлы?
Так решили разработчики.
Цитировать
Если я отредактирую что-либо в /etc/default/grub например Ubuntu, уйдет ли это все в grub.cfg на EFI разделе
Зависит от того, что у тебя в "grub.cfg на EFI разделе".  Если весь конфиг, то вероятно уйдет. Если только "три строки", то нет.
Цитировать
1) debian (P1:TS256GSSD360S)
2) ubuntu (P1:TS256GSSD360S)
3) P1:TS256GSSD360S
Названия и количество вариантов загрузки зависят не только от установленных систем. Они очень сильно зависят от каждого конкретного УЕФИ.
Например, в некоторых УЕФИ есть режим "ЕФИ+Легаси". В этом случае показаны вместе варианты загрузки для обоих режимов. Возможно твой третий пункт, это пункт загрузочного устройства для легаси режима.
« Последнее редактирование: 03 Августа 2019, 05:27:00 от andytux »

Оффлайн agel122

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: загрузка системы (UEFI)
« Ответ #2 : 03 Августа 2019, 10:15:56 »
В его файл grub.cfg добавляем запись, о вызове конфиг-файла с другого раздела, например, с раздела твоей Дебиан. Теперь уже нельзя сказать, что весь груб на ESP-разделе, т.к. для его работы нужен файл с другого раздела.
Зависит от того, что у тебя в "grub.cfg на EFI разделе".  Если весь конфиг, то вероятно уйдет. Если только "три строки", то нет.
Во-первых - спасибо за развернутый ответ и потраченное на него время. Далее, по цитированному выше - есть ли пример записи, который надо искать в файле grub на EFI, чтобы понять, что он далее ссылается на подобные файлы уже на корневых разделах?
И еще одно, как я спрашивал ранее, есть ли информация по этапам загрузки в каких-либо логах? Есть ли там что-то интересующее меня? Есть ли какая-либо команда, позволяющая выполнить загрузку поэтапно и промониторить что откуда прогружается?
Ну это так...Если есть что-то совсем простое и понятное. Если нет - покопаюсь посмотрю. Спасибо.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6912
    • Просмотр профиля
Re: загрузка системы (UEFI)
« Ответ #3 : 03 Августа 2019, 10:47:30 »
Цитировать
пример записи, который надо искать в файле grub на EFI, чтобы понять, что он далее ссылается на подобные файлы уже на корневых разделах?
Например, здесь.
Ну и раз любопытно, ты в файл-то загляни.
Цитировать
Есть ли какая-либо команда, позволяющая выполнить загрузку поэтапно и промониторить что откуда прогружается?
Есть. Называется консоль груб.
Здесь пример работы.

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1794
    • Просмотр профиля
Re: загрузка системы (UEFI)
« Ответ #4 : 03 Августа 2019, 12:13:33 »
 Если-бы он при установке и первой и второй системы устанавливал граб в ESP раздел, то и вопросов не возникло-бы, второй загрузчик при его установке видит что там уже есть система и автоматом присоединяет её. Для правки порядка загрузки граб кастомайзер применяется только во второй системе и никак не в первой. Вы меня все критикуете, за то, что не на устройство граб ставлю, но вот потом такие "пироги" и случаются....и вопросы лишние появляются. Второй системе до лампочки что перед ней устанавливалось...Windows-linux, найдёт и грамотно пропишет. И в Биос не нужно при загрузке выбирать и вручную править никогда ничего не нужно.

Оффлайн Дюшик

  • Активист
  • *
  • Сообщений: 895
    • Просмотр профиля
Re: загрузка системы (UEFI)
« Ответ #5 : 03 Августа 2019, 15:06:47 »
второй загрузчик при его установке видит что там уже есть система и автоматом присоединяет её. Для правки порядка загрузки граб кастомайзер применяется только во второй системе и никак не в первой.

Вы пожалуйста уточняйте о каких системах Вы говорите (одного "семейства" или нет). Например в данном случае установлены Debian и Ubuntu, поэтому каждая система имеет свой загрузчик на EFI разделе и поэтому в данном случае, можно в UEFI-BIOS назначить первой в загрузке Debian и тогда "править" загрузчик нужно будет именно в Debian. Всё зависит от того, какая система назначена или выбрана для загрузки.

ИМХО. К вопросу выбора места установки загрузчика, это отношения не имеет.
« Последнее редактирование: 03 Августа 2019, 15:17:59 от Дюшик »

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1794
    • Просмотр профиля
Re: загрузка системы (UEFI)
« Ответ #6 : 03 Августа 2019, 19:30:33 »
поэтому каждая система имеет свой загрузчик на EFI разделе
Что-то сомневаюсь, для чего тогда в конфиге груба упомянуты все три ОС, Debian и Ubuntu ? На EFI граб один, с него уже идёт выбор на местные конфиги загрузки в каждой ОС.

Оффлайн Дюшик

  • Активист
  • *
  • Сообщений: 895
    • Просмотр профиля
Re: загрузка системы (UEFI)
« Ответ #7 : 04 Августа 2019, 10:12:16 »
Что-то сомневаюсь, для чего тогда в конфиге груба упомянуты все три ОС, Debian и Ubuntu ? На EFI граб один, с него уже идёт выбор на местные конфиги загрузки в каждой ОС.

Не сомневайтесь. Вот для примера скрин с раздела EFI, на нём папки установленных систем (или систем, которые были установлены раньше). Название папок соответствует  их дистрибутивам и в каждой папке GRUB соответствующей системы.

(Нажмите, чтобы показать/скрыть)

Через UEFI-BIOS можно назначить загрузку любой системы и каждый раз загрузка будет проходить через разные GRUB'ы (GRUB выбранной ОС). В моём случае загружаться можно через четыре GRUB'a (Debian, Mageia, Neon и Ubuntu/Linux). Через каждый GRUB можно загрузить любую из установленных систем.


Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1794
    • Просмотр профиля
Re: загрузка системы (UEFI)
« Ответ #8 : 04 Августа 2019, 12:26:14 »
Спасибо за скрин, там я ещё ни разу не бывал, буду знать и у себя везде посмотрю что там и как  :)

Оффлайн agel122

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: загрузка системы (UEFI)
« Ответ #9 : 04 Августа 2019, 15:09:19 »
Вот сделал две интересных выгрузки (лишнее убрал):
sudo dmesg | grep -E 'efi|UUID'
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.19.0-5-amd64 root=UUID=966e9e96-986a-46b4-bd4c-496fe37fbb19 ro quiet
[    0.000000] efi: EFI v2.31 by American Megatrends
[    0.000000] efi:  ACPI=0xdf389000  ACPI 2.0=0xdf389000  SMBIOS=0xdec29e98  MPS=0xfc9a0
[    0.052476] efi_bgrt: Ignoring BGRT: invalid image address
[    0.135751] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.19.0-5-amd64 root=UUID=966e9e96-986a-46b4-bd4c-496fe37fbb19 ro quiet
sudo blkid
/dev/sda1: UUID="AFF8-746E" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="0082f312-7dbe-42c7-b58c-d64c606fd898"
/dev/sda2: UUID="32f17336-ec55-4e26-b7bc-fb61a0d2b58d" TYPE="ext4" PARTUUID="c1a89f66-1003-40f4-90a2-54ef4db5be0b"
/dev/sda3: UUID="ff1cbdfa-f8ee-431b-87dd-d318ae329ec4" TYPE="ext4" PARTUUID="11cc4e89-ddce-48dc-b212-e0c1fb654f6e"
/dev/sda4: UUID="44a96d80-96c5-4fd3-b4c2-5edabe661e9d" TYPE="swap" PARTUUID="9927f5b4-35b8-4593-b5e1-f2d75f812f0a"
/dev/sda5: UUID="966e9e96-986a-46b4-bd4c-496fe37fbb19" TYPE="ext4" PARTUUID="1059c01e-77df-432d-bdc6-964ff08c05ad"
И как бы приятно понимать, что я вижу процесс загрузки и понимаю с какого раздела грузится ядро. Но не сказал бы, что меня это приблизило к полному пониманию своего вопроса)))

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6912
    • Просмотр профиля
Re: загрузка системы (UEFI)
« Ответ #10 : 04 Августа 2019, 15:26:34 »
Цитировать
вижу процесс загрузки и понимаю с какого раздела грузится ядро.
BOOT_IMAGE=/boot/vmlinuz-4.19.0-5-amd64 root=UUID=966e9e96-986a-46b4-bd4c-496fe37fbb19
/dev/sda5: UUID="966e9e96-986a-46b4-bd4c-496fe37fbb19
Про ядро не скажу, а система с sda5. Если ничего не намудрил с расположением-разметкой (много у тебя разделов), то ядро тамже.
Чтобы знать точно, откуда ядро, в grub.cfg найди пункт загрузки твоей системы, и в нем строку search. УУИД в этой строке и указывает, где искать ядро. По идее, должен совпасть с тем, что я тут процитировал.

 

Страница сгенерирована за 0.078 секунд. Запросов: 23.