Глядя для правильного переименования загрузочных записей GRUB

Попробуйте следующее:

awk 'FNR==NR{
    a[$1"@"$7]=$5" "$6;
    next
}
{
    i=length($NF);
    n=substr( $NF, i-2, i);
    if( n"@"$4 in a) {
        split(a[n"@"$4],b," ")
    };
    $1=b[1];
    $2=b[2]
}
1' file1 file2
4
09.01.2016, 15:24
1 ответ

Вы можете изменить /boot/grub/grub.cfg напрямую, но этот файл будет перезаписан update-grub2. Если ваша конфигурация меняется нечасто, это может быть самым простым способом.

Или посмотрите:

Или посмотрите на эту папку /etc/grub.d. Оттуда update-grub2 генерирует файл /boot/grub/grub.cfg.


Вы можете изменить способ, которым автогенерация маркирует записи Windows, особенно если у вас установлена только одна Windows, перезаписав специальную команду menuentry в скрипте 30_os-prober.

Зайдите в /etc/grub.d/30_os-prober и найдите menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class windows ... . Замените часть ' ' на свой ярлык, но остальные параметры оставьте прежними.

например, на моей системе:menuentry 'My Windows 7 system' --class windows --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' { EOF

Но в этом есть подвох: во-первых, в 30_os-prober есть две таких записи: одна для chain), другая для efi), поэтому вы должны изменить обе. Во-вторых, я полагаю эти изменения будут перезаписаны, как только произойдет обновление этих файлов / grub.


Другой подход:

Вы можете отключить часть windows в скрипте 30_os-prober, закомментировав # те menuentry ... команды в секциях windows chain) и efi). Это удалит автоматически сгенерированную запись windows. Затем возьмите текущую загрузочную запись windows из /boot/grub/grub.cfg и скопируйте ее в файл пользовательского меню /etc/grub.d/40_custom.

5
27.01.2020, 20:53

Теги

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