LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE
User Name
Password
SUSE / openSUSE This Forum is for the discussion of Suse Linux.

Notices


Reply
  Search this Thread
Old 08-03-2018, 09:08 AM   #1
guus4321
LQ Newbie
 
Registered: Aug 2018
Posts: 3

Rep: Reputation: Disabled
Upgrade Opensuse Leap 42.3 to 15.0 requires new "BIOS boot" partition


This is my first post here. I've solved the issue. Since other people may experience the same situation and the answer is not straightforward or easy to find I decided to post a message here.

Situation:
OpenSuse 42.3 installed. Using GPT partitioning. Three partitions exist: /dev/nvme0n1p1 (EFI, fat), /dev/nvme0n1p2 (/, ext4) and /dev/nvme0n1p3 (/home, ext4). An upgrade to 15.0 was performed using zypper (https://en.opensuse.org/SDB:System_upgrade). After the successful upgrade and a reboot the message "Welcome to grub" was shown on the screen permanently and nothing happens.

What turned out to be wrong:
For some reason OpenSuse 15.0 requires an extra (tiny) partition of type "BIOS boot".

This was how I did it (note that you may have to adjust device names for your situation):
Using a rescue DVD (actually I used a memory stick built using Rufus) I was able to shrink a partition. I have the feeling I did it in a complicated way (resize2fs to shrink an existing ext4 partition, then fdisk to resize the partition and add a new one with type "BIOS boot" (fdisk partition type 4, 21686148-6449-6E6F-744E-656564454649). The size of the new partition was 8M (yes, it is small). I won't give the exact commands since others have described partition shrinking better than I could. It is scary though and I'd recommend doing this only when you are pretty confident using Linux and when you are fully awake.
After creating a new "BIOS boot" partition I used the following commands to fill it (still using the rescue memory stick):
mount /dev/nvme0n1p2 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
grub2-mkconfig -o /boot/grub2/grub.cfg
...
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
done
grub2-install /dev/nvme0n1
Installing for i386-pc platform.
Installation finished. No error reported.
exit
umount /mnt/sys
umount /mnt/proc
umount /mnt/dev
umount /mnt
After that OpenSuse Leap 15.0 booted!

Notes:
If you get an error "grub2-install: error: will not proceed with blocklists." then there is something wrong with the "BIOS boot" partition you just created. Check eg its partition type.
Note that the tiny "BIOS boot" partition is not to be mounted.

I hope it helps somebody. Note that I wanted to post at Suse first but for some reason this failed.
Though I hope this is useful information for someone it is unlikely that I'll respond to questions. Due my angriness I already forgot my LinuxQuestions password.

Last edited by guus4321; 08-03-2018 at 04:16 PM.
 
Old 08-03-2018, 12:18 PM   #2
Sauerland
Member
 
Registered: Jul 2017
Distribution: openSUSE Leap
Posts: 195

Rep: Reputation: Disabled
I think, in your /etc/fstab is a wrong UUID for /......

Here the Update was going without problems.
No UEFI Partition, no seperate /boot only / , swap and /home and some subvolumes from btrfs.
 
Old 08-03-2018, 12:28 PM   #3
hazel
LQ Guru
 
Registered: Mar 2016
Location: Harrow, UK
Distribution: LFS, AntiX, Slackware
Posts: 7,587
Blog Entries: 19

Rep: Reputation: 4455Reputation: 4455Reputation: 4455Reputation: 4455Reputation: 4455Reputation: 4455Reputation: 4455Reputation: 4455Reputation: 4455Reputation: 4455Reputation: 4455
The "bios boot" partition is usually needed when a gpt disc is booted by a bios chip (though you say you think you are using mbr).

On an mbr disk, the GRUB boot (first stage) image goes in the mbr and the second stage in the space between the mbr and the first partition. On a gpt disk, that space doesn't exist; it's occupied by the enlarged partition table. So a small, unformatted "bios boot" partition is created for GRUB stage 2 to go into.
 
1 members found this post helpful.
Old 08-03-2018, 01:50 PM   #4
Sauerland
Member
 
Registered: Jul 2017
Distribution: openSUSE Leap
Posts: 195

Rep: Reputation: Disabled
Quote:
Originally Posted by hazel View Post
The "bios boot" partition is usually needed when a gpt disc is booted by a bios chip (though you say you think you are using mbr).

On an mbr disk, the GRUB boot (first stage) image goes in the mbr and the second stage in the space between the mbr and the first partition. On a gpt disk, that space doesn't exist; it's occupied by the enlarged partition table. So a small, unformatted "bios boot" partition is created for GRUB stage 2 to go into.
Than this Partition must be there also for Leap 42.3..........
 
Old 08-03-2018, 02:52 PM   #5
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,987

Rep: Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628
I appreciate the information. Just not sure I get it. Are you saying that you needed to create a partition "/BIOS boot"?

That phrase shows up in some unoffical docs..

"On a machine equipped with a traditional BIOS, only code from the first physical 512-byte data sector (the Master Boot Record, MBR) of the boot disk can be loaded. Only a minimal GRUB 2 fits into the MBR. Its sole purpose is to load a GRUB 2 core image containing file system drivers from the gap between the MBR and the first partition (MBR partition table) or from the BIOS boot partition (GPT partition table). This image contains file system drivers and therefore is able to access /boot located on the root file system. /boot contains additional modules for GRUB 2 core as well as the kernel and the initramfs image. Once it has access to this partition, GRUB 2 loads the kernel and the initramfs image into memory and hands control over to the kernel. "

https://susedoc.github.io/doc-sle/de.../single-html/#
 
Old 08-03-2018, 03:01 PM   #6
Sauerland
Member
 
Registered: Jul 2017
Distribution: openSUSE Leap
Posts: 195

Rep: Reputation: Disabled
But why should that be, if only the Repositories are changed?
 
Old 08-03-2018, 04:06 PM   #7
guus4321
LQ Newbie
 
Registered: Aug 2018
Posts: 3

Original Poster
Rep: Reputation: Disabled
Thank you all for the valuable input. I'll try to change my original message so the inconsistencies are gone.

Sauerland (12:18): No, in my case the UUID in /etc/fstab was fine. And I immediately believe that you and most users won't have the problems I had. If that were the case I would have googled and found the problem immediately.

hazel: I think you are correct. I have indeed a GPT disk. I think I was confused about BIOS vs UEFI really but stupidly wrote MBR (remember I was angry at that time). Your explanation sounds reasonable and probably describes the GRUB procedure pretty well.

Sauerland (1:50): Seems logical to me. For me this was not the case tough. I don't know why. Maybe an older GRUB version was installed which doesn't need the "bios boot" partition. I'm just guessing.

jeffro: No, I did not need a partition "/BIOS boot". I needed a small partition with type "BIOS boot". This partition is not mounted. Within fdisk you can see (using "p" in expert mode) or change (using "t") the partition type. I agree that I could have written this more clearly. I appreciate the extra information about GRUB.

Sauerland (3:01): I did a simple upgrade and I would have never expected a struggle like this to make my computer bootable again. That made me angry indeed. It took me more than a day, especially because I did not have a real clue. My breakthrough was that the original partitioning was not accepted at the moment I tried to perform a new install (some message about the system likely to be unbootable). Anyhow, the reason for posting was exactly this: if some poor soul has the same situation as I had my message may be helpful.
 
Old 08-03-2018, 04:11 PM   #8
Sauerland
Member
 
Registered: Jul 2017
Distribution: openSUSE Leap
Posts: 195

Rep: Reputation: Disabled
I have upgrade from Leap42.3 to Leap15.0 the same way, but no nvme drive, only ssd and harddisk.

No Problems here.
 
Old 08-03-2018, 04:38 PM   #9
guus4321
LQ Newbie
 
Registered: Aug 2018
Posts: 3

Original Poster
Rep: Reputation: Disabled
Double message (removed).

Last edited by guus4321; 08-03-2018 at 04:51 PM.
 
Old 08-03-2018, 08:02 PM   #10
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,987

Rep: Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628Reputation: 3628
Thanks for the extra information.
 
Old 08-03-2018, 09:19 PM   #11
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,354

Rep: Reputation: 1590Reputation: 1590Reputation: 1590Reputation: 1590Reputation: 1590Reputation: 1590Reputation: 1590Reputation: 1590Reputation: 1590Reputation: 1590Reputation: 1590
If your installation did not need a bios boot partition originally and after the upgrade you did need the bios boot partition, something went wrong somewhere. Either you went from originally booting in uefi mode before the upgrade to booting in cms/legacy mode after the upgrade, or somewhere during the upgrade you drive was converted from a msdos partition table to a GPT partition table. My guess would be that your partition table was changed from msdos to gpt since everything is working like it was after adding the biosboot partition. At least you figured out how to get it booting again. If everything works the way you want it just leave it as is.
 
Old 07-15-2020, 05:17 PM   #12
terryxela
Member
 
Registered: Dec 2006
Location: Denver, Colorado, USA
Distribution: SuSE 11.3
Posts: 127

Rep: Reputation: 17
Thumbs up Need for a BIOS boot partition

Quote:
Originally Posted by hazel View Post
The "bios boot" partition is usually needed when a gpt disc is booted by a bios chip (though you say you think you are using mbr).

On an mbr disk, the GRUB boot (first stage) image goes in the mbr and the second stage in the space between the mbr and the first partition. On a gpt disk, that space doesn't exist; it's occupied by the enlarged partition table. So a small, unformatted "bios boot" partition is created for GRUB stage 2 to go into.
Hazel,

You are GOLD!!. Thank you. I work for some time without been able to install Leap 15.2. Your tip did it. I just created a additional 350MB BIOS boot partition.

sdb1 350MB BIOS boot partition unformatted, unmounted
sdb2 20GB /boot Ext4, mounted
sdb3 3 TB for LVM unformatted

Hazel THXS

-=terry=-
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: openSUSE Leap 42.2 is out, how to upgrade safely from openSUSE Leap 42.1 LXer Syndicated Linux News 0 11-17-2016 07:18 AM
opensuse Leap apache2 postfix dovecot install fails "no server certificate installed" alavarre Linux - Server 1 05-13-2016 05:54 AM
Skip "Installation Method" and "Select Partition" screens using boot options tclappsdba Linux - Newbie 1 11-26-2010 05:31 AM
WARNING message on boot "requires no more than 16384MB RAM " ericdryden Linux - Server 1 07-01-2008 07:45 PM
"invalid partition table" that was the bios messege after dual booting with windows suppie Linux - General 2 01-20-2006 05:41 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE

All times are GMT -5. The time now is 06:58 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration