Different kind of dual-boot & partitioning a 1TB drive

Hello everybody,

before posting these questions i looked at different closely related threads but everyone seems to be a pro in here. i couldn’t understand what you guys/girls were talking about. i basically have 2 questions. the first is more or less a hypothetical (maybe non applicable) question on which you are welcome to share your opinions and/or experiences with. the second might seem odd… well here they are:

first things first: my new pc which i’m going to install linux (and win10)

Motherboard: MSI-B450 Tomahawk (UEFI)
CPU: AMD Ryzen 5 2600x
RAM: 16GB (2x8GB) Gskill Ripjaws V
SDD: Samsung Evo 970 500GB M.2 (for win10)
HDD: WD 1TB (for opensuse)

  1. tefore i had a few attempts in installing opensuse alongside windows with GRUB. but the problems i incountered with windows which lead to a reinstall and then problem with GRUB discouraged me to use opensuse as a second OS.

What if: i first install opensuse leap 15 on the 1TB HDD (M2 SDD not installed yet), then install win 10 on the m.2 SDD (with 1TB HDD unmounted)… finally connecting both SDD and HDD to the motherboard but booting from BIOS instead from GRUB (to avoid boot problems after say: reinstalling windows)? do you think this is possible? and even makes sense?

  1. there are a lot of recommended partitioning schemes out there but none of them made sense to me (too much insider talk and know how). i plan to seriously use and switch to opensuse even if my other family members keep using windows. i need to install opensuse and intel fortran compiler for my academic work as soon as possible. but i don’t want to make a random/unplanned installation. i would like to have solid opensuse setup with proper partitioning so -in case linux crashes or becomes corrupt (or even after an upgrade to say leap 16?) that i can keep my personal data and software still running even after a fresh reinstall/update of the OS.

in this case: what would be a smart partitioning of a 1 TB HDD drive exclusively for opensuse?

thank you for your patience & help :slight_smile:

al

I have a 500GB SSD M.2 (openSUSE), and a 500GB HDD (win10). I installed openSUSE on the SSD and changed the boot order in the bios to default to the SSD rather than HDD. Grub2 on the SSD recognizes the Win10 drive and I can just select it from the boot menu on the SSD if I want to boot up windows. Alternately, I can also select the HDD from the bios boot menu and bypass grub entirely. Either method works fine.

For partitioning, it’s up to you. I have a 50GB partition for / using BTRFS (some people recommend more) and EXT4 for /home. Prior to installing on my new laptop I used EXT4 for /.

First, before you decide to dual-boot, consider virtualization as an option, that’s my personal preference. Virtualization avoids the fragility of multi-booting, is versatile, and has a number of other benefits… like running both OS simultaneously (instead of one or the other), more and simpler backup options, more.

Also, there is an additional benefit… I see in the Forums numerous posts about how the AMD Ryzen may have problems, assuming that AMD pays more attention to working with MSWindows, you can avoid all those problems by running openSUSE in a Guest… until the problems are ironed out and then you can decide to stay as is or install openSUSE as a dual boot at that time.

As for your bootloading questions…

  1. It doesn’t make sense to avoid configuring chaining bootloaders, you can’t and shouldn’t avoid grub. Installed properly, both your Windows and your openSUSE should install almost automatically without issue (of course people someone find ways to make things go wrong). Start off with completely free space on both your disks and IMO you’ll have a better than even experience of installing without issue.

  2. Your questions about partitioning can be addressed easily in openSUSE…
    When your install proceeds to the screen about Disk Layout, you will be offered 3 options… Default, Guided Setup and Manual. Just choose one of the first two and not the third choice. The Default layout will look at your total available free space and automatically install 3 partitions (Swap, root, and home), sized appropriately for your available space. If you choose “Guided…” instead, then each screen you’ll see will be based on the Default layout but allow you to make any modifications… like size of partitions, format, whether /home should be deployed as a directory instead of partition (useful for those who don’t intend to log in and use User applications much) and more.

If you want to try out an install but break off the install, that’s OK… Just make sure that the disk is always completely Free Space with no partitions before you start an install.

You may also find the slide deck of a presentation I created for new openSUSE Users helpful,

https://slides.com/tonysu/opensuse/

HTH,
TSU

thank you very much @z2 and @tsu2 for your quick replies and advice!

i’m sure GRUB has more benefits to it besides the easy selection of which OS to boot with. hopefully i’ll find out about those benefits in the future, once i’m familiar with it and ready to become an advanced user. i will have to play around, install/uninstall, change settings etc… which brings me to the reason why i want to install both OS “without” GRUB. i’m pretty sure i will mess up opensuse or any other linux during this learning period (windows managed to do this on it’s own in older versions… we’ll see about windows 10). as i’m not familiar with linux (and GRUB) and as it did cause problems for me in the past with the only solution (for me the novice) of reinstalling both OS all over again, i want to avoid this situation by just changing the boot sequence manually each time, until i learn how to deal with it differently/efficiently.

