I tried a few more things, for example disconnecting the Windows drive as Winuser suggested. Without the Windows drive, Linux came up fine. Then I reconnected the Windows drive, started up, and Linux booted! So I thought the problem was solved, until I shut down Linux and booted again. Now it's the same thing as before - Windows comes up every time. What's going on?