[workstation] /etc/grub.d $ cat 40_custom
#!/bin/sh
exec tail -n +3 $0
# 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 'macOS' {
insmod fat
insmod part_gpt
insmod chain
insmod search_fs_uuid
set root='hd0,gpt1'
search --no-floppy --fs-uuid --set=root 3CFC-C13C
chainloader /EFI/clover/CLOVERX64.efi
}
[workstation] ~ $ cat /usr/local/bin/boot_win
echo "boot from win"
echo `hostname -I|awk '{print $1}'`
sudo grub-reboot 2 && sudo reboot
gawk 'BEGIN {
l=0
menuindex= 0
stack[t=0] = 0
}
function push(x) { stack[t++] = x }
function pop() { if (t > 0) { return stack[--t] } else { return "" } }
{
if( $0 ~ /.*menu.*{.*/ )
{
push( $0 )
l++;
} else if( $0 ~ /.*{.*/ )
{
push( $0 )
} else if( $0 ~ /.*}.*/ )
{
X = pop()
if( X ~ /.*menu.*{.*/ )
{
l--;
match( X, /^[^'\'']*'\''([^'\'']*)'\''.*$/, arr )
if( l == 0 )
{
print menuindex ": " arr[1]
menuindex++
submenu=0
} else
{
print " " (menuindex-1) ">" submenu " " arr[1]
submenu++
}
}
}
}' /boot/grub/grub.cfg