[SOLVED] Fix Windows MBR (unrecognized partition) from Manjaro

Hi everyone,

I create this topic because I find my Windows 10 installation inaccessible, due to an attempt of dualboot set up.

I use Manjaro on in another partition on the same disk.

The MBR is located on the Windows partition, and I still don't understand how it can boot like if everything was okay on Manjaro if the MBR and the partition are messed up.
I can't see the grub menu, Manjaro just boots when (and only) when I configure my bios in Legacy.

I've tried a lot of the time things like grub-update, but nothing more happens.

So, any ideas?
Thank you very much for your help guys.

How about trying this:

https://wiki.archlinux.org/index.php/GRUB#Windows_8/10_not_found

Indeed there is an option in the bios called "Fast Boot", but it doesn't change anything.
If it is a option in Windows itself, given that I can't access to it, it will be complicated to change it ofc

I am not sure what exactly is going on but some hard info might give some forum members some ideas. In your Manjaro, open a terminal and run the following command one a a time. Copy the output as text, paste it into your reply, highlight it and click </> to format.

test -d /sys/firmware/efi && echo UEFI || echo BIOS
sudo parted -l
sudo blkid
cat /etc/fstab
efibootmgr -v

(sorry for the french parts, my system is in french but I can translate if needed)

$ test -d /sys/firmware/efi && echo UEFI || echo BIOS
BIOS
$ sudo parted -l
Modèle : ATA WDC WD5000LPCX-2 (scsi)
Disque /dev/sda : 500GB
Taille des secteurs (logiques/physiques) : 512B/4096B
Table de partitions : msdos
Drapeaux de disque : 

Numéro  Début   Fin    Taille  Type      Système de fichiers  Drapeaux
 1      32,3kB  474GB  474GB   primary
 2      474GB   474GB  902MB   primary   ntfs                 msftres
 4      474GB   480GB  5330MB  extended                       lba
 5      474GB   480GB  5330MB  logical   linux-swap(v1)
 3      480GB   500GB  20,3GB  primary   ext4


$ sudo blkid
/dev/sda2: LABEL="Windows System Reserved" BLOCK_SIZE="512" UUID="323E1B213E1ADE23" TYPE="ntfs" PARTUUID="28761ba5-02"
/dev/sda3: UUID="11b836f4-55c0-4214-bb89-48ff47b733c5" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="28761ba5-03"
/dev/sda5: UUID="ca569ea9-5f27-46ea-849a-b18a59f97908" TYPE="swap" PARTUUID="28761ba5-05"
/dev/sda1: PARTUUID="28761ba5-01" //the problematic one
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=11b836f4-55c0-4214-bb89-48ff47b733c5 /              ext4    defaults,noatime 0 1
$ efibootmgr -v
EFI variables are not supported on this system.

This is natural since you have installed Manjaro in Legacy mode.

I don't understand this part. MBR is not part of the partitions on a disk. A bootloader (in this case Grub) in an installation in Legacy mode should be installed to the MBR of the disk and not a in a particular partition of the disk. See the following link for a shor explanation of MBR:

That said, please post the output of

sudo os-prober

cat /etc/default/grub

This is natural since you have installed Manjaro in Legacy mode.

Well the bootable USB wasn't able to boot in UEFI

I don't understand this part. MBR is not part of the partitions on a disk. A bootloader (in this case Grub) in an installation in Legacy mode should be installed to the MBR of the disk and not a in a particular partition of the disk. See the following link for a shor explanation of MBR:

I therefore misunderstood how the MBR works, I guess it was because of some programs which told me to specify the location of the MBR. (probably a confusion on my part)

The output:

$ sudo os-prober
$ cat /etc/default/grub
GRUB_DEFAULT=saved
GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=hidden
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet udev.log_priority=3"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

Here is the issue: You probably forced grub to be installed in the PBR of your Windows partition and overwrote first sectors of your Windows installation. I would try to use a Windows recovery medium and try to fix your Windows installation, first. Then write grub into the MBR (there is only one right location as @Marte explained already). Afterwards you should be able to boot into grub menu. In Manjaro run sudo update-grub and hopefully have both OS back in operation.

https://wiki.manjaro.org/index.php/Restore_the_GRUB_Bootloader

https://wiki.archlinux.org/index.php/GRUB

2 Likes

To make Grub's boot menu visible, edit /etc/default/grub and change

GRUB_TIMEOUT_STYLE=hidden

to

GRUB_TIMEOUT_STYLE=menu

Run sudo update-grub afterwards.

This wouldn't have made a difference in this case since the partition table of your disk is msdos . For an installation in UEFI mode you would need a disk with GPT (GUID Paratition Table).

The location of MBR is not the one to be specified (see the link from my post above) but the location for the installation of the bootloader (Grub).

I don't really know what might have gone wrong if you installed Grub correctly, that is to the MBR of the disk. Something you could try to see if your Windows installation is intact is to bring up Bios one time boot menu and see if you can boot up Windows from there.

2 Likes

@Wollie @Marte thank you for your time guys, I have to sleep now but I'll try this tomorrow, I'll keep you informed.

2 Likes

I'm watching about this in this webpage:

A Windows recovery medium is a specific device of every installation or can I make one from another computer?

Here is my boot menu, I tried everything possible with it but nothing more that what we know

20200603_153914

Looks like writing the Grub to the Windows partition and not to the disk is what has caused this non-bootability of Windows as @Wollie mentioned above. Making a recovery disk from another Windows machine might work. I have never tried so I cannot tell for sure. You could also make an installation medium from a Windows iso and use its repair functions to do the recovery.

1 Like

I'm going to try this then.

But how can I be sure to not overwrite the grub part, or at least to make it accessible from the grub menu? Because this was the reason I tried to do the messed up manipulation from EasyBCD, so is there a way to link it directly?

This will overwrite Grub for sure. But that can be reinstalled using your Manjaro live usb. The most important thing is if this will recover your Windows PBR and make it bootable again.

1 Like

Well, I just tried the boot repair option from a recovery medium made on another Win10 computer with the recovery bootable usb tool, it tells that couldn't fix it :frowning:
I also tried Windows recuperation / backup recuperation, but it doesn't recognize any Windows installation...
Should I try with a downloaded Windows 10 image, or the result should be the same?
20200603_193528

This could be a sign that too much has been overwritten by wrong placing grub in Windows PBR and follow up sectors to use the automatic repair function. Try it the manual way:

If that's not working I would reinstall Windows.

After successful repair check the boot order in your firmware to directly boot into Windows. If that's working you could fix the grub from Manjaro's site, simply use a live ISO, then in a terminal: manjaro-chroot, if only 0 is offered, select 1. Then check if /dev/sda is your hard disk. If that's the case then grub-install /dev/sda (i.e. to the MBR of drive sda), enter update-grub and reboot.

2 Likes

@Wollie said it all. I just wanted to add that if your next attempt at repair will not have the desired effect and you are going to reinstall Windows perhaps you could consider to start the whole thing from scratch. If your machine support UEFI, just create GPT disk and reinstall both Windows and Manjaro in UEFI. Backup all your personal data from both systems before. A bit of a hassle you might think, but in the long run, more manageable dualboot.

3 Likes

Thanks @Wollie, I'm going to try to fix the MBR by this way.

@Marte, @Wollie, if i have to reinstall Windows, is there a way to recover my data on the actual Windows partition? I made the usual mistake to not separate Windows and its data :man_facepalming: :man_facepalming:

You could mount your Windows partition from your Manjaro system (installed or live) and access the data on it. A NTFS filesystem is r/w -able from Linux.

1 Like

Forum kindly sponsored by