vovan1982
- Стаж: 9 лет
- Сообщений: 1131
- Репутация:77[+] [-]
- Откуда: Ростов-на-Дону
|
AZJIO, спасибо. Я только утреннее обновление опробовал, а тут новое вышло. PS: Думаю нужно репозиторий делать
|
AZJIO
- Стаж: 6 лет 9 месяцев
- Сообщений: 1324
- Репутация:127[+] [-]
|
Обновлено 1. Значки кнопок сохранения (2 шт) изменяются на красный цвет, когда документ требует сохранения 2. Окно информации теперь поддерживает множество кнопок и зависит от числа параметров в секции [info] в ini-файле. 3. Моноширинный шрифт для окна инфо можно задать в ini-файле FontInfo=DejaVuSansMono 4. Исправлена ошибка связанная с изменением размера окна информации, которая распространялась на оба окна.
|
vovan1982
- Стаж: 9 лет
- Сообщений: 1131
- Репутация:77[+] [-]
- Откуда: Ростов-на-Дону
|
AZJIO, приветствую. Протестировал обновление. Стало еще лучше и удобнее. Есть просьба. Добавить шаблоны, которые потом можно было бы использовать. Например: сохранить выражение probe --set=UUID --fs-uuid $root, чтобы потом была возможность подменять UUID раздела переменной $UUID. Для того, чтобы шаблоны были под рукой.
|
Отправлено: 08-Мар-2024 14:43
(спустя 2 часа 23 минуты)
vovan1982
- Стаж: 9 лет
- Сообщений: 1131
- Репутация:77[+] [-]
- Откуда: Ростов-на-Дону
|
AZJIO, 2-й вариант мне нравится. ЗЫ: прилагаю свой конфиг. Просто у меня нигде явно UUID не указан. Ну это так, для ознакомления.grub_cfg# # DO NOT EDIT THIS FILE # # It is automatically generated by grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### probe --set=UUID --fs-uuid $root if [ -s $prefix/grubenv ]; then set have_grubenv=true load_env fi if [ "${initrdfail}" = 2 ]; then set initrdfail= elif [ "${initrdfail}" = 1 ]; then set next_entry="${prev_entry}" set prev_entry= save_env prev_entry if [ "${next_entry}" ]; then set initrdfail=2 fi fi if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="${saved_entry}" fi if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" else menuentry_id_option="" fi export menuentry_id_option if [ "${prev_saved_entry}" ]; then set saved_entry="${prev_saved_entry}" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault { if [ -z "${boot_once}" ]; then saved_entry="${chosen}" save_env saved_entry fi } function initrdfail { if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then if [ -z "${initrdfail}" ]; then set initrdfail=1 if [ -n "${boot_once}" ]; then set prev_entry="${default}" save_env prev_entry fi fi save_env initrdfail fi; fi } function recordfail { set recordfail=1 if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi } function load_video { if [ x$feature_all_video_module = xy ]; then insmod all_video else insmod efi_gop insmod efi_uga insmod ieee1275_fb insmod vbe insmod vga insmod video_bochs insmod video_cirrus fi } insmod part_msdos insmod ext2 set root='hd1,msdos6' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID else search --no-floppy --fs-uuid --set=root $UUID fi if loadfont /boot/grub/fonts/UbuntuMono32.pf2 ; then set gfxmode=1920x1080,auto load_video insmod gfxterm set locale_dir=$prefix/locale set lang=ru_RU insmod gettext fi terminal_output gfxterm insmod part_msdos insmod ext2 set root='hd1,msdos6' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID else search --no-floppy --fs-uuid --set=root $UUID fi insmod gfxmenu insmod png set theme=($root)/boot/grub/themes/linuxmint-2k/theme.txt export theme if [ "${recordfail}" = 1 ] ; then set timeout=30 else if [ x$feature_timeout_style = xy ] ; then set timeout_style=hidden set timeout=5 # Fallback hidden-timeout code in case the timeout_style feature is # unavailable. elif sleep --interruptible 5 ; then set timeout=0 fi fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=white/black set menu_color_highlight=black/light-gray ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_linux_proxy ### function gfxmode { set gfxpayload="${1}" if [ "${1}" = "keep" ]; then set vt_handoff=vt.handoff=7 else set vt_handoff= fi } if [ "${recordfail}" != 1 ]; then if [ -e ${prefix}/gfxblacklist.txt ]; then if [ ${grub_platform} != pc ]; then set linux_gfx_mode=keep elif hwmatch ${prefix}/gfxblacklist.txt 3; then if [ ${match} = 0 ]; then set linux_gfx_mode=keep else set linux_gfx_mode=text fi else set linux_gfx_mode=text fi else set linux_gfx_mode=keep fi else set linux_gfx_mode=text fi export linux_gfx_mode menuentry "Linux Mint 21.3 Cinnamon" --hotkey "m" --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-$UUID' { recordfail savedefault load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd1,msdos6' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID else search --no-floppy --fs-uuid --set=root $UUID fi linux /boot/vmlinuz-6.5.0-25-generic root=UUID=$UUID ro quiet splash $vt_handoff initrd /boot/initrd.img-6.5.0-25-generic } ### END /etc/grub.d/10_linux_proxy ### ### BEGIN /etc/grub.d/30_os-prober_proxy ### probe --set=WUID --fs-uuid (hd0,msdos1) menuentry "Windows 10 (on /dev/sda1)" --hotkey "w" --class windows --class os $menuentry_id_option 'osprober-chain-$WUID' { savedefault insmod part_msdos insmod ntfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 $WUID else search --no-floppy --fs-uuid --set=root $WUID fi parttool ${root} hidden- drivemap -s (hd0) ${root} chainloader +1 } ### END /etc/grub.d/30_os-prober_proxy ### ### BEGIN /etc/grub.d/31_linux_zfs ### ### END /etc/grub.d/31_linux_zfs ### ### BEGIN /etc/grub.d/32_linux_xen ### ### END /etc/grub.d/32_linux_xen ### ### BEGIN /etc/grub.d/33_os-prober_proxy ### set timeout_style=menu if [ "${timeout}" = 0 ]; then set timeout=10 fi ### END /etc/grub.d/33_os-prober_proxy ### ### BEGIN /etc/grub.d/34_uefi-firmware ### ### END /etc/grub.d/34_uefi-firmware ### ### BEGIN /etc/grub.d/35_fwupd ### ### END /etc/grub.d/35_fwupd ### ### BEGIN /etc/grub.d/40_custom_proxy ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "Grub2 FM" --hotkey "g" --class linux { set root='hd0,msdos1' search --no-floppy --fs-uuid --set=root $UUID if [ ${grub_cpu} = "x86_64" -a ${grub_platform} = "efi" ]; then chainloader /boot/grub/grubfmx64.efi else loopback loop /boot/grub/grubfm.iso linux /boot/grub/loadfm initrd /boot/grub/grubfm.iso fi } menuentry "Reboot" --hotkey "r" --class restart { reboot } menuentry "Shutdown" --hotkey "s" --class shutdown { halt } ### END /etc/grub.d/40_custom_proxy ### ### BEGIN /etc/grub.d/41_linux_proxy ### probe --set=UUID --fs-uuid $root submenu "Advanced options for Linux Mint 21.3 Cinnamon" --hotkey "a" --class steamos { menuentry "Linux Mint 21.3, with Linux 6.5.0-25-generic" --hotkey "1" --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-25-generic-advanced-$UUID' { recordfail savedefault load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd1,msdos6' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID else search --no-floppy --fs-uuid --set=root $UUID fi echo 'Loading Linux 6.5.0-25-generic ...' linux /boot/vmlinuz-6.5.0-25-generic root=UUID=$UUID ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-6.5.0-25-generic } menuentry "Linux Mint 21.3, with Linux 6.5.0-25-generic (recovery mode)" --hotkey "2" --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-25-generic-recovery-$UUID' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd1,msdos6' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID else search --no-floppy --fs-uuid --set=root $UUID fi echo 'Loading Linux 6.5.0-25-generic ...' linux /boot/vmlinuz-6.5.0-25-generic root=UUID=$UUID ro recovery nomodeset dis_ucode_ldr echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-6.5.0-25-generic } menuentry "Linux Mint 21.3, with Linux 5.15.0-100-generic" --hotkey "3" --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-100-generic-advanced-$UUID' { recordfail savedefault load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd1,msdos6' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID else search --no-floppy --fs-uuid --set=root $UUID fi echo 'Loading Linux 5.15.0-100-generic ...' linux /boot/vmlinuz-5.15.0-100-generic root=UUID=$UUID ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.15.0-100-generic } menuentry "Linux Mint 21.3, with Linux 5.15.0-100-generic (recovery mode)" --hotkey "4" --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-100-generic-recovery-$UUID' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd1,msdos6' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID else search --no-floppy --fs-uuid --set=root $UUID fi echo 'Loading Linux 5.15.0-100-generic ...' linux /boot/vmlinuz-5.15.0-100-generic root=UUID=$UUID ro recovery nomodeset dis_ucode_ldr echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.15.0-100-generic } } ### END /etc/grub.d/41_linux_proxy ### ### BEGIN /etc/grub.d/43_custom ### if [ -f ${config_directory}/custom.cfg ]; then source ${config_directory}/custom.cfg elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg fi ### END /etc/grub.d/43_custom ###
|
Отправлено: 08-Мар-2024 15:44
(спустя 1 час 1 минута)
AZJIO
- Стаж: 6 лет 9 месяцев
- Сообщений: 1324
- Репутация:127[+] [-]
|
vovan1982, я сейчас в Windows сделал выше сказанные фичи (поиск UUID регвыром и мессага с предложением заменить), но лень пока в Linux перезагружать чтобы компилировать и собирать. У меня четыре ОС, иногда даже больше, если бы диск сразу купил на 2 терабайта точно было бы больше и под каждую ОС свой UUID и вариант с одним UUID на всех не подходит, а в шаблонах его вообще нет, там они могут появится если пользователь сделал копии своих пунктов как шаблоны. Если UUID сохранён как переменная, это тоже не создаёт проблем. Я могу сделать окно замены, чтобы найти в конфиге какой-то текст и заменить другим. Мне кажется это более универсальное решение, чем прописывать что-то индивидуальное. Или даже добавить историю замен, чтобы можно было выбрать.
|
AZJIO
- Стаж: 6 лет 9 месяцев
- Сообщений: 1324
- Репутация:127[+] [-]
|
Обновления При открытии шаблона если в нём есть UUID и в буфере обмена UUID, то предложение заменить UUID в шаблоне. Необходимость сохранения теперь также контролируется при дублировании, удалении, открытии шаблона При закрытии программы предлагается сохранить, если данные помечены как не сохранённые.
|
AZJIO
- Стаж: 6 лет 9 месяцев
- Сообщений: 1324
- Репутация:127[+] [-]
|
Обновление Добавлено диалоговое окно замены.
|
vovan1982
- Стаж: 9 лет
- Сообщений: 1131
- Репутация:77[+] [-]
- Откуда: Ростов-на-Дону
|
AZJIO, отличнл. Завтра опробую.
|
AZJIO
- Стаж: 6 лет 9 месяцев
- Сообщений: 1324
- Репутация:127[+] [-]
|
Вот так оно выглядит.
|
vovan1982
- Стаж: 9 лет
- Сообщений: 1131
- Репутация:77[+] [-]
- Откуда: Ростов-на-Дону
|
AZJIO, привет. Отлично. И шаблоны и поиск и замена. Единственное. На MINT'е не запоминает выбор "запускать от root".
|
vovan1982
- Стаж: 9 лет
- Сообщений: 1131
- Репутация:77[+] [-]
- Откуда: Ростов-на-Дону
|
AZJIO, спасибо за разъяснение. Я подумал, что и пароль спрашивать не будет. А где сохраняет ini файл?
|
AZJIO
- Стаж: 6 лет 9 месяцев
- Сообщений: 1324
- Репутация:127[+] [-]
|
102594 А где сохраняет ini файл? /home/user/.config/Grub2-generator/ На днях как нибудь скомпилирую с бэкапированием без админа, исходник уже обновил, на арче собрал.
|
vovan1982
- Стаж: 9 лет
- Сообщений: 1131
- Репутация:77[+] [-]
- Откуда: Ростов-на-Дону
|
AZJIO, на данном этапе я от софтины уже получил то, что хотел. Куски кода бэкапит и их потом можно восстановить. Данную фичу я проверил. Если будет дальнейшее развитие, то я также в деле по тестированию. PS: на самом деле ini и шаблоны сохраняет в /root/.config/Grub2-generator/ и /root/.config/Grub2-generator/template/ , но для меня это не проблема, просто нужно было знать путь к месту сохранения.
|
Страница 2 из 3
Текущее время: 03-Дек 20:24
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|