as to virtualization: is there a certain virtualization software you would recommend? i once had virtual box installed in windows, but not for long, as i felt my PC was not capable of handling it. splitting the resources of the PC didn’t appeal to me, but i guess i don’t have to worry about insufficient RAM this time.

i think i will dive right into the installation process and see if it works or not. i’ll write about the result once i have a working PC again.

cheers and thank you again for your help!

You will need to install grub if you want to boot your linux installation. However, since it will be on a separate hard drive, you don’t need to worry about it interfering with the windows bootloader as each drive can have its own.

As for virtualization, Virtualbox is probably the most user friendly solution (and also free). Aside from that you can use Hyper-V if you have Win10 pro or VMware workstation player (not free as far as I’m aware). Alternately, if you want to use openSUSE as your base installation you can use virtualbox, KVM or Xen to run a windows guest, or you can go with VMware also, but again, not free. I’d recommend either Virtualbox or KVM as a virtualization solution on linux. VBox is probably easier to use, although KVM is not difficult to learn if you take the time.

yes, installing win10 and opensuse on separate HDD/SDD what gave me the idea of installing them without GRUB. What really freaked me out (and still does) is what happened to me years ago when i had both win and suse installed on the same HDD with GRUB. One day - as it usually happened back then with windows (xp and earlier) - something went wrong and i had a carrupt windows. i reinstalled windows but this time GRUB wasn’t booting.

i think i will give virtualbox a try. who knows, maybe later on i’ll run opensuse as the only OS and windows through vm. the idea is comforting.

You need grub to boot period.

There are two boot methods supported the old MBR boot ( probably what was on the old system you spoke of) and the newer EFI boot. On your past system most likely thing is the you had installed openSUSE with grub boot code in the MBR. there are options to install this code in the partition that contains /boot and install generic code in the MBR like Windows does. When you reinstalled Windows it did two things. First it reinstalled it’s generic code in the BR and over wrote the grub boot code if you had it there. Second it sets the boot flag to the Widows boot partition which would stop Linux from booting even if you had used generic code. Generic code always boots the partition with the boot flag. In the first case you would need to reinstall grub. Not real difficult but not exactly obvious. In the second you would need to simply change the boot flag which can be done from Windows.

Now there is EFI booting. It is really better and less prone, but not immune, to one OS interfering with another’s boot. It does not use the MBR area but requires a special small (300-500 meg) partition formatted FAT32 (EFI boot) on the boot drive (mounted as /boot/efi in Linux). This file systems holds the boot codes for each installed OS each in its own directory. There is also an entry in UEFI (AKA BIOS) flash memory that points to each installed OS and other boot devices… You can have the EFI boot partition on multiple drives. You set the default boot from the UEFI boot menu.

Note that all OS’s must use the same boot method for things to work right. IMPORTANT: You must start the installer using the method you want the OS you install to use (EFI or Legacy(MBR))

Note by default Windows uses what is known as Fast Boot this need to be turned off to chain from grub to Windows also you cant share the Windows partition if it is on. There also may be a Fast boot option in the UEFI best to turn that off also. With some UEFI secure boot can be a problem on install turn it off if so and be sure the Secure box is checked in the installer. Once installed you should be able to turn it back on if you really believe it does something useful.

Good luck :wink:

Aaaarrggghhhhh… not again GRUB! it’s killing me!
thanks @gogalthorp ! :slight_smile:

i really would like to hear your opinion on getting rid of grub: as the pc industry switched now to UEFI (which is a more advaced? version of the old bios) wouldn’t it be really nice that this new bios is capable of handling multiple OS without the need of grub?? i mean, why complicate when things could be much simpler??

again, thanks for your reply!

but i didn’t get as far as installing opensuse. as i wrote in another thread, after the installation begins, and on the screen after the green status bar finishes loading… the screen goes black with the message “mode not supported”. i tried a couple of times but always with the same result. i am not sure but can it have something to do with suse loading it’s own graphics driver? a compatibility issue?

when picking the motherboard i read somewhere that it might not be compatible with my graphic card. B450 Tomahawk supporting nvidia GT710 upwards. (i have a GT630). maybe it’s a motherboard-graphics card incompatibility.

I think you should be aware of the fact that:

  • everybody here uses Grub2 as boot manager, for single or multi boot (so do not expect to much advice about doing without Grub, there is no experience here);
  • the sequence is BIOS/UEFI > Grub > System, thus when you want to avoid the middle step (Grub) you must look at the possibilities of BIOS/UEFI, you seem to assume that UEFI gives you more features here;
  • there are many implementations of UEFI, thus you must look at the particular UEFI on your system to see if it can multi-boot by itself, thus allowing you to skip the Grub step (and I personaly doubt it can).

