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

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
Попробовал установить на флешку 32 Гб. Сделал 3 раздела на флешке: 1 раздел boot/efi 512 Мб, 2 раздел ext4, 3 раздел - подкачка. Все нормально устанавливалось (ноутбук с диском SSD GPT, BIOS UEFI), но при установке загрузчика выбрал "EFI (рекомендуется)". После перезагрузки флешку с установленной системой BootMenu не видит, загрузиться не удается.  У меня следующие вопросы:
1. Как правильно установить SimplyLinux на флешку, чтобы с нее можно было загрузиться.
2. Что нужно сделать, чтобы без перестановки системы флешка правильно загружалась.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 310
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Правильнее создать образ через dd, а потом использовать загрузку с сохранением сеанса. Единственная проблема - не обновишь ядро, зато умеет загружаться и в режиме UEFI и в legacy, что немаловажно при использовании флешки на разных компах.
Подозреваю, что вы создали загрузочную запись UEFI на основном диске, а не на флешке.

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
UEFI раздел я сделал именно на флешке, UEFI раздел 1000 Мб уже был создан при установке Windows 11. Остается только понять "EFI (рекомендуется)" подразумевает установку на созданный на флешке раздел, или раздел SSD. Может нужно было ставить загрузчик просто на флешку (sdb)?

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
А как перестановить загрузчик с флешки с дистрибутивом в раздел efi флешки с установленной системой без перестановки системы?

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

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

1. grub устанавливать надо как "UEFI (для съёмных устройств)". Теперь же чрутиться и делать:
grub-install --removable --uefi-secure-boot
2.  Для того, чтобы грузился не только на этом компьютере, но и на других, нужно в /etc/initrd.mk добавить много разных модулей ядра на все случаи жизни:
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
Затем сделать make-initrd
3. Можно также и grub-pc установить, если создать на фэшке 1 МБ раздел с типом EF02 BIOS boot partition:
grub-install --target=i386-pc /dev/sdX
Тогда и на Legacy везде почти грузиться будет.

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
Спасибо большое за ответ. Мне хотелось бы сделать универсальную флешку с установленной системой для ПК, чтобы можно было обновлять ядро и создать нужное мне программное окружение. Для меня как новичка не понятно, что значит "чрутиться". Правильно ли я понимаю:
1. Поскольку с флешки с установленной системой не грузится, мне нужно загрузиться с флешки с дистрибутивом SimplyLinux.
2. Примонтировать флешку с установленной системой.
3. Затем выполнить от root grub-install --removable --uefi-secure-boot. Поскольку на флешке с дистрибутивом нет раздела uefi-secure-boot, загрузчик поймет, что нужно устанавливать на флеш с установленной системой.
Что касается возможности загрузки для legacy, то создавать на флешке 1 МБ раздел с типом EF02 BIOS boot partition нужно до раздела uefi или после?
Прикрепил схему разделов флешки. При инсталляции запись была в раздел efi, а не на SSD.

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 925
Пусть каталог, куда_примонтирован корневой каталог установленной системы на флешке - это, допустим, /mnt/sdc2 (уточнить по месту).
Тогда п.2 у вас бы выглядел как (от root):
mkdir /mnt/sdc2
mount /dev/sdc2 /mnt/sdc2
Тогда между 2 и 3 пунктом выполнить от пользователя root команды:
mount --bind  /dev /mnt/sdc2/dev
mount --bind  /proc /mnt/sdc2/proc
mount --bind  /sys /mnt/sdc2/sys
chroot /mnt/sdc2
то самое "чрутиться", плюс предварительно "проброс" особых системных файловых систем внутрь "чрута", чтобы корректно отработались команды инсталляции загрузчика.
Т.е. команды из п.3 должны применяться уже относительно системы на флешке


Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
Спасибо большое, Александр, за подробный ответ. Возникли следующие вопросы:
1. Как сделать на флешке 1 МБ раздел с типом EF02 BIOS boot partition и в какой файловой системы должен быть этот раздел? Я пробовал создать раздел 1 МБ в gparted, Paragon - не нашел такой возможности.
2. Где на диске должен размещаться этот раздел - в самом начале диска до EFI раздела или после EFI-раздела, созданного в начале диска?

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

  • alt linux team
  • ***
  • Сообщений: 4 632
  • antohami@
