Dual-booting OpenSuse Tumbleweed on a gpt nmve-drive with Ubuntu 16.04. Unfortunately, when I installed Tumbleweed alongside the already existing UEFI-booting Ubuntu-system, I didn’t select the UEFI boot-option for the installation OpenSuse DVD. Thus, I seem to have wound-up with an install suitable for an MBR-drive. This is not what I want
Here’s the current set-up:
azed@azed-H270N:~$ sudo fdisk -l
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: CFB16A8E-384A-4AD4-B14B-62F840FB7E73
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1026047 1024000 500M EFI System
/dev/nvme0n1p2 1026048 158722047 157696000 75.2G Microsoft basic data
/dev/nvme0n1p3 158722048 183298047 24576000 11.7G Linux swap
/dev/nvme0n1p4 183298048 235724799 52426752 25G Linux filesystem
/dev/nvme0n1p5 235724800 342421503 106696704 50.9G Linux filesystem
/dev/nvme0n1p6 342421504 342441983 20480 10M BIOS boot
/dev/nvme0n1p7 342441984 405512191 63070208 30.1G Linux filesystem
/dev/nvme0n1p8 405512192 500117503 94605312 45.1G Linux filesystem
azed@azed-H270N:~$
p1 is the pre-existing EFI-partition I created when installing Ubuntu. p2 is an ntfs-partition (no Windows). The Ubuntu system is on p4-5. The OpenSuse sys is on p7-8
The system boots OK: I can get into both Xenial and Tumbleweed (albeit with “nomodeset” as a BIOS-option, in the case of the latter), but I don’t like this “hybrid-boot” dog’s breakfast
Question: How do I re-install the OpenSuse system as an EFI-booting system appropriate for my GPT drive?
First thoughts:
I have no option in my computer’s BIOS settings for switching between MBR- and EFI-boots. Thus I am going to have to alter the software on my system. I don’t want to do anything that is not revertible, perhaps via a chroot
My current understanding of the boot-process is this. When Grub2 was installed on my system a small piece of code - call it “grub 1.0” - was inserted amongst the first 446 bytes of the MBR at the head of my drive. A “flag”, indicating the “active” partition, may also have been planted in the partition table stored in the next 64 bytes of the MBR. At boot, "grub 1.0 is “read” by my computer, as its first move. The function of this code, its only function, is to point the computer to the active partition - in my case p6 (?) - where the main part of grub - call it grub 2.0 - is located. This grub 2.0 then loads into the computer’s memory and takes over the rest of the boot. The point is that this set-up effectively bypasses the EFI-system set-up on my computer.
Is this basically correct?
If it is, will it be sufficient for me to uninstall grub in OpenSuse, say with:
sudo zypper -remove grub* (whatever)
Will this remove the grub 1.0 boot-loader from the MBR / remove the “flag” in the MBR partition-table, and allow the EFI-system to take back control of the boot?
Or will I have to overwrite the bootloader in the (backed-up) MBR with zeros, say with:
dd if=/dev/zero of=/dev/sda bs=446 count=1
Once the EFI-system is back in control of the boot (so I can get into Ubuntu), I can blank the OpenSuse partitions and re-install as UEFI. I don’t want to be “locked out” of my Ubuntu system
That’s my current thinking anyway. Comments / suggestions welcome
I can’t be the only person who has messed-up his Tumbleweed install in this way. All help gratefully received