Автор Тема: Установка SimplyLinux на внешний носитель  (Прочитано 1480 раз)

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
Спасибо большое, флешка MBR, сделанная на ПК с UEFI, наконец-то загрузилась!
Т.к. работать предпочтительнее с GPT, решил провести эксперимент с флешкой GPT. На флешке GPT сделал 3 раздела - 1 раздел 256 мб FAT32, 2 раздел - файл подкачки 6 Гб, 3 раздел - 24 Гб ext4. Simple Linux устанавливал на ПК с MBR. При установке загрузчика использовал пункт установки на флешку (/dev/sda). Система на флешку с GPT установилась и нормально грузится с нее на ПК без UEFI. На ПК с UEFI флешка не грузится. Загрузился с флешки на ПК без UEFI и попробовал сделать grub-install --removable --uefi-secure-boot,  получил  сообщение:
[root@host-3 ~]# grub-install --removable --uefi-secure-boot /dev/sda
Выполняется установка для платформы i386-pc.
grub-install: предупреждение: метка раздела GPT не имеет BIOS Boot Partition; встраивание невозможно.
grub-install: предупреждение: Встраивание невозможно. При имеющихся параметрах GRUB можно установить только с помощью списка блоков (blocklists). Однако, список блоков является НЕНАДЁЖНЫМ механизмом и его лучше не использовать..
grub-install: ошибка: не будет продолжена с использованием blocklists.
Тогда я уменьшил размер файла подкачки и сразу за ним сделал неформатированный раздел 1 мб с флагом bios_grub. После выполнения команд grub-install --target=i386-pc /dev/sda и grub-install --removable --uefi-secure-boot /dev/sda - сообщение "Ошибок нет". Однако флешка на ПК с UEFI не грузится. Изменил initrd.mk (пустая строка есть) и сделал make-initrd. Но все равно загрузки на ПК с UEFI не получилось. Возникли следующие вопросы:
1. Нужно ли было менять initrd.mk и делать make-initrd?
2. Что нужно сделать, чтобы флешка GPT, которая теперь грузится на ПК без UEFI, стала грузиться на ПК с UEFI? Может быть нужно было сделать флешку на ПК с UEFI, изменить initrd.mk и сделать make-initrd, как и раньше с флешкой MBR?
« Последнее редактирование: 29.07.2022 17:15:02 от tumanovalex »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 701
  • antohami@
А что нужно было искать в файле (полученным с помощью initrd-ls /boot/initrd.img), чтобы определить, что модулей (которые включались в файле initrd.mk) нет? В каких директориях и с какими названиями должны быть эти модули? Мне бы хотя бы парочку названия для примера. Чтобы в будущем самому определять, есть ли эти модули в initrd или их нет.

В initrd.mk прописаны каталоги. Вот их и искать.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 701
  • antohami@
[root@host-3 ~]# grub-install --removable --uefi-secure-boot /dev/sda

grub-install --removable --uefi-secure-boot

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 701
  • antohami@
1. Нужно ли было менять initrd.mk и делать make-initrd?

Нужно, чтобы грузиться с флэшки на других ПК.

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
В файле из архива init-ls.txt очень много каталогов (bin, dev, etc и др.). Если мы добавляем:
MODULES_TRY_ADD += kernel/drivers/ata
MODULES_TRY_ADD += kernel/drivers/block
MODULES_TRY_ADD += kernel/drivers/mmc/core
MODULES_TRY_ADD += kernel/drivers/mmc/host
MODULES_TRY_ADD += kernel/drivers/scsi
MODULES_TRY_ADD += kernel/drivers/usb/core
MODULES_TRY_ADD += kernel/drivers/usb/host
MODULES_TRY_ADD += kernel/drivers/usb/storage
MODULES_TRY_ADD += kernel/drivers/usb/phy
MODULES_TRY_ADD += kernel/drivers/phy
то каталоги должны быть каталоги ata, block, core и т.д.? Или в каком-то каталоге должны быть подкаталоги с такими именами?

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
grub-install --removable --uefi-secure-boot
Спасибо за найденную ошибку, устройство не надо было указывать. Только непонятно, почему было сообщение "Ошибок нет".

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 701
  • antohami@
то каталоги должны быть каталоги ata, block, core и т.д.? Или в каком-то каталоге должны быть подкаталоги с такими именами?

Мы добавляем каталоги из /lib/modules/ядро/
Соответственно:
/lib/modules/ядро/kernel/drivers/ata
и так далее.

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
Мы добавляем каталоги из /lib/modules/ядро/
Спасибо за ответ, понятно.

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
grub-install --removable --uefi-secure-boot
Чтобы грузилась на ПК с UEFI флешка GPT, сделанная на ПК без UEFI, выполнил команду и получил ошибку:
[root@host-3 ~]# grub-install --removable --uefi-secure-boot
Выполняется установка для платформы i386-pc.
grub-install: ошибка: не указано устройство, на которое нужно выполнить установку.
Видимо, устройство все-таки нужно указывать
« Последнее редактирование: 01.08.2022 10:12:38 от tumanovalex »

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
Хотя и с указанием /dev/sdc (проверил в gparted) флешка GPT на ПК с UEFI не грузится.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 701
  • antohami@
Нужно либо с флешки загрузиться, либо зачрутиться, в установленную на ней систему.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 701
  • antohami@
grub-install: ошибка: не указано устройство, на которое нужно выполнить установку.

Скорее всего не смонтирован /boot/efi относительно корня.

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
Я и грузился с флешки на ПК без UEFI. А разве /boot/efi при загрузке с флешки нужно монтировать отдельно? Может быть загрузчик нужно установить в раздел  /boot/efi (например /dev/sdc3)?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 701
  • antohami@
mount |grep /boot/efi

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
/dev/sdc1 on /boot/efi type vfat (rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=866,iocharset=utf8,shortname=mixed,quiet,showexec,utf8,errors=remount-ro)
Как я понимаю, ro - это read only и туда не удается ничего записать. Как это исправить?