Microsoft is annoying
I normally use openSUSE. But I also have Windows 8.1 on my main desktop. I rarely use it, but I do occasionally boot to Windows to install updates and to update the anti-virus (Windows Defender).
I have recently run into two annoyances with Windows.
I recently wanted to copy a small text file to the Windows partition. I have an entry in “/etc/fstab” to mount that partition at “/windows/C”. But it is flagged with the “noauto” option, so that it does not automatically mount on boot.
So I used the command (as root)
This has worked for me in the past. But this time, it gave me an error message complaining that the NTFS drive was hibernated and could not be safely mounted (unless mounting read-only).
I did not expect that. I never hibernate. And I had turned off “fast-boot” in Windows.
I rebooted into Windows to check. They hide that “fast boot” setting. But I managed to find it. And it showed that fast-boot was disabled. There was a message advising me to enable fast boot. I did not follow that advice.
Having made sure that fast-boot was disabled, I rebooted into openSUSE. But, once again, it would not allow me to mount “/windows/C”, and with the same error message as before.
I booted back into Windows. And this time, I completely disabled hibernation. For that, I opened an Administrator command prompt, and used the command
powercfg /hibernate off
And then I again rebooted to openSUSE. I again tried mounting “/windows/C”. And this time, it worked.
It seems that Microsoft has been cheating. All of the settings indicated that fast-boot was disabled. But the system was still using fast-boot.
My other issue was with IPv6 addresses.
The openSUSE scheme, using “wicked”, is to use an IPv6 address partly based on the MAC address of the ethernet card. The Windows scheme is to use a “random” value for the local part of the address, but to record that value so that it will use the same IPv6 address each time. In addition, both schemes also provide a temporary address as part of the privacy extensions.
Ignoring the temporary addresses for the moment, this means that my computer has two different IPv6 addresses, depending on whether I am using Windows or I am using openSUSE. The home router picks up those addresses, and gives them out on DNS queries.
The effect is that when another computer wants to connect, it finds two IPv6 addresses, one of which is currently wrong.
I “fixed” that some time ago. I used some Windows commands to tell Windows to go with the IPv6 address based on the MAC. And that seemed to be working.
But then, a few weeks ago, a DNS lookup showed a spurious address. And the only place that I could think it might be coming from, was Windows. So I wondered if I might have to repeat that switch to the IPv6 address based on the MAC. Incidentally, that was why I wanted to copy a text file to the Windows partition.
Booting into Windows, I checked the addresses with
And it turned out that the system was using two IPv6 addresses. It must have started doing that recently. It was using the correct IPv6 address derived from the MAC address (and delegated prefix). But it was also assigning a second IPv6 address.
I have “solved” this problem by completely disabling IPv6 on Windows. It is not worth my time and effort to research what is going on and how to stop Windows from adding this second address.