Hello Jarek, It's possible to do with grub what you want to do.You will need to script a little using grub which use a shell like syntax. All commands from bash are not available but you can create function, variable (no array), use if .. then, elif ... then, else, fi and for .. in.. do .. done, while, until ... $#, $@, $* and so onit's very powerful.for example, if requires single [ ... ] not [[ ... ]], "or" "and" operators are not && || but "-o" "-a".
See "6.3 Writing full configuration files directly" in Grub manual for more information. https://www.gnu.org/software/grub/manual/grub/grub.htmlSome module as regexp, tr, ... can be loaded if you need additional command. About ntfs you will need to load ntfs module (+reqs if needed) You have a really interresting file inside /boot/grub/${arch}/moddep.lst which list all required dependencies for each module. About searching a file you will need the search module which will return the root of drive if file is found. you can search file system uuid or file system label if you want. eg: search --file [--set=root] /path/win.txtwill return the root of drive if absolute path /path/win.txt is found; else nothing([--set=root] if not specified, root variable is used but you can use another variable to get result and test if variable exists or not) search --file --set=winroot "/path/win.txt"if [ -n "${winroot}" ]; then echo "root found" set root="${winroot}" set prefix= ... else echo "oops no windows"fi or this work too if search --file --set=winroot "/path/win.txt"; then echo "windows root found" set root="${winroot}" set prefix= ... elif search --file --set=linroot "/boot/grub/grub.cfg"; then echo "oops no windows but linux" set root="${linroot}" set prefix= .. else echo "oops nothing found :(" fi Here is the manual with all command. https://www.gnu.org/software/grub/manual/grub/grub.html#search Hope this help. RegardsHans Le samedi 24 avril 2021 à 02:50:07 UTC+2, Jarek <[email protected]> a écrit : Hi! I want to check if specific file (let's say win.txt) exist in root directory at ntfs WIndows partition and if does, then boot Windows (or better: make it default choice but still display menu and timeout), and if not boot Linux (or leave default menu with default Linux and timeout). I've seen command test -e file and insmod ntfs, but I don't know what next. Does "grub works" like shell scripts? Are entries from grub.cfg are just interpreted and executed from top to bottom or is it compiled on update? Jarek
