LINUX.ORG.RU

Ответ на: комментарий от andytux

У меня 3 линукса.
У них /boot/grub/grub.cfg находятся в поддиректориях /boot/os0/grub/grub.cfg /boot/os1/grub/grub.cfg /boot/os2/grub/grub.cfg
Я хочу прописать в /boot/grub/grub.cfg что-то вроде этого ..

os0 {source /os0/grub/grub.cfg}
os1 {source /os1/grub/grub.cfg}
os2 {source /os2/grub/grub.cfg}

Но при выборе например os0 мне нужно очистить имеющиеся данные перед source /os0/grub/grub.cfg и дописать в конец возврат, т.е. еще return {source /grub/grub.cfg}.

В общем не понимаю как очистить записи перед выполнением source.

naKovoNapalBaran
() автор топика
Последнее исправление: naKovoNapalBaran (всего исправлений: 1)
Ответ на: комментарий от naKovoNapalBaran

Что-то намудрил… Я так и не уверен, что правильно все понял.

Для возврата в предыдущее меню, вместо «menuentry» - «submenu». Для вызова другого конфига - «configfile». Например:

submenu "os1" {
  search --no-floppy --set --file "/os1/grub/grub.os1"
  configfile /os1/grub/grub.os1
}

Не только раположение, но и имя файла конфига может быть любое. Оригинальное имя позволяет осуществить поиск по имени и установить правильное расположение, если например конфиг на другом диске-разделе. Запускается другой конфиг. Для возврата в предыдущий, нажать «ESC».

andytux ★★★★★
()
Ответ на: комментарий от naKovoNapalBaran

Эм… ну вот у меня сейчас дуалбут двух Linux: AlmaLinux 9 и Debian 11, пишу с последнего, и я просто использую GRUB2 только от AL9. В Debian вообще не стоит никаких пакетов с GRUB2, и его самого нету.

Разметка такая:

vsevolod@hp15:~$ lsblk
NAME                 MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                    8:0    0 465,8G  0 disk 
├─sda1                 8:1    0     2G  0 part 
├─sda2                 8:2    0     2G  0 part /boot
├─sda3                 8:3    0     2G  0 part 
└─sda4                 8:4    0 459,8G  0 part 
  ├─vg0-lv_al9swap   254:0    0     2G  0 lvm  
  ├─vg0-lv_al9root   254:1    0    24G  0 lvm  
  ├─vg0-lv_al9home   254:2    0     8G  0 lvm  
  ├─vg0-lv_al9virt0  254:3    0    64G  0 lvm  
  ├─vg0-lv_deb11swap 254:4    0     2G  0 lvm  [SWAP]
  └─vg0-lv_deb11root 254:5    0    64G  0 lvm  /
sr0                   11:0    1  1024M  0 rom  

То есть sda1-3 это /boot разных Linux (последний незадействован), а остальное в LVM отдано. GRUB2 есть только у AL9, остальные не имеют и не будут его иметь, так проще. Записи для них делаю руками в /etc/grub.d/40_custom на AL9.

Vsevolod-linuxoid ★★★★★
()