I broke my windows bootloader

I bought a new HP Pavilian TP01-0066 which has Windows 10 preinstalled. It has UEFI which I now realize adds complications. I have tried to install Manjaro in a dualboot confiration 3 times and the combination of each has put my has put my machine in a bad state:

  1. I chose the first partition option of "Install alongside", chose half-and-half for windows and Manjaro, and let it rip. When I rebooted, it would go straight to windows again. I could go to the bios and select the partition where Manjaro loaded and that would work, but I want Manjaro to be my default, and it sucks hitting esc over and over again every time I boot up just to get into that bios. I read around a lot on the internet and that's when I discovered that UEFI was a thing and that I needed to do special stuff. That is when I tried option #2 below.
  2. I followed the instructions here: [HowTo] Dual-boot Manjaro - Windows 10 - Step by Step. Apparently, I screwed up something, because when I tried the final step of running efibootmg, it reported an error (like no boot entries or something.. i forget exactly). Then, when I rebooted, I got a "unknown filesystem" grub error, and nothing seemed to work. I'm not exactly sure what I did wrong, but I suspect it's this: The bold text in the manual partitioning states that UEFI requires a GPT partition of 512MB. I saw a FAT32 partition already there that was 250MB or something. I thought, maybe that is good enough? I figured that whatever was there (like the windows bootloader), would be moved and that Grub would invoke that if I chose Windows. It seems I was wrong. I guess that mistake blew away the windows bootloader completely.
  3. The third time, I made sure to follow the instructions more closely (and I watched a couple youtube videos). This time I reduced my ext4 partition by 512MB and made it FAT32 partition and marked it as boot. Now it boots up to Manjaro fine, but the boot loader has no option for booting Windows. Furthermore, I am able to select my internal hard drive as a boot device in my bios, and it has the same "unknown filesystem" error. I suspect this is due to my mistake in #2.

I assume Kernel version and all of that is unnecessary for this question. So I hope it's okay if I leave that type of stuff out.

Manjaro broke my windows bootloader

No it didnt. You explain right here how you did that.
Or actually .. still not sure .. it seems you at least created a new ESP.. unclear whether you removed the old one or not.
But you did things manually without understanding .. and predictably, got a few things wrong. Which is fine .. we all make mistakes and need to learn things. But dont try to make it out like its manjaros fault.

1 - You either did not install in the same mode (trad-bios vs UEFI), or you just need to run sudo-update grub.

2 - This is still unclear - did you remove the old ESP or did you simply create a second one ?

3 - Same as #2 except it sounds like you have at least one working ESP (btw windows needs an ESP boot loader if it is installed in efi mode .. so yeah booting it directly wont work) .. so it might be combined with #1 - as in in a sort of mixed up way it might be 'working', you just need to tell grub about windoze with sudo update-grub.

I changed the title to be more accurate. I realized as I was typing more and more of what I did wrong, but forgot to correct the title.

I tried update-grub and it seems to have no effect.

Regarding your question, I believe I chose the existng 250MB partition, and made it mount /boot/efi there. I wish I wrote down what I did step by step. I'm not used to having any sort of problem like this so I wasn't being as diligent as I should have been.

Mine is a HP of 2016, but not a pavillion.

That happened to me too, but the solution was:

  • Go to bios
  • select advanced bios options
  • change the priority to grub.
  • now I boot into manjaro grub who also recognizes windows boot loader.

I think that you should have done this instead of following that guide.

In it's current state, it does boot straight into Manjaro. I think the problem is that I destroyed the Windows boot loader so that Grub doesn't recognize windows as a viable option.

yeah I know, just saying what you should have done because it may help you if it happens again or if others with the same problem come to this thread looking for a solution

Gotcha

Please boot into Manjaro and provide the terminal output of the following commands:

efibootmgr -v
sudo os-prober
sudo parted -l
(that is lowercase L)
sudo blkid
findmnt -s
findmnt /boot/efi

