Dear friends,

I find a solution for this problem. And I find it because I am lucky I think.

I write the

menuentry "Windows 10" {
insmod part_gpt
insmod chain
set root='(hd0,gpt2)'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}


at the end of "/etc/grub.d/40_custom" file (check the web site http://www.rodsbooks.com/efi-bootloaders/grub2.html)
and after that run the command.

sudo update-grub

this is a bit trial and error. Because you have to determine the right parition.

It is important here to determine which gpt.

And I checked the system with

sudo fdisk -l

and figured out that EFI system is at the sda2

Device Start End Sectors Size Type
/dev/sda1 2048 1023999 1021952 499M Windows recovery environment
/dev/sda2 1024000 1228799 204800 100M EFI System
/dev/sda3 1228800 1261567 32768 16M Microsoft reserved
/dev/sda4 1261568 278794239 277532672 132,3G Microsoft basic data
/dev/sda5 278794240 500117503 221323264 105,5G Linux filesystem


so I write

gpt2 in the 40_custom file as given above. I don't know this is a good way. But it worked.

Also in the /etc/default/grub file I erased word hidden. So it is only blank like below

GRUB_TIMEOUT_STYLE=""

One last thing
At some point I used the "grub customizer" program. https://launchpad.net/~danielrichter...rub-customizer
Actually you don't need. But it may help if you cannot succeed.