Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
/dev/sda1-4 - Archman rolling release with UEFI BIOS and ESP flag on (/dev/sda3 as swap and /dev/sda4 as home)
/dev/sdb1-2 - Windows 10 (/dev/sdb1 - vfat and /dev/sdb2 - apps and sys)
/dev/sdb3-4 - Manjaro 18 KDE beta 1 (without extra home partition and no swap as only 4 primary partitions are allowed) - btw: can I install a linux /home on a different harddrive than the system?)
So, now the prob.:
Wanna do a dual (tripple) boot, but when doing "grub-install /dev/sdX" on arch (no matter if /dev/sdb or /dev/sda), Windows is not recognized (but both arches). Tried various other bootloaders (syslinux and rEFInd), but non worked out of the box. Tried to make an entry in grub.cfg, but it couldn't load the Windows 10 sysfiles, although the UID was right). What is exact string of the
chainloader /EFI/Microsoft/Boot/bootmgfw.efi?
Can't find any bootmgfw.efi on the whole system!
fdisk says /dev/sdb is dos and not gpt. Should I toggle boot flag to /dev/sdb3?
Trying to mount /dev/sdb1 with error "doesn't seem to be NTFS". So probably because I can't mount the Windows EPS partition, it won't be reecognized?)
So what can I do now? It's not very impressing, when going to BIOS everytime to select the OS I have to load), isn't it?
You can't boot with the two hard disk simultaneously because the MBR records and Grubgets present in the hard disk will not allow it to check the MBR records you have to use the Avast Support tools and boot with the single hard disk at a time.
The file would be on the EFI partition which is either sda1, sdb1 or sdb3. sda1 and sdb3 are vfat partitions which is what the EFI partition filesystem is. I notice the filesystem is not shown for sdb1 (?) but is for sda1 and sdb3(vfat) To find that file, create a mount point for each of those partitions. If you get an error/warning, write it down and post it. Use the command below while logged in as root on either Linux system.
Code:
mkdir /mnt/sda1 /mnt/sdb1 /mnt/sdb3
Then mount with the command, again still as root:
Code:
mount /dev/sda1 /mnt/sda1
Repeat the command substituting sdb1 /sdb3 for sda1. After doing that you navigate to those directories in a terminal or in the file manager. The bootmgfw.efi file should be in: /mnt/sda1/EFI/Microsoft/Boot OR it may be on sdb1 or sdb3. sdb1 isn't shown as vfat so who knows. Try sda1/sdb3 first.
Did you install windows 10 yourself or was it pre-installed? A pre-installed version of windows 10 would be UEFI/GPT and would have a vfat/EFI partition. When you install your Linux system you should also install it EFI and it will create its efi boot files in a separate directory on that (efi) partition. I would expect windows to be on sda but your output shows it is on sdb.
Do you see a message regarding not mounting the windows partition? If so, what does it say? This is very common when people leave windows 10 with the default/standard hibernation on. No Linux system will mount a hibernated partition and there is no way to turn it off from Linux that I am aware of so you may need the windows installation media or recovery disk or need to download something from the microsoft site for your specific version/release of windows 10.
How did you try to mount sdb1 that gave you that error? Did you specify a filesystem type. It doesn't show in your output so if ntfs isn't right, try vfat.
Quote:
fdisk says /dev/sdb is dos and not gpt
Windows 10 needs to be UEFI if you have a GPT partitioning scheme, if it is DOS then it should NOT be UEFI. You need all systems installed EITHER UEFI or Legacy or you will have to go into the BIOS when you want to boot another OS. If you are able to boot all systems but need to go into the BIOS to change, the most likely reason is that you have mixed a Legacy install(s) with EFI installs.
You should do all these commands from whichever Linux boots first from the BIOS and EFI partition.
If you have been using both Grub2, systlinux and rEfind on the system it is probably a real mess. If the above suggestions don't help, I would suggest you go online and search for the 'bootinfoscript', download and run it and post the output or a link to the output here.
I agree https://github.com/arvidjaar/bootinfoscript may be necessary to finding a solution, and that MBR (disk 2) and GPT (disk1) in the same PC are typically unnecessary trouble. When multibooting and the BIOS supports UEFI, it's nearly always best to use UEFI. As bonus, GPT disks can have more primaries than a mere mortal human can cope with. My newest little 120G SDD already has 5 distros installed, with 5 partitions awaiting more, 16 partitions total, and 9G freespace remaining.
I guess, I have to reinstall windoze, because it isn't installed for UEFI BIOS. I just did what I do when I install linux, make two partitions, thinking it will automatically "mount" the necessary UEFI-files in the small partition and putting the ESP-flag, but actually it hasn't. I still can't mount /dev/sdb1, "wrong type, superblock.. etc.etc." trying as NTFS and as -t vfat. Strange is, that GRUB finds /dev/sdb3 and boots Manjaro as it is.
I think, when I could mount /dev/sdb1 we would find the bootmgfw.efi.
Your basic problem is that you have mixed an EFI install (Archman) with Legacy installs (windows/Manjaro) so your search for the bootmgfw.efi file will not likely succeed. No widows efi files show on any partitions in the bootinfo output.
sda is an efi/gpt install of Archman with its efi file on a vfat filesystem.
windows boot code in the mbr of sdb, can't tell what sdb1 is/was but it is FAT16, some hidden OEM partition?
If you set this drive to first boot priority in the BIOS, can you boot windows
sdb2 is you windows system partition
sdb3 vfat so maybe it is/was an efi partition, but I doubt it as your windows is a Legacy not EFI. If you had windows in EFI which I doubt as you would have then shown it as a GPT drive. Windows apparently doesn't work on GPT unless it is UEFI.
sdb4 is Manjaro
sdb is msdos NOT gpt, your windows drive
Try setting the 111GB windows drive to first boot priority to see if it boots.
If that fails, try booting Archman or Manjaro and additng the entry belo to the grub.cfg file and reboot to see if the entry shows up and boots. If you put the entry in grub.cfg do NOT update grub or run grub-mkconfig. If your windows filesystem isn't corrupted this should work from either Linux.
If you had or want windows as an EFI/GPT install then you should also install the other system UEFI/GPT and I'm not sure you can convert a Legacy windows to EFI so you may need to re-install.
So, it doesn't matter anymore, having each time a look into UEFI, seeing how things are. What legacy mode/csm concerns, Linux did the warning much earlier with the VM, where 3D acceleration didn't work with Madeira 6. Maybe thought Linux to be in an virtual machine. Otherwise I would never had to be installed an non-activating version of windows 10.
But we need to play the whole thing for building in AUR. So there was no chance.
I don't see that your last post has any relation to your earlier problem.
You had a Legacy install of windows on one drive with its code in the MBR so setting it to first boot priority should have booted, windows only.
Booting Manjaro and updating grub with the grub-mkconfig command should have created a bootable entry for windows and both Linux systems.
it finally worked: there is no way to change a MBR to GPT without reinstalling everything. So first install windows - make one; the installer says to make a second automatically (NTFS formated, necessary for UEFI boot], then second: install Manjaro with the following options:
In my case, there is /dev/sdb3 (Fat32 formated, mount point /boot [not /(boot/efi) and an /dev/sdb4, formated ext4 with the Manjaro system. This workes as long as installation goes to about 90%, where GRUB installs. Then go out of the installation program, open a terminal and mount /dev/sdb1 with sudo mount /dev/sdb1 /mnt, then the installation continues with the bootloader; everything is finished, on the next boot you can tripple boot with two ARCHES and the Windows 10 Home.
there is no way to change a MBR to GPT without reinstalling everything
Sorry, I have to disagree with that. gdisk can do this and it is on many/most installation DVD/flash drives of Linux systems. The boot repair software also has options to do this, see the links below. Many other sites with explanations available. I also found threads here at LQ explaining this. The third link is windows tools, apparenlty Easus and a couple of other commercial products work, don't know if they no have a free/trial version
A major part of your problem ,which I tried to explain in my earlier post, is that you had a gpt/efi install of your Arch on sda and a Legacy install of windows on sdb with windows in the MBR of sdb. If the windows filesystem wasn't corrupted, you should have been able to boot it by simply setting sdb to first boot priority in the BIOS. You should also have been able to boot it from either Manjaro or the Arch install with a simple chainload entry as it was a Legacy install.
Also, you apparently tried to do an EFI install on sdb as sdb3 has manjaro efi files but it is an msdos drive.
I would not recommend anyone follow your process, too convoluted any totally unnecessary. I doubt that your attempts to use different bootloaders didn't help. My understanding of rEfind is that it is designed only for EFI systems and your windows was not EFI. If it was at some point in the past, it certainly was not when you posted the output above. Better to read up on UEFI dual booting before beginning. The General principles section at the Ubuntu site below explains some basics.
The good news is that you seem to have it working, good luck.
@yancek But not with Manjaro only booting in fallback initramfs... (what I yet concealed). So it was really time to set up things new. Manjaro 18 is just a beta for the KDE desktop at the moment, so updates didn't work, Bluetooth down, etc.
There's no doubt that it is possible to convert MBR to GPT, but for systems, that were damaged that way, it has been better to make a complete new installation of both systems, as I was secured by Archman on /dev/sda1-2.
Guilty of the whole thing was windows, as I first did Manjaro with GPT and then Win10, what is actually wrong when you need both systems (or update grub after wininstall by Archman) And finally it was my fault with the win partition manager the first time as I mentioned.
And the old /dev/sdb1 was Unknown (or fat16 as frisk told me) and not NTFS, so there was actually much more wrong than just the UEFI thing.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.