On a Windows “PC” there are 3 bootloader choices provided by Leap’s installer:

1-GRUB2
2-GRUB2 for EFI
3-Not Managed

If you choose #1, you have to change BIOS to boot in MBR/Legacy mode using Grub2, probably just like with your old PC, depending on which version Grub was when you tried it. When you do that, and Windows is installed in UEFI mode, then you can’t boot Windows until you go back into BIOS and change it back to UEFI mode, or reinstall Windows in MBR mode. I’ve heard Windows 10 doesn’t let you install in MBR mode on a UEFI PC. Either way is complicated to do for most people with most UEFI BIOS because every UEFI BIOS seems to be written by someone who never saw a BIOS menu before so has to start from scratch and makes different mistakes in logic and layout and description of options it provides.

If you choose #2, then you can boot either Windows or openSUSE any time from an easy to use menu provided by Grub2 for EFI booting.

If you choose #3, then you might not be able to boot anything. Maybe you can boot Windows. You won’t boot openSUSE unless you invent a way nobody else knows about yet, or you already installed some other distro that installed Grub2 already and is reconfigured to boot openSUSE as well.

The following is how I understand booting to go:

Booting anything, Windows or Linux, requires a bootloader to load a kernel and possibly another file to actually start running any OS. All the BIOS knows how to do that has to do with booting, whether Legacy/MBR or UEFI, is find a selected sector and load its small amount of machine code into RAM at a certain place. That code has to be bootloader code. The process that begins with loading that special sector is called booting. In openSUSE Linux, Grub2 is the only bootloader that can get the kernel and initrd loaded, and succeed to boot from a UEFI start.

UEFI is a more advanced “booting” system because it has more capable code to identify the right sector to load when there are multiple appropriate sectors to choose from, whether from multiple drives, USB devices, network servers, DVD drives, etc.

Well,
GRUB isn’t a “must,” the main alternative is LILO(It’s even an option in YaST bootloader module, haven’t investigated but expect it’s also an option in the standard Install), you can’t avoid using a bootloader and GRUB2 is highly recommended.

As for virtualization choices, Virtualbox and VMware Player are both free apps, and if MSWindows is your host and you have practically any version other than Home Edition, you can use Hyper-V.

TSU

Booted in UEFI mode, I copied

1-GRUB2
2-GRUB2 for EFI
3-Not Managed

from the openSUSE 15.0 installation media’s bootloader screen select list (except I added the numbers for posting clarity). There are no other choices there. So if UEFI is the BIOS’ booting configuration, how is some form of Grub2 not a must?

The kernel actually has a bootloader builtin, if it is called at the “efi stub”. I have not tried it, but I have heard of people directly defining UEFI boot entries that load the kernel.

The downside is that you have to put kernel and “initrd” into the EFI partition. And then you must remember to copy new kernel/“initrd” to the EFI partition after every kernel update.

Another alternative would be to mount the EFI partition at “/boot”, and then setup systemd-boot to boot the kernel (which is now already in the EFI partition because it is mounted at “/boot”). KaOS and Solus are two linux distros that use systemd-boot (if installed on a UEFI box). I don’t much like booting that way, and find the use of grub2-efi far more reliable and consistent between distros.

OK, but you won’t likely get that option from YaST any time soon.

The downside…
Methinks more than one. Keeping the UEFI BIOS straight about which kernel is current for TW, which is current for Leap, which is previous for TW, which is previous for Leap, then mix in another distro or three, and what to expect when a bad initrd is built or a kernel update comes along with an incompatible API change for the hardware, all sound like peachy ways to avoid boot success. Should thin down the herd of alpha testers, beta testers and bi-sectors too.

Just the thought of /boot on FAT makes me cringe even without the added complexity of multiboot.

hi there!

i’ve been away for some time, sorting things out… and finally got my pc working exactly the way i wanted it to.

spoiler: it is possible to install windows and linux (by the way i had to settle with ubuntu for compatibility reasons) into two separate HDD/SDD drives and selecting the boot order from the bios. one does not have to use grub as a bootloader for both operating systems (the grub screen that pops up and lets you choose which OS you want).

i simply

  1. installed linux on a separate hdd
  2. disconnected the hdd with linux on it
  3. connected the sdd…
  4. installed windows on sdd
  5. connected the hdd with linux

and voila! i can select from the bios which os to start. it does work!

thanks to everyone for your help.

If that works it’s easy to bypass entering bios. Enable os-prober and make linux the default uefi boots from. You get a nice Grub menu to select the OS:

openSUSE Tumbleweed

Tumbleweed /dev/sdb3

Xubuntu 18.04 /dev/sdb2

Fedora 29 /dev/nvme0n1p1