Запись Windows GRUB продолжает исчезать

Здесь есть две проблемы. Во-первых, ваша команда sedзаключена в одинарные кавычки (''), поэтому переменная не раскрывается:

$ echo $ruledeck 
/praj/test/drc_tsn/test1
$ echo '$ruledeck'
$ruledeck

Я вижу, вы заключили переменную в двойные кавычки внутри команды sed, но это ничего не изменит, так как все это заключено в одинарные кавычки. Вместо этого вам нужно заключить его в двойные кавычки:

sed -e "3s/$/$ruledeck/" file

Однако и это сломается:

$ sed -e "3s/$/$ruledeck/" file
sed: -e expression #1, char 8: unknown option to `s'

Это потому, что ваша переменная содержит /, но вы также используете /в качестве разделителя для оператора подстановки(s///). Вам нужен другой разделитель. Это должно делать то, что вы хотите:

$ sed -e "3s|$|$ruledeck|" file
#############Actions#################
set a [project $p get_action ICV_DRC]
action $a set_parameter "ruledeck"/praj/test/drc_tsn/test1
action $a set_parameter "options"

Но это все равно не совсем правильно, если в конце строки нет пробела. Чтобы также добавить пробел, но только если его еще нет, используйте\?(пробел и экранированный вопросительный знак ), чтобы соответствовать «0 или 1 пробелу». Все это вместе дает:

$ sed -e "3s| \?$| $ruledeck|" file
#############Actions#################
set a [project $p get_action ICV_DRC]
action $a set_parameter "ruledeck" /praj/test/drc_tsn/test1
action $a set_parameter "options"
0
30.09.2021, 17:06
1 ответ

Забудьте об os -prober, добавьте статическую запись grub /etc/grub/40_custom.

menuentry 'Windows 10' -class windows {
    search --fs-uuid --no-floppy --set=root XXXX-XXX
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

Замените XXXX -XXXX на UUID (, а не на PARTUUID ), найденный изblkid /dev/sdXY(или /dev/nvmeXnYpZ, в зависимости от того, что применимо )для системного раздела EFI, обычно в формате FAT. Применяется к системам UEFI.

0
01.10.2021, 06:01

Теги

Похожие вопросы