The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"загрузиться в старый linux через UEFI"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Установка ОС / Linux)
Изначальное сообщение [ Отслеживать ]

"загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 15-Дек-23, 20:39 
Доброе время суток всем!

Прибежала сегодня одна сотрудница спец-отдела с глазами побитой коровы перед закланием, притащила установочные диск и флешку вначале с требованиями, потом - с мольбами: закупили какое-то ПО, надо установить на комп. Внутри - какое-то наше отечественное ПО на базе дебиана, запиленного под кали, на ядре ещё 4.17.17. Флешка грузится только в режиме БИОС. UEFI не понимает категорически. :( Компы, что есть в наличии, умеют только UEFI.

Я эту штуку на раздел sda6 в итоге поставил, она даже что-то попыталась записать в mbr, но грузиться не может - говорит "Missing operating system. ERROR: No boot disk has been detected..." Диск в GPT.

Кто помнит, как lilo|grub|etc уговорить с GPT грузиться? Или как убедить это поделие загрузиться через UEFI? Современные ж дистрибутивы того же Кали умеют грузиться через UEFI. Я как-то давно вопросами загрузки не занимался - расслабился и всё, оказывается, забыл... :(

Спасибо заранее за пинок в нужную сторону!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "загрузиться в старый linux через UEFI"  +/
Сообщение от 1 (??), 15-Дек-23, 23:08 
grub насколько я зная прекрасно грузится с GPT и может все-таки uefi то отключается в этих компах?
Ответить | Правка | Наверх | Cообщить модератору

2. "загрузиться в старый linux через UEFI"  +/
Сообщение от 1 (??), 15-Дек-23, 23:11 
ну гугл если начать набирать grub gpt предлагает grub gpt bios boot partition -- ну и почитать

Ответить | Правка | Наверх | Cообщить модератору

3. "загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 16-Дек-23, 10:12 
> grub насколько я зная прекрасно грузится с GPT и может все-таки uefi
> то отключается в этих компах?

Я вчера не успел поковыряться в этой штуке - не знаю, что за загрузчик она поставила. :( Но на примере опыта работы с Астрой СЕ, вполне допускаю, что средств разработки в ней может и не быть. :( Придётся грузиться с чего-то стороннего и ставить. А я как-то упустил grub в своём развитии. С lilo в своё время разобрался, а с grub-ом проблем не возникало - не удосужился до сих пор. :(

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

4. "загрузиться в старый linux через UEFI"  +/
Сообщение от Аноним (4), 16-Дек-23, 13:15 
Надо маленький диск ~1Mb хватит.
Теперь необходимо сменить тип этого диска на BIOS GRUB (bios_grub) type=21686148-6449-6E6F-744E-656564454649
Допустим он под номером 1

# parted /dev/sda
(parted) p
(parted) set 1 bios_grub on
(parted) p
(parted) q

# sfdisk -d /dev/sda
сверить тип раздела

Надо загрузится из чего нибудь, потом примонтировать диск с "новой" системой и
chroot /в/новую/систему
# grub-install /dev/sda
grub-install имеет параметры, попробовать те что с UEFI если сам что ему надо не найдёт.

Ответить | Правка | Наверх | Cообщить модератору

5. "загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 18-Дек-23, 12:51 
> Надо маленький диск ~1Mb хватит.

GPT-шный EFI подойдёт? 356 Метров, 277 свободных.

> Надо загрузится из чего нибудь, потом примонтировать диск с "новой" системой и
> chroot /в/новую/систему
> # grub-install /dev/sda

А вот с этим грустно - grub в этой штуке стоит, но, видимо, какой-то древний. grub-install там отсутствует. Есть кучка утилит:
/usr/lib/grub
/usr/lib/grub/grub-mkconfig_lib
/usr/bin/grub-glue-efi
/usr/bin/grub-script-check
/usr/bin/grub-render-label
/usr/bin/grub-mkimage
/usr/bin/grub-mkrescue
/usr/bin/grub-mklayout
/usr/bin/grub-kbdcomp
/usr/bin/grub-menulst2cfg
/usr/bin/grub-editenv
/usr/bin/grub-file
/usr/bin/grub-mkpasswd-pbkdf2
/usr/bin/grub-fstest
/usr/bin/grub-syslinux2cfg
/usr/bin/grub-mount
/usr/bin/grub-mkfont
/usr/bin/grub-mknetdir
/usr/bin/grub-mkrelpath
/usr/bin/grub-mkstandalone
/usr/sbin/grub-macbless
/usr/sbin/grub-probe
/usr/sbin/grub-mkconfig
/usr/sbin/grub-mkdevicemap

dpkg говорит, что стоит grub-common 2.02+dfsg1-4

> grub-install имеет параметры, попробовать те что с UEFI если сам что ему
> надо не найдёт.

На live-cd от kali, что под рукою, grub в пакетах не стоит, но в загрузчике присутствует... :(

Ответить | Правка | Наверх | Cообщить модератору

6. "загрузиться в старый linux через UEFI"  +/
Сообщение от Аноним (6), 18-Дек-23, 17:19 
Абстрагируйся от конкретного grub. Надо всего бутнуть ядро с определёнными параметрыми. В своём родном буте пропиши их ядро с параметрами и инитрд.

Можно поставить и другой GRUB. Файл /boot/grub/grub.conf можно потом чуть руками подправлять. Для глобальных настроек используй /etc/default/grub можно /etc/grub.d/*

Ответить | Правка | Наверх | Cообщить модератору

7. "загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 19-Дек-23, 08:38 
> Абстрагируйся от конкретного grub. Надо всего бутнуть ядро с определёнными параметрыми.
> В своём родном буте пропиши их ядро с параметрами и инитрд.

Это понятно, но вот пока даже грузануться в grub не получается. :( Я уже освежил теорию по https://wiki.archlinux.org/title/GRUB_(Русский), попытался подменить в EFI-разделе /EFI/Boot/bootx64.efi на EFI-загрузчик с линуксовой флешки - всё равно, грузится либо винда, либо "Missing operating system. ERROR: No boot disk has been detected..."

> Можно поставить и другой GRUB. Файл /boot/grub/grub.conf можно потом чуть руками подправлять.
> Для глобальных настроек используй /etc/default/grub можно /etc/grub.d/*

Это уже будет следующий шаг. Мне бы первый рубеж преодолеть...

Ответить | Правка | Наверх | Cообщить модератору

8. "загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 19-Дек-23, 14:39 
>> Можно поставить и другой GRUB. Файл /boot/grub/grub.conf можно потом чуть руками подправлять.
>> Для глобальных настроек используй /etc/default/grub можно /etc/grub.d/*
> Это уже будет следующий шаг. Мне бы первый рубеж преодолеть...

Поставил я другой линукс, проапдейтил grub, снова загрузился в это поделие, запустил установку - она перетёрла всё. При попытке загрузки grub ругается, что ему не хватает файла /boot/grub/x86_64-efi/normal.mod и выпадает в rescue.
Гружусь с live-USB - файлы на месте.
Снова пытаюсь загрузиться - rescue grub видит устройства (hd0) (hd1) (hd1,gpt8) (hd1,gpt7) (hd1,gpt6) ... (hd1,gpt1)
систему ставлю(ил) на sda6
На все (hd1,gptX) ответ один - "Filesystem is unknown", кроме (hd1,gpt6) - там ext2 и в этом разделе - файловая система ("новая") со всей структурой.

Поискал по ключевому слову "normal.mod" - ничего на разделе нет. Т.е., каким-то образом инсталлер этого поделия грохнул часть кода(?) установленного grub, что он теперь не может подгрузить свои модули? Я правильно понимаю?

Ответить | Правка | Наверх | Cообщить модератору

9. "загрузиться в старый linux через UEFI"  +/
Сообщение от 1 (??), 19-Дек-23, 14:55 
глубоко не вникал, но вдруг оно -- https://archlinux.org.ru/forum/topic/946/
Ответить | Правка | Наверх | Cообщить модератору

10. "загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 19-Дек-23, 15:46 
Я попытался скопировать (sda1)/EFI/grub/ в (sda6)/boot, теперь grub в rescue выпадает с ошибкой
error: symbol `grub_disk_get_size` not found.
при попытке загрузить модуль normal выдаёт туже ошибку grub_disk_get_size.
Я так понимаю, что это несовместимость версий нового модуля и старого загрузчика. Но на sda6 я не нашёл ничего, похожего на grub-install, а на live-USB загрузчик есть, но ни пакета, ни того же grub-install нет.
Получается, что инсталлер прописал grub и переназначил загрузку на sda6, но сам настолько древний, что работать с UEFI не умеет, а скопировать модули grub не достаточно (логично). Как бы теперь синхронизировать версии ядра grub и модулей...

> глубоко не вникал, но вдруг оно -- https://archlinux.org.ru/forum/topic/946/

Почитаю, спасибо.

Ответить | Правка | Наверх | Cообщить модератору

11. "загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 19-Дек-23, 17:12 
К сожалению, перебрал всё, в безрезультатных попытках загрузить ядро с sda6. Через insmod grub говорит, что (модуль/ядро) не является EFI-архитектурно-независимым образом, а простые попытки впрямую загрузить (hd1,gpt6)/boot/vmlinuz выдают ошибку "Command not found". :(

>> глубоко не вникал, но вдруг оно -- https://archlinux.org.ru/forum/topic/946/
> Почитаю, спасибо.

Есть интересные мысли, записал себе в блокнот, но в моём случае ничего не помогло.

Ответить | Правка | Наверх | Cообщить модератору

12. "загрузиться в старый linux через UEFI"  +/
Сообщение от Аноним (12), 19-Дек-23, 17:21 
Есть возможность отключить установку GRUB в инсталлере?

99% Linux-ов вообще можно не инсталировать а скопировать всё в новый корень:

# cp -pRPd /old/* /mnt/new/

А GRUB с UEFI установить и настроить отдельно.

Или сбекапь GRUB перед установкой, а потом откати, так будет рабочий GRUB в котором руками можно добавить ещё один пункт для загрузки старого дистра.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

15. "загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 26-Дек-23, 07:25 
> Есть возможность отключить установку GRUB в инсталлере?

Не нашёл. Там есть ярлык "Установка...", ссылающийся на что-то qt-based, которое вывадит на экран какой-то копирайт, спрашивает, на какой раздел или диск поставить, выводит индикатор процесса и говорит "Ok" в конце. Может, у него где-то и есть меню конфигурации, но я не искал.

> Или сбекапь GRUB перед установкой, а потом откати, так будет рабочий GRUB
> в котором руками можно добавить ещё один пункт для загрузки старого
> дистра.

А что нужно для полного бэкапа граб-а? Я сильно подозреваю, что одни файлы модулей и конфиги из каталога grub - это не достаточно. Нужен же ещё boot-загрузчик и тело (ядро), которое потом обработает меню. А ещё, оказывается, и версии бывают разные...

PS: А я там ещё веточку в обсуждении отрастил, но её модератор скрыл - её совсем никто не видит?

Ответить | Правка | Наверх | Cообщить модератору

13. "загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 20-Дек-23, 12:57 
Ковыряюсь потихоньку в проблеме, читаю про grub и вдруг натыкаюсь на такой очень интересный момент: загрузился я с liveUSB (старенький kali примерно 5-7-летней давности - что валялось в загашнике)...

# fdisk -l
Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500LT012-1DG14
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 36DC2626-8506-44CC-A0C2-90A79D0C1DFC

Device         Start       End   Sectors  Size Type
/dev/sda1       2048    739327    737280  360M EFI System
/dev/sda2     739328   1001471    262144  128M Microsoft reserved
/dev/sda3    1001472 435116031 434114560  207G Microsoft basic data
/dev/sda4  435116032 854630399 419514368  200G Microsoft basic data
/dev/sda5  854630400 901408767  46778368 22.3G Microsoft basic data
/dev/sda6  901408768 943570943  42162176 20.1G EFI System
/dev/sda7  943570944 944754687   1183744  578M Windows recovery environment
/dev/sda8  944754688 976773119  32018432 15.3G Microsoft basic data

Disk /dev/sdb: 3.69 GiB, 3965190144 bytes, 7744512 sectors
Disk model: Storage Device  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x26d50ddd

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1  *     2048 7744511 7742464  3.7G  c W95 FAT32 (LBA)

Disk /dev/loop0: 2.38 GiB, 2558971904 bytes, 4997992 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

# mount |grep sda                                                                                                                            
/dev/sda1 on /mnt/UEFI type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)

# ls -al /mnt/UEFI/EFI/grub
total 3604
drwxr-xr-x 5 root root    4096 Dec 18 12:09 .
drwxr-xr-x 7 root root    4096 Dec 19 06:06 ..
-rwxr-xr-x 1 root root     326 Dec 18 12:09 config.cfg
-rwxr-xr-x 1 root root  191158 Dec 18 12:09 dejavu-bold-14.pf2
-rwxr-xr-x 1 root root  212142 Dec 18 12:09 dejavu-bold-16.pf2
-rwxr-xr-x 1 root root  753664 Dec 18 12:09 efi.img
-rwxr-xr-x 1 root root    2970 Dec 18 12:09 grub.cfg
drwxr-xr-x 2 root root   20480 Dec 18 12:09 i386-efi
drwxr-xr-x 2 root root    4096 Dec 18 12:09 live-theme
-rwxr-xr-x 1 root root      27 Dec 18 12:09 loopback.cfg
-rwxr-xr-x 1 root root   63071 Dec 18 12:09 splash.png
-rwxr-xr-x 1 root root     415 Dec 18 12:09 theme.cfg
-rwxr-xr-x 1 root root 2395475 Dec 18 12:09 unicode.pf2
drwxr-xr-x 2 root root   20480 Dec 18 12:09 x86_64-efi

# less /mnt/UEFI/EFI/grub/grub.cfg
source /boot/grub/config.cfg

# Live boot
menuentry "Live system" {
        linux   /live/vmlinuz-5.9.0-kali1-686-pae boot=live components quiet splash noeject findiso=${iso_path}
        initrd  /live/initrd.img-5.9.0-kali1-686-pae
}
menuentry "Live system (fail-safe mode)" {
        linux   /live/vmlinuz-5.9.0-kali1-686-pae boot=live components noeject memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal
        initrd  /live/initrd.img-5.9.0-kali1-686-pae
}
[skip...]

Т.е., сейчас, с загруженной live-USB системы в разделе EFI на жёстком диске конфиг груб-а от текущей live-USB системы! Подозреваю, что не только конфиг, но и остальные файлы-модули. Кто-то имет понятие, что происходит и как это работает? Расскажите, плз, прокоментируйте...

Я подозреваю, что происходит какой-то ремап - вряд ли оно каждый раз переписывается: могут же быть и бездисковые системы и другие варианты загрузки... Получается, нет никакого смысла работать напрямую с EFI-разделом sda1 на диске - это просто отображение текущего загрузчика, через который загрузилась система...

Помогите разложить в голове по правильным полочкам!

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

16. "загрузиться в старый linux через UEFI"  +/
Сообщение от WatchCatemail (ok), 29-Дек-23, 15:41 

Я бы предложил изменить вектор приложения усилий. Не воевать с сложными схемами загрузки,
а найти комп с пустым диском и универсальными биосом, на котором будет шанс что содержимое
этой флешки встанет и запустится так как это предполагали её создатели. После этого - изучать
что там поставилось и как собственно сам нужный софт,а не grub, перенести на те компы где оно
должно в дальнейшем работать. Это может оказаться быстрее,так как будут доступны все привычные
инструменты для изучения этой системы,а не одна только малоинформативная командная строка
загрузчика как сейчас.
Ответить | Правка | Наверх | Cообщить модератору

17. "загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 09-Янв-24, 10:58 
> Я бы предложил изменить вектор приложения усилий. Не воевать с сложными схемами
> загрузки, а найти комп с пустым диском и универсальными биосом, на котором будет
> шанс что содержимое этой флешки встанет и запустится так как это предполагали её
> создатели. После этого - изучать что там поставилось и как собственно сам нужный
> софт,а не grub, перенести на те компы где оно должно в дальнейшем работать. Это
> может оказаться быстрее,так как будут доступны все привычные инструменты для
> изучения этой системы,а не одна только малоинформативная командная строка
> загрузчика как сейчас.

Да я его, в общем-то, победил ещё в прошедшем году... А разгадывать, что разработчики наворотили в своём аттестованном поделии - тот ещё трэш. Там и постгрес, и какой-то самописный веб-сервер на qt, преобразующий галочки установленные клиентом, в параметры командной строки. И ещё ж потом преобразование полученных результатов в удобочитаемый для хомячков формат...
Всё это на основе того же kali, как выяснилось, только прилизано, переведено на русский и сертифицировано в органах...
В принципе, инсталлер ставит нормально всё, что нужно этой системе для работы. Задача была ядро грузануть.

Ответить | Правка | Наверх | Cообщить модератору

21. "загрузиться в старый linux через UEFI"  +/
Сообщение от Аноним (-), 23-Янв-24, 23:06 
> что разработчики наворотили в своём аттестованном поделии - тот ещё трэш.
> Там и постгрес, и какой-то самописный веб-сервер на qt, преобразующий галочки
> установленные клиентом, в параметры командной строки. И ещё ж потом преобразование
> полученных результатов в удобочитаемый для хомячков формат...
> Всё это на основе того же kali, как выяснилось, только прилизано, переведено
> на русский и сертифицировано в органах...

Ты бы хоть тем, кто всё это закупил и сказал, чтобы больше поползновений не возникало.

Ответить | Правка | Наверх | Cообщить модератору

18. "загрузиться в старый linux через UEFI"  +/
Сообщение от Аноним (18), 12-Янв-24, 23:25 
Поставить на виртуалку. Разобрать что в итоге создаёт инсталлятор.

Из виртуалки сдампить через dd полезные разделы на реальный комп, изменить размеры разделов.

Параметры загрузки прописать или взятые из ВМ. Или до dd использовать дистр, который сделает нужное, а потом на bare-metal подменить содержимое разделов на взятые из ВМб может нужно поменять какие-либо пути к файлам и UUID FS. Но если вместо dd делать cp, то UUID не изменятся.

Если нельзя просто засунуть в виртуалку и забыть.

Ответить | Правка | Наверх | Cообщить модератору

19. "загрузиться в старый linux через UEFI"  +/
Сообщение от anonymous (??), 15-Янв-24, 15:28 
> Поставить на виртуалку. Разобрать что в итоге создаёт инсталлятор.
> Из виртуалки сдампить через dd полезные разделы на реальный комп, изменить размеры
> разделов.

Если б таварищи подошли изначально по-человечески - можно было заморачиваться с reverse-engineering-ом, переносом и прочими расчёсками. А так - с наездом: "мы купили, а ты должен..." "продажники не смогли, теперь ты давай..." Ну их в пень! Завёл, чтоб работало и пусть дальше читают инструкцию внимательно!..

> Если нельзя просто засунуть в виртуалку и забыть.

Ради них ещё и виртуалку громоздить... Не, если для изощрённо поиздеваться - конечно можно, но я как-то сразу  не додумался до такого садизма... :) Какой-нибудь vmware-player, в него - проксмокс, а туда уже - этого зверя... :)
Проще оказалось с grub-ом разобраться...

Ответить | Правка | Наверх | Cообщить модератору

20. "загрузиться в старый linux через UEFI"  +/
Сообщение от Аноним (20), 22-Янв-24, 22:24 
>[оверквотинг удален]
> категорически. :( Компы, что есть в наличии, умеют только UEFI.
> Я эту штуку на раздел sda6 в итоге поставил, она даже что-то
> попыталась записать в mbr, но грузиться не может - говорит "Missing
> operating system. ERROR: No boot disk has been detected..." Диск в
> GPT.
> Кто помнит, как lilo|grub|etc уговорить с GPT грузиться? Или как убедить это
> поделие загрузиться через UEFI? Современные ж дистрибутивы того же Кали умеют
> грузиться через UEFI. Я как-то давно вопросами загрузки не занимался -
> расслабился и всё, оказывается, забыл... :(
> Спасибо заранее за пинок в нужную сторону!

efilinux умеет кушать конфиги от сислинукса и вроде как от lilo. Если грузите через ефи, в МБР ничего писать не надо, если надо с МБР через ГПТ, у сислинукса на это есть вариант бутблока.

Ответить | Правка | Наверх | Cообщить модератору

22. "загрузиться в старый linux через UEFI"  +/
Сообщение от Аноним (22), 24-Янв-24, 01:06 
> Спасибо заранее за пинок в нужную сторону!

Точно же! chroot, user-mode-linux, qemu и podman - всё это отличные решения проблемы "закупили какое-то ПО"

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру