This answer is for Windows installations that BIOS boot.
Check for BIOS Boot Method
You can check to see if Windows BIOS boots by entering the command given below in a Terminal application window.
Note: If you renamed your windows partition to some other name than the default of BOOTCAMP, then make the appropriate substitution in thecommand below.
ls /Volumes/BOOTCAMP/boot
If you get a message similar to what is given below, then your computer is using the EFI to boot Windows, otherwise Windows is probably using the BIOS boot method.
ls: /Volumes/BOOTCAMP/boot: No such file or directory
My 2011 iMac BIOS boots Windows 10. Entering the above command on this Mac produces the following output. Your output may be different. When BIOS booting, the file BCD should appear in the list.
BCD cs-CZ fi-FI lv-LV ru-RU
BCD.LOG da-DK fr-CA memtest.exe sk-SK
BCD.LOG1 de-DE fr-FR nb-NO sl-SI
BCD.LOG2 el-GR hr-HR nl-NL sr-Latn-RS
BOOTSTAT.DAT en-GB hu-HU pl-PL sv-SE
Fonts en-US it-IT pt-BR tr-TR
Resources es-ES ja-JP pt-PT uk-UA
bg-BG es-MX ko-KR qps-ploc zh-CN
bootvhd.dll et-EE lt-LT ro-RO zh-TW
Check for EFI Boot Method
You can check to see if Windows EFI boots by entering the commands given below in a Terminal application window.
diskutil mount disk0s1
ls /Volumes/efi/efi/microsoft/boot
If you get a message similar to what is given below, then your computer is using the BIOS to boot Windows, otherwise Windows is using the EFI boot method.
ls: /Volumes/efi/efi/microsoft/boot: No such file or directory
My 2013 iMac EFI boots Windows 10. Entering the above commands on this Mac produces the following output. Your output may be different. When EFI booting, the file BCD should appear in the list.
BCD da-DK hu-HU kd_0C_8086.dll ro-RO
BCD.LOG de-DE it-IT kdstub.dll ru-RU
BCD.LOG1 el-GR ja-JP ko-KR sk-SK
BCD.LOG2 en-GB kd_02_10df.dll lt-LT sl-SI
BOOTSTAT.DAT en-US kd_02_10ec.dll lv-LV sr-Latn-CS
Fonts es-ES kd_02_1137.dll memtest.efi sr-Latn-RS
Resources es-MX kd_02_14e4.dll nb-NO sv-SE
bg-BG et-EE kd_02_15b3.dll nl-NL tr-TR
boot.stl fi-FI kd_02_1969.dll pl-PL uk-UA
bootmgfw.efi fr-CA kd_02_19a2.dll pt-BR zh-CN
bootmgr.efi fr-FR kd_02_8086.dll pt-PT zh-HK
cs-CZ hr-HR kd_07_1415.dll qps-ploc zh-TW
You should enter the command given below to unmount the EFI partition.
diskutil unmount disk0s1
Procedure to Recreate Hybrid Partitioning
The upgrade to High Sierra most likely reset your hybrid partitioning. Instructions for how to restore hybrid partitioning, can be found at the website How to convert a drive from the GPT format to the hybrid GPT/MBR format when using High Sierra (macOS 10.13.2)
You can also use the free third party command gdisk to restore hybrid partitioning. You will have to disable System Integrity Protection (SIP) before using this command.
Based on your question, the following commands should be issued to gdisk.
r
h
2 3
y
ff
n
07
y
n
w
y
Below is an example of the output from gdisk.
GPT fdisk (gdisk) version 1.0.3
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): r
Recovery/transformation command (? for help): h
WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.
Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 2 3
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): y
Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default FF): ff
Set the bootable flag? (Y/N): n
Creating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default 07): 07
Set the bootable flag? (Y/N): y
Unused partition space(s) found. Use one to protect more partitions? (Y/N): n
Recovery/transformation command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/disk0.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.
What's Next
If the upgrade to High Sierra converted partitions to the APFS format, then you may need to rebuild your BCD file. In your case, High Sierra is using the APFS format. So while problem posted in your question has been hopefully solved, You may need to make additional repairs before Windows will boot normally.