GRUB and Windows

I keep my Windows installation around for a few reasons, and today I finally bothered to add it to my GRUB menu for convenience. I ran into a couple of gotchas, so here is the process on an Arch-based system.

The first thing to do is run os-prober. This should return the Windows installation like so:

sudo os-prober
/dev/nvme0n1p1@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi

Next, a step that’s missing from many guides: /etc/default/grub needs the following line:

GRUB_DISABLE_OS_PROBER="false"

You may already have this line set to “true,” so just set it to “false” in that case.

Finally, run grub-mkconfig and the item should be added to the grub menu. Out on the internet, you’ll see references to grub-update. This is just a wrapper for grub-mkconfig and does not exist on Arch.

Additionally, I loaded up grub-customizer to remove extraneous entries. This is optional, but it’s an easy way to edit grub and keep the menu clean. You can do other stuff with this tool such as changing the background image, so have fun with that.

pacman -S grub-customizer

EDIT: This thread is where I found the “missing” step.

EDIT 9/24/2022: As a result of some issues following the great Arch/grub debacle of 2022, I have stopped using grub-customizer at all and no longer recommend it.

Fixing web video issues

When all of my web browsers suddenly stopped playing YouTube videos properly, I actually got so frustrated that I flipped back to Windows for a while. Windows, in turn, frustrated me enough to work on the problem some more.

The issue was that videos would work upon opening the browser, but eventually would not play at all. I could force the issue to present itself by trying to play a video in private browsing; videos would not play in this mode, and after attempting it, would not play in normal mode either. I tried other browsers and nothing worked, so I knew it was a system problem.

Oddly enough, the cause turned out to be PulseAudio. I found several Reddit posts (including this one) that suggested replacing it with PipeWire would fix it. At first I wrote this off as ridiculous, but I tried it anyway, and everything went back to normal.

On Arch-based distros:

pacman -S pipewire-pulse

You might need to work through some conflicts with your package manager.

PipeWire is supposedly better than PulseAudio anyway, so don’t be afraid to try this. I have had no issues with audio since doing this.

Up ↑