1. Как сделать на флешке 1 МБ раздел с типом EF02 BIOS boot partition и в какой файловой системы должен быть этот раздел? Я пробовал создать раздел 1 МБ в gparted, Paragon - не нашел такой возможности.

В gparted создаёте раздел 1 МБ без файловой системы. Затем на разделе выставляете флаг bios_grub. После этого можно установить grub. После установки grub в gparted будет отображаться файловая система "grub 2 core.img".

2. Где на диске должен размещаться этот раздел - в самом начале диска до EFI раздела или после EFI-раздела, созданного в начале диска?

Да вроде без разницы. Главное, чтобы не за пределами 2 ТБ.

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
Спасибо большое, Антон, за помощь. Я загрузился AltLinux рабочую станцию, запустил gparted, на неразмеченном месте в конце флешки 4 мб сделал неформатируемый раздел 1 Мб. К сожалению, в gparted я не нашел возможности установить флаг bios_grub. В Раздел-Управление флагами есть только возможность установки флажка напротив определенной опции (boot, diag, esp и др., - не знаю, как сделать скриншот). Может быть есть какой-то другой инструмент для установки флага на раздел 1 Мб?

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

  • alt linux team
  • ***
  • Сообщений: 4 632
  • antohami@
Наверное, на флэшке таблица разделов не GPT, а msdos?

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
Да, msdos. Нужно выбрать boot?
А лучше делать таблицу GPT или все зависит от того, сколько разделов нужно делать на флешке? Если не более 4 - то можно и msdod, если более - GPT? Или есть еще какие-то преимущества GPT в плане создания универсальной флешки для ПК с разными типами дисков и с UEFI и без UEFI?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 310
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
https://en.wikipedia.org/wiki/UEFI

Короче c Linux лучше GPT ;-)
Цитировать
For reverse compatibility, Linux can use GPT disks in BIOS-based systems for both data storage and booting, as both GRUB 2 and Linux are GPT-aware. Such a setup is usually referred to as BIOS-GPT.[39] As GPT incorporates the protective MBR, a BIOS-based computer can boot from a GPT disk using a GPT-aware boot loader stored in the protective MBR's bootstrap code area.[37] In the case of GRUB, such a configuration requires a BIOS boot partition for GRUB to embed its second-stage code due to absence of the post-MBR gap in GPT partitioned disks (which is taken over by the GPT's Primary Header and Primary Partition Table). Commonly 1 MB in size, this partition's Globally Unique Identifier (GUID) in GPT scheme is 21686148-6449-6E6F-744E-656564454649 and is used by GRUB only in BIOS-GPT setups. From GRUB's perspective, no such partition type exists in case of MBR partitioning. This partition is not required if the system is UEFI-based because no embedding of the second-stage code is needed in that case.[19][37][39]

Цитировать
Для обратной совместимости Linux может использовать диски GPT в системах на основе BIOS как для хранения данных, так и для загрузки, поскольку и GRUB 2, и Linux поддерживают GPT. Такая установка обычно называется BIOS-GPT.[39] Поскольку GPT включает в себя защитную MBR, компьютер на основе BIOS может загружаться с диска GPT, используя загрузчик с поддержкой GPT, хранящийся в области кода начальной загрузки защитной MBR. В случае GRUB для такой конфигурации требуется загрузочный раздел BIOS, чтобы GRUB мог внедрить свой код второго этапа из-за отсутствия промежутка после MBR в дисках с разделами GPT (который берется на себя первичным заголовком GPT и таблицей основных разделов). ). Глобальный уникальный идентификатор (GUID) этого раздела обычно имеет размер 1 МБ в схеме GPT: 21686148-6449-6E6F-744E-656564454649 и используется GRUB только в настройках BIOS-GPT. С точки зрения GRUB, в случае разбиения MBR такого типа раздела не существует. Этот раздел не требуется, если система основана на UEFI, поскольку в этом случае не требуется внедрение кода второго этапа. [
« Последнее редактирование: 26.07.2022 14:28:34 от ruslandh »

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

  • alt linux team
  • ***
  • Сообщений: 4 632
  • antohami@
Для UEFI желателен GPT.

Оффлайн tumanovalex

  • Давно тут
  • **
  • Сообщений: 54
Спасибо за ответы. Чтобы поработать пока с этой флешкой MBR на ПК с UEFI и без UEFI мне нужно установить флаг boot для раздела 1 Мб и установить на него загрузчик?