GRUB finds Windows twice

I have Manjaro and Windows 10 on one hard drive and Windows 7 on another hard drive.
My problem is that GRUB finds each Windows OS twice.

sudo update-grub
Генерируется файл настройки grub …
Найдена тема: /usr/share/grub/themes/manjaro/theme.txt
Найден образ linux: /boot/vmlinuz-5.10-x86_64
Найден образ initrd: /boot/intel-ucode.img /boot/initramfs-5.10-x86_64.img
Found initrd fallback image: /boot/initramfs-5.10-x86_64-fallback.img
Найден образ linux: /boot/vmlinuz-5.9-x86_64
Найден образ initrd: /boot/intel-ucode.img /boot/initramfs-5.9-x86_64.img
Found initrd fallback image: /boot/initramfs-5.9-x86_64-fallback.img
Предупреждение: os-prober will be executed to detect other bootable partitions.
It’s output will be used to detect bootable binaries on them and create new boot entries.
Найден Windows Boot Manager на /dev/sda4@/EFI/Microsoft/Boot/bootmgfw.efi
Найден Windows Boot Manager на /dev/sdc1@/efi/Microsoft/Boot/bootmgfw.efi
Найден Windows Boot Manager на /dev/sda4@/EFI/Microsoft/Boot/bootmgfw.efi
Найден Windows Boot Manager на /dev/sdc1@/efi/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings …
Found memtest86+ image: /boot/memtest86+/memtest.bin
завершено

It is russian, but you still can see sda4 and sdc1 each appears twice.

In grub.cfg I have 2 Windows OSes (menuentries of Win10 and Win7) in /etc/grub.d/30_os-prober and same Windows OSes (same menuentries) in /etc/grub.d/30_os-prober_proxy.

I know I can fix it with deleting menuentries in /etc/grub.d/30_os-prober_proxy, but what’s going on? Why is that happening?

What is creating this file?

maybe try sudo pacman -Qo /etc/grub.d/30_os-prober_proxy

Here is both (I renamed them for myself):

BEGIN /etc/grub.d/30_os-prober

menuentry ‘Windows 10’ --class windows --class os $menuentry_id_option ‘osprober-efi-E042-C2A1’ {
insmod part_gpt
insmod fat
set root=‘hd0,gpt4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4 E042-C2A1
else
search --no-floppy --fs-uuid --set=root E042-C2A1
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry ‘Windows 7’ --class windows --class os $menuentry_id_option ‘osprober-efi-1243-4362’ {
insmod part_gpt
insmod fat
set root=‘hd2,gpt1’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt1 --hint-efi=hd2,gpt1 --hint-baremetal=ahci2,gpt1 1243-4362
else
search --no-floppy --fs-uuid --set=root 1243-4362
fi
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
set timeout_style=menu
if [ “${timeout}” = 0 ]; then
set timeout=10
fi

END /etc/grub.d/30_os-prober

BEGIN /etc/grub.d/30_os-prober_proxy

menuentry “Windows 10 proxy” --class windows --class os $menuentry_id_option ‘osprober-efi-E042-C2A1’ {
insmod part_gpt
insmod fat
set root=‘hd0,gpt4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4 E042-C2A1
else
search --no-floppy --fs-uuid --set=root E042-C2A1
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

set timeout_style=menu
if [ “${timeout}” = 0 ]; then
set timeout=10
fi
menuentry “Windows 7 proxy” --class windows --class os $menuentry_id_option ‘osprober-efi-1243-4362’ {
insmod part_gpt
insmod fat
set root=‘hd2,gpt1’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt1 --hint-efi=hd2,gpt1 --hint-baremetal=ahci2,gpt1 1243-4362
else
search --no-floppy --fs-uuid --set=root 1243-4362
fi
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}

END /etc/grub.d/30_os-prober_proxy

Just tried:

sudo pacman -Qo /etc/grub.d/30_os-prober_proxy
ошибка: Ни один пакет не содержит ‘/etc/grub.d/30_os-prober_proxy’

From russian to english:

sudo pacman -Qo /etc/grub.d/30_os-prober_proxy
error: None of the packages contains ‘/etc/grub.d/30_os-prober_proxy’

You didn’t format your post properly, please use the </> button when you select your terminal output, to make it a CODE block instead of a quote like here which breaks the proper visibility of your terminal or code output, you can fix it by editing your post.

What did you rename?

Did you create this proxy file manually?

I would simply delete /etc/grub.d/30_os-prober_proxy, but you should investigate where is this file coming from before maybe.

Let me guess, you are a Grub Customizer user?