[Bug 1182957] New: grub2-install fails to install on NVME SSD with GPT (no EFI)
http://bugzilla.opensuse.org/show_bug.cgi?id=1182957 Bug ID: 1182957 Summary: grub2-install fails to install on NVME SSD with GPT (no EFI) Classification: openSUSE Product: openSUSE Distribution Version: Leap 15.2 Hardware: x86-64 OS: openSUSE Leap 15.2 Status: NEW Severity: Major Priority: P5 - None Component: Bootloader Assignee: screening-team-bugs@suse.de Reporter: werner@suse.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Created attachment 846693 --> http://bugzilla.opensuse.org/attachment.cgi?id=846693&action=edit output of `grub2-install -vvvv /dev/nvme0n1` This is what I see tux:~ # grep -A1 warning: log grub2-install: warning: not a newc filesystem. grub-core/kern/fs.c:57: Detecting hostfs... -- grub2-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. grub2-install: error: will not proceed with blocklists. with the layout tux:~ # parted -l Model: ATA ST2000LM003 HN-M (scsi) Disk /dev/sda: 2000GB Sector size (logical/physical): 512B/4096B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 2000GB 2000GB extended lba, type=0f 5 2097kB 1100GB 1100GB logical xfs type=83 6 1100GB 1207GB 107GB logical xfs type=83 7 1207GB 1422GB 215GB logical xfs type=83 8 1422GB 2000GB 579GB logical xfs type=83 Model: NVMe Device (nvme) Disk /dev/nvme0n1: 128GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 8591MB 8590MB linux-swap(v1) swap swap 2 8591MB 19.3GB 10.7GB ext3 boot legacy_boot 3 19.3GB 128GB 109GB xfs root -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1182957 http://bugzilla.opensuse.org/show_bug.cgi?id=1182957#c1 --- Comment #1 from Dr. Werner Fink <werner@suse.com> --- Created attachment 846694 --> http://bugzilla.opensuse.org/attachment.cgi?id=846694&action=edit It works with `grub2-install -vvvv /dev/sda` As this happens since last update but without updating any grub package this could be a race in the code of gru(2)-install as there is no need to scan the major device /dev/nvme0n1 as the partition /dev/nvme0n1p2 for /boot was already foound AFAICS from the previous attachment -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1182957 Dr. Werner Fink <werner@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |arvidjaar@gmail.com, | |mchang@suse.com, | |rw@suse.com Assignee|screening-team-bugs@suse.de |mchang@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1182957 http://bugzilla.opensuse.org/show_bug.cgi?id=1182957#c2 --- Comment #2 from Andrei Borzenkov <arvidjaar@gmail.com> --- (In reply to Dr. Werner Fink from comment #0)
Created attachment 846693 [details] output of `grub2-install -vvvv /dev/nvme0n1`
...
grub2-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. grub2-install: error: will not proceed with blocklists.
...
Model: NVMe Device (nvme) Disk /dev/nvme0n1: 128GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags:
Number Start End Size File system Name Flags 1 1049kB 8591MB 8590MB linux-swap(v1) swap swap 2 8591MB 19.3GB 10.7GB ext3 boot legacy_boot 3 19.3GB 128GB 109GB xfs root
The error is correct. To install in "MBR" on GPT disk grub needs bios_boot partition which is missing. Or you force installation using blocklists on /boot partition. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1182957 http://bugzilla.opensuse.org/show_bug.cgi?id=1182957#c3 --- Comment #3 from Dr. Werner Fink <werner@suse.com> --- (In reply to Andrei Borzenkov from comment #2)
(In reply to Dr. Werner Fink from comment #0)
The error is correct. To install in "MBR" on GPT disk grub needs bios_boot partition which is missing. Or you force installation using blocklists on /boot partition.
Hmmm ... I wonder why this happens now and after a normal update which had triggered dracut/mkinitrd due new nvidia kernel modules. I had not get any error message back but at boot I see a standing GRUB as the BUIOS boots by setup from the NVME SSD ... after using the 15.2 DVD to boot the kernel from the NVME SSD I was able to install the grub image in the rotating disk and as with F7 or F2 -> setup in the BIOS I can boot with the step from the MBR of the rotating disk to the MVME partition for /boot -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1182957 http://bugzilla.opensuse.org/show_bug.cgi?id=1182957#c4 --- Comment #4 from Dr. Werner Fink <werner@suse.com> --- I've have shrink /boot round about 1MB and inserted a clean partition with 1MB size with the boot_grub flag. Now I can run grub2-install -vvvv /dev/nvme0n1 and indeed after enabling the SSD in BIOS it boot flawless ... now I've looked into the YaST2 logs and found that it uses --force with grub2-install and does not check the warning nor error messages from grub2-install to warn the user. This NVME SSD M2 disk was a replacment for a broken non-NVME SSD M2, that is I had done this in the rescue mode without knowing about the need of having a small boot_grub partition for the (standard) GPT. Otherwise I had choosen MBR/DOS. Feel free to reasign this to the YaST team -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1182957 http://bugzilla.opensuse.org/show_bug.cgi?id=1182957#c5 Michael Chang <mchang@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FEATURE --- Comment #5 from Michael Chang <mchang@suse.com> --- (In reply to Dr. Werner Fink from comment #4)
I've have shrink /boot round about 1MB and inserted a clean partition with 1MB size with the boot_grub flag. Now I can run
grub2-install -vvvv /dev/nvme0n1
and indeed after enabling the SSD in BIOS it boot flawless ... now I've looked into the YaST2 logs and found that it uses --force with grub2-install and does not check the warning nor error messages from grub2-install to warn the user.
This NVME SSD M2 disk was a replacment for a broken non-NVME SSD M2, that is I had done this in the rescue mode without knowing about the need of having a small boot_grub partition for the (standard) GPT. Otherwise I had choosen MBR/DOS.
Feel free to reasign this to the YaST team
Thanks Andrei for pointing this out, and also Werner to verify the solution really works. About the --force flag, it is required to proceed with block list installation. As long as we have to support installation into partition boot record, ripping it off unconditionally will make the scenario to fail. And I think it is a bit weird to warn user about, for eg, you are going to install to extX partition but it is unreliable ... We have been support that for years, maybe lilo, grub 0.96 and on ... Therefore I close this as resolved feature. Hope this helps. Thanks. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com