Редактирование загрузчика Grub

Автор old72, января 30, 2022, 02:41:05

« предыдущая - следующая »

old72

Здравствуйте. Установил на свой ноутбук 3 системы : Windows 10; Peppirmint 10 и Remix OS (Андроид).
При первом запуске Remix запустилась без проблем, но после перезагрузки Grub ее не видит. Устанавливал на отдельный раздел /dev/sda8.
команда fdick -l выдает такой список:
/dev/sda1       2048    206847    204800   100M EFI
/dev/sda2     206848    239615     32768    16M Зарезервированный раздел Microsoft
/dev/sda3     239616 250611912 250372297 119,4G Microsoft basic data
/dev/sda4  250613760 251658239   1044480   510M Среда для восстановления Microsoft
/dev/sda5  343033856 426917887  83884032    40G Файловая система Linux
/dev/sda6  251658240 255852543   4194304     2G Linux своп
/dev/sda7  255852544 343033855  87181312  41,6G Файловая система Linux
/dev/sda8  426917888 468860927  41943040    20G Файловая система Linux
стоит также у меня Grub Customizer . я так понимаю, что надо отредактировать /etc/grub.d/40_custom, либо в Grub Customaqzere создать пункт меню с определенным содержанием, которого я не знаю. Кернел Remix OS Находится в директории /dev/sda8/RemixOS/kernel. В рекомендациях по установке было указано, что надо было распаковывать файлы из образа в каталог /remix и в /etc/grub.d/40_custom добавить вот такое:
menuentry "RemixOS" {
 linux /remix/kernel root=/dev/ram0 androidboot.hardware=remix_x86_64 androidboot.selinux=permissive quiet SERIAL=random logo.showlogo=1 SRC= DATA= CREATE_DATA_IMG=1
 initrd /remix/initrd.img
}
но таким способом создавался файл data.img, внутри которого уже устанавливалась система и мне это не нравилось и не подходило, поэтому я выделил отдельный раздел ext4 и установил в него. Знающие люди, помогите отредактировать загрузчик, чтоб видел все ОС

old72

Вот попробовал сам написать содержание
menuentry "RemixOS" {
set root='(hd0,8)'
 linux /RemixOS/kernel root=/dev/ram0 androidboot.hardware=remix_x86_64 acpi_sleep=s3_bios,s3_mode SRC=initrd /RemixOS/initrd.img
но при sudo update-grub выдает синтаксическую ошибку
пока своего ума не хватает

denkin

Привести текст или скриншот ошибки было бы нелишним.

butjapka

января 30, 2022, 14:12:23 #3 Последнее редактирование: января 30, 2022, 14:21:13 от butjapka
Old72, попробуй порыться на форуме 4PDA Android OS на x86. Там была инструкция по установке андроид совместно с убунту, но ссылка уже не рабочая.
Может еще эта статья или эта что подскажет
Я как то ставил и редактировал загрузчик. Все оси видились и загружались. К сожалению действия не помню, пользовался инструкцией с 4PDA

old72

Цитата: butjapka от января 30, 2022, 14:12:23Old72, попробуй порыться на форуме 4PDA Android OS на x86. Там была инструкция по установке андроид совместно с убунту, но ссылка уже не рабочая.
Может еще эта статья или эта что подскажет
Я как то ставил и редактировал загрузчик. Все оси видились и загружались. К сожалению действия не помню, пользовался инструкцией с 4PDA
Искал, но информации уже нет
Черт бы с ним, я уже попытался установить 32битную систему в точности следуя инструкциям из этой https://linuxthebest.net/ustanovka-remix-os-3-0/ статьи, но при выборе Ремикс пишет, что ядро не найдено. Когда-то, несколько лет назад с чем то подобным сталкивался и на каком то форуме мне ответили, что нужно прописать паузу в несколько секунд, чтоб загрузчик смог успеть найти ядро, по указанному пути, но опять же я не знаю как это сделать :(

old72

что мне нудно изменить в тексте для андроида
menuentry "Android" {
set root='(hd0,0)'
linux /android-8.1-r1/kernel quiet root=/dev/ram0 androidboot.selinux=permissive acpi_sleep=s3_bios,s3_mode SRC=/android-8.1-r1
initrd /android-8.1-r1/initrd.img
}
учитывая, что ремикс у меня установлен сдесь

,а в nemo, когда открываю диск, то путь к системе такой

Подскажите, кто разбирается, пожалуйста

old72

Попробовал установить на внешний ЖД и вот какое содержание получилось файла menu.lst в каталоге загрузчика grub  :
default=0
timeout=6
splashimage=/grub/android-x86.xpm.gz
root (hd0,0)

title Remix OS 2016-11-21
kernel /RemixOS/kernel quiet root=/dev/ram0 SERIAL=random logo.showlogo=1 androidboot.selinux=permissive DATA= SRC=/RemixOS
initrd /RemixOS/initrd.img

title Remix OS 2016-11-21 (Debug mode)
kernel /RemixOS/kernel root=/dev/ram0 SERIAL=random logo.showlogo=1 androidboot.selinux=permissive DATA= DEBUG=2 SRC=/RemixOS
initrd /RemixOS/initrd.img

title Remix OS 2016-11-21 (Debug nomodeset)
kernel /RemixOS/kernel nomodeset root=/dev/ram0 SERIAL=random logo.showlogo=1 androidboot.selinux=permissive DATA= DEBUG=2 SRC=/RemixOS
initrd /RemixOS/initrd.img

title Remix OS 2016-11-21 (Debug video=LVDS-1:d)
kernel /RemixOS/kernel video=LVDS-1:d root=/dev/ram0 SERIAL=random logo.showlogo=1 androidboot.selinux=permissive DATA= DEBUG=2 SRC=/RemixOS
initrd /RemixOS/initrd.img
может это поможет тем, кто понимает и на основе выложенного материала стелает нудный текст для моего внутреннего SSD

butjapka

Цитата: old72 от января 30, 2022, 19:36:00что мне нудно изменить в тексте для андроида
в статье же по тексту написано
ЦитироватьОбратите внимание! Во второй строчке нужно подставить свои значения - hd0,0. Узнать на каком разделе стоит Android можно командой "fdisk -l". Если /dev/sda3 - значит нужно написать hd0,3, если /dev/sdb2 - hd1,2

old72

Цитата: butjapka от января 31, 2022, 08:55:53
Цитата: old72 от января 30, 2022, 19:36:00что мне нудно изменить в тексте для андроида
в статье же по тексту написано
Цитата: undefinedОбратите внимание! Во второй строчке нужно подставить свои значения - hd0,0. Узнать на каком разделе стоит Android можно командой "fdisk -l". Если /dev/sda3 - значит нужно написать hd0,3, если /dev/sdb2 - hd1,2
Но у меня же не Андроид, а RemixOS, при чем /dev/sda8, к тому же еще и папку создало RemixOS, а в ней уже ядро и все остальное. Я понял что нужно написать hd0,8 , но в приведенном содержании все для Андроида. Поэтому я установил систему на отдельный внешний, чтоб показать знающим людям родное содержание меню grub, которое создает сама система. Может на основе родного меню можно переделать для моего случая

old72

Методом научного тыка, не совсем понимая, что я делаю, переписав раз 12-15 текст, нашел решение - для моего случая содержание /etc/grub.d/custom_40 должно быть такое:
menuentry "Remix" {
set root='(hd0,8)'
  linux /RemixOS/kernel quiet root=/dev/ram0 androidboot.selinux=permissive acpi_sleep=s3_bios,s3_mode SRC=/RemixOS
initrd /RemixOS/initrd.img
}
Проблема решена, всем спасибо, кто участвовал в теме!

butjapka

февраля 01, 2022, 08:56:13 #10 Последнее редактирование: февраля 01, 2022, 09:00:26 от butjapka
т.е. в этой статье, на которую давал ссылку выше, поменять пришлость в пяти местах
Цитата: undefinedmenuentry "Android" {
set root='(hd0,0)'
linux /android-8.1-r1/kernel quiet root=/dev/ram0 androidboot.selinux=permissive acpi_sleep=s3_bios,s3_mode SRC=/android-8.1-r1
initrd /android-8.1-r1/initrd.img
}

old72

Цитата: butjapka от февраля 01, 2022, 08:56:13т.е. в этой статье, на которую давал ссылку выше, поменять пришлость в пяти местах
Цитата: undefinedmenuentry "Android" {
Как я понял, первый пункт красным не имеет значения - там можно написать хоть "Горшочек с манной кашей", хотя тут возможно тоже нужно писать исключительно латиницей!
При выборе загрузки Ремикс выглядел бы именно с таким названием, а остальные нужно было прописывать в точности со всеми пробелами и знаками припинания, при чем в конце обязательно нужно было еще раз нажать клавишу enter, чтобы в файле 40_custom в конце осталась пустая строка

вот так. не знаю с чем это связано, но в моем случае grub сообщал, что ядро по указанному пути не найдено! Это я выяснил совершенно случайно, по многу раз переписывая содержание 40_custom, толком не понимая, что делаю. Руководствоваяся тем, что предположил, что в статье, по Вашей ссылке при установке Андроида в корне раздела вместо каталога RemixOS установщик Андроида создал каталог android-8.1-r1 и уже туда установил kernel и initrd.img.
про то, что set root='(hd0,0)' в моем случае нужно менять на set root='(hd0,8)' я понял сразу, Что такое kernel и initrd.img я толком не знаю до сих пор, могу только предположить, что одно из них и есть ядро ОС. просто из моих знаний английского языка, ядро переводится как core, но английский я знаю только на разговорном уровне и то без правил грамматики, не говоря уже о техническом английском