For some reason, changing the grub config doesn't work on my Surface Book either (and I saw another Surface user complain about the same issue). I haven't found a solution yet, but here's something I can work with:
Install an X-Server for windows (e.g. xming), login to your virtual machine using ssh and set the DISPLAY variable (export DISPLAY= < your host ip>). You can also add that line to your ~/.bashrc to have it execute automatically when you login, otherwise you'll have to do that for each session.
This allows you to start your linux gui programms from ssh and work with them as if they were running natively on your host (much faster too, at least in my experience).
For convenience, I create an internal virtual switch in hyper-v and set up network sharing with that virtual device, so that my host always has the IP 192.168.137.1. This allows you to access the internet in the VM while having a static IP for your host.
Another solution which also works and gives you the full linux desktop experience (albeit slower than with X-forwarding over ssh): Install xrdp on linux as described here and use windows' remote desktop client to connect to your virtual machine. This will give you your native resolution, but is still a bit slow due to software rendering.