Copy the output of each command as text, paste it in your reply, highlight it and click on </> butoon to format for better readability.

efibootmgr -v

BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0005,0006,0003,0002,0001,0004,0007
Boot0000* Manjaro	HD(6,GPT,4c60bec8-edbb-1343-b848-a4c0c3e10af8,0x1cf14000,0x100000)/File(\EFI\MANJARO\GRUBX64.EFI)
Boot0001* UEFI:CD/DVD Drive	BBS(129,,0x0)
Boot0002* CD/DVD Drive	BBS(CDROM,,0x0)..GO..NO........u.h.p. .H.L.D.S. . .D.V.D.R.W. . .G.U.D.1.N....................A.................................>..Gd-.;.A..MQ..L.H.7.D.U.M.L.K.A.C.L.C.T.5.S. . . . . . ........BO
Boot0003* Hard Drive	BBS(HD,,0x0)..GO..NO........u.S.K. .h.y.n.i.x. .B.C.5.0.1. .H.F.M.2.5.6.G.D.J.T.N.G.-.8.3.1.0.A....................A.......................................8..Gd-.;.A..MQ..L.C.N.9.A.N.7.8.1.8.1.1.0.0.B.9.3.0........BO
Boot0004* UEFI:Removable Device	BBS(130,,0x0)
Boot0005* UEFI OS	HD(6,GPT,4c60bec8-edbb-1343-b848-a4c0c3e10af8,0x1cf14000,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)
Boot0006* UEFI: hp HLDS  DVDRW  GUD1N	PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x1)/Sata(1,65535,0)/CDROM(1,0x14f8ee,0x2000)..BO
Boot0007* UEFI:Network Device	BBS(131,,0x0)

sudo os-prober
(no output at all)

sudo parted -l

Model: SK hynix BC501 HFM256GDJTNG-8310A (nvme)
Disk /dev/nvme0n1: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system     Name                          Flags
 1      1049kB  274MB  273MB                   EFI system partition          bios_grub
 2      274MB   290MB  16.8MB                  Microsoft reserved partition  msftres
 3      290MB   128GB  128GB   ntfs            Basic data partition          msftdata
 7      128GB   249GB  121GB   ext4                                          boot, esp
 8      249GB   249GB  8389kB
 6      249GB   249GB  537MB   fat32                                         msftdata
 5      249GB   256GB  6397MB  linux-swap(v1)                                swap
 4      256GB   256GB  506MB   ntfs            Basic data partition          hidden, diag

sudo blkid

/dev/nvme0n1p3: LABEL="Windows" BLOCK_SIZE="512" UUID="CEDE04CDDE04AFAF" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="b6c7f1c3-cdd2-4ac4-a049-2b806956e4fa"
/dev/nvme0n1p4: LABEL="Windows RE tools" BLOCK_SIZE="512" UUID="9808D02808D006E2" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="bc928eec-9b0e-46ee-98f1-e67e006e80a0"
/dev/nvme0n1p5: UUID="c851181d-ffbe-4e39-928a-c01bff85ef2a" TYPE="swap" PARTUUID="7c2e94a5-ac86-0440-a6af-706f880b5e51"
/dev/nvme0n1p6: UUID="5173-759D" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="4c60bec8-edbb-1343-b848-a4c0c3e10af8"
/dev/nvme0n1p7: UUID="99e486c8-19f2-4289-b237-232752740822" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="b7d33523-85d9-fd44-b605-c6c0a6a04a03"
/dev/nvme0n1p1: PARTLABEL="EFI system partition" PARTUUID="7b37bd55-16c9-44fd-86a7-eba00bfceadb"
/dev/nvme0n1p2: PARTLABEL="Microsoft reserved partition" PARTUUID="9fcacf37-5eb7-4910-b86b-f820ba8bea0c"
/dev/nvme0n1p8: PARTUUID="9c2d60cc-b64a-714f-b646-65bbb829cfb4"

findmnt -s

TARGET SOURCE                                    FSTYPE OPTIONS
/      UUID=99e486c8-19f2-4289-b237-232752740822 ext4   defaults,noatime

findmnt /boot/efi
(no output)

Number  Start   End    Size    File system     Name                          Flags
 1      1049kB  274MB  273MB                   EFI system partition          bios_grub

For one thing your Windows EFI system partition has the wrong flag (bios_grub). It should have esp and boot flags instead. That could be the reason why Windows is not captured by os-prober.

However, there is no efi boot entry for Windows in the output of the efibootmgr and there is no filesystem associateed with the Windows EFI system partition which should be fat32. Most probably the file system is corrupted or damaged somehow.

If you have Windows Installation Media or Recovery Disk you could try to repair its boot manager. Please search the www for tutorials. I am afraid I couldn't tell if it will succeed or not.

1 Like

I am downloading a windows recovery disk as we speak. I'll see how that goes.

If I can't get it to work, I may just blow everything away and make the whole thing manjaro.

If there is nothing in particular keeping you tied to Windows (games or other software) then why not.

At any rate, wish you good luck. Keep us posted!

I have always blown my windows partition away (which is why I'm inexperienced at this dual-boot thing). But due to Covid, my employer allows work from home, but we have to use windows, their VPN, and whatnot. So now I'm trying to dual boot for the first time in probably 10 years or more.

1 Like

Update for those interested:

Windows sucks

That's all I know for certain at the moment.

This is what I did on my first laptop. I was inexperienced and had some issues with dual boot, Manjaro wouldn't start and I deleted Window EFI partition. When I realized I destroyed Windows irreversibly, I just wiped the whole disc clean and installed Manjaro, in a way it booted, because I learned from this experienced.

This laptop hasn't seen Windows since then :slight_smile:. Luckily I learned how UEFI works, so I never had another issue with a dual boot.

That was big lesson one. The second is, to learn how to maintain the system without breaking it. So even if I was successful at install, I broke my Manjaro install. This is the common experience for all newbies, till they learn how things work and then system becomes usable and stable as it was meant to be from beginning.

Those are the "joys" of a newbie :wink: . You are not the only one struggling with basic and yet variable and hard to explain things, so there is no clear and fool-proof step-by-step guide that would always work. You just have to learn on your mistakes as you go.

1 Like

So I fixed my windows install..... by swapping my machine for a duplicate (was still in the return window).

I have now reinstalled manjaro on my new PC, however I'm back into my initial problem where there is no grub at all. If I select from UEFI Boot source it goes to window, if I select Legacy Boot sources, it boots up Manjaro. (Luckily, I'm able to get to a menu in my bios to boot up a given selection right then in there). However, in the Bios there are two boot orders that are independent of each other the UEFI and Legacy. And it says that EUFI boot order has higher priority than legacy boot order.

Am I screwed?

I'd try restoring the windows bootloader using what you are downloading. Then I'd install the refind boot manager and use it to select between Manjaro and Windows as needed. It defaults to the last OS you booted, so is pretty hands-free if you like that.

I did this a week or so ago after "inadvertently" reformatting my EFI partition.

This sounds like you installed Manjaro in legacy mode. Due to this it won't be bootable in UEFI mode like your other OS (which was installed in UEFI mode).
Reinstall in UEFI mode to get an UEFI boot entry for Manjaro.

1 Like

I thought I did that. I must have skipped a step.

Using the GUI, I created a fat32 partition (1GB rather than 512MB because the GUI didn't let me make one any smaller), checked the boot flag, and had mount at/boot/efi.

Did I forget something?

Boot up your Manjaro and run the following in a terminal to see which mode it is installed in:

test -d /sys/firmware/efi && echo UEFI || echo BIOS

Forum kindly sponsored by