Нет, потому что Wine под WSL может запустить только 64битные программы. Даже 32битные не сможет, так как нельзя запускать и 32битные лиуксовые бинарники.
Не-а, дело тут не в M$, а в том, как реализован 64-битный режим. В нём ещё можно выполнять 32-битный код, но от 16-битного приходится полностью отказаться.
Есть. Но не такие строгие, как я думал. Сейчас уточнил, 16-бит программы защищённого режима работают в Long Mode. Не работают программы реального режима. Так что 16-бит приложение Windows можно запускать на 64-бит системе.
Чтобы 16-битные приложения работали в 64-битной системе, необходимо установить sysctl-переменную vm.mmap_min_addr как 0. По умолчанию стоит 65536, потому что если поставить 0, то система будет уязвима. И потому что 16-битное ПО мало кто использует, и поэтому мало кто заметит, что оно не работает. А чтобы заработало, надо ту переменную поставить как 0.
Хотя информация по этой ссылке могла устареть. Я не знаю.