I have hung off on upgrading from 42.1 because of all the issues I had when I installed it but circumstances led me to bite the bullet and upgrade. I also wanted to update my windows 10 install on my dual boot. Windows 10 hadn’t updated in 18 months, but that is a different story.
I tried to do an upgrade of openSUSE from 42.1 to 42.3 and while it seemed to work grub didn’t, managed to get access but no Windows log in.
I have three HDs. 1 which was C and D, one which was openSUSE 42.1 and one which was completely NTFS as storage.
I deleted my C partition and all partitions on the openeSUSE drive, installed windows in EFI and let the installer do its thing into what used to be C. Windows installed and apparently OK. I then installed 42.3 and let the installer do its thing on the complete hard drive. Both installers set up different EFI partitions on each drive. 42.3 started as part of the install and apart from an issue with doubling up on icons seemed ok. I did an update and a reboot - straight into Windows, no menu, no choices. Checking bios and choosing opensuse secure boot did nothing. I have tried super grub 2 but can still cannot access 42.3.
If I could get it started at least I could try and see what is going on, but nothing I have tried will allow me access to 42.3. Fast boot is off.
Any ideas as to how to fix this would be gratefully received.
It might help if you can provide the output from:
parted -l
efibootmgr -v
Use code blocks around the output.
You should be able to boot into your install media in rescue mode, to run those commands.
If I were in your circumstances, I would first mount a Windows partition to “/mnt”.
And then:
cd /mnt
script
parted -l
efibootmgr -v
exit
Then, when you reboot into Windows, there should be a file named “typescript” in the partition that you mounted. And it will have the command output for posting.
Script started on Wed Nov 22 17:41:38 2017
1m31mrescue:/mnt #0;10m parted -l
Model: ATA HGST HTS541010A9 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1000GB 1000GB ntfs
Model: ATA WDC WD10EZEX-00K (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary ntfs boot, type=07
2 525MB 105GB 104GB primary ntfs type=07
3 105GB 1000GB 895GB primary ntfs type=07
Model: ATA WDC WD10EZEX-00B (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1000GB 1000GB extended lba, type=0f
5 2097kB 165MB 163MB logical fat16 boot, type=83
6 166MB 2319MB 2154MB logical linux-swap(v1) type=82
7 2320MB 45.3GB 43.0GB logical btrfs type=83
8 45.3GB 1000GB 955GB logical xfs type=83
and
1m31mrescue:/mnt #0;10m efibootmgr -v
BootCurrent: 0005
Timeout: 1 seconds
BootOrder: 0000,0005,0002,0004,0003
Boot0000* opensuse-secureboot HD(5,MBR,0x31a09,0x0,0x0)/File(\EFI\opensuse\shim.efi)
Boot0002* CD/DVD Drive BBS(CDROM,,0x0)AMGOAMNO........o.A.T.A.P.I. . . .i.H.A.S.3.2.4. . . .B....................A...........................>..Gd-.;.A..MQ..L.5.3.4.2.1.2. .9.6.2.1.8.8.4.0.5.5.0.6.3......AMBO
Boot0003 USB BBS(USB,,0x0)AMGOAMNO........w.M.u.l.t.i. .F.l.a.s.h. .R.e.a.d.e.r. .1...0.0....................A.............................D..Gd-.;.A..MQ..L.M.u.l.t.i. .F.l.a.s.h. .R.e.a.d.e.r. .1...0.0......AMBOAMNO........u.S.a.n.D.i.s.k. .C.r.u.z.e.r. .B.l.a.d.e. .1...2.6....................A.......................H..Gd-.;.A..MQ..L.S.a.n.D.i.s.k. .C.r.u.z.e.r. .B.l.a.d.e. .1...2.6......AMBO
Boot0004* Hard Drive BBS(HD,,0x0)AMGOAMNO........o.W.D.C. .W.D.1.0.E.Z.E.X.-.0.0.K.U.W.A.0....................A...........................>..Gd-.;.A..MQ..L. . . . .W. .-.D.C.W.1.C.5.S.6.4.2.4.3.8......AMBOAMNO........o.W.D.C. .W.D.1.0.E.Z.E.X.-.0.0.B.N.5.A.0....................A...........................>..Gd-.;.A..MQ..L. . . . .W. .-.D.C.W.3.C.E.F.K.P.5.A.C.N......AMBOAMNO........o.H.G.S.T. .H.T.S.5.4.1.0.1.0.A.9.E.6.8.0....................A...........................>..Gd-.;.A..MQ..L. . . . . . .D.J.0.1.8.0.C.C.A.0.6.K.V.R......AMBO
Boot0005* UEFI: SanDisk Cruzer Blade 1.26 PciRoot(0x0)/Pci(0x14,0x0)/USB(4,0)/HD(1,MBR,0x1b681c50,0x107c,0x1e84)AMBO
That looks weird.
There is no EFI partition shown on your hard drives. Yet “efibootmgr -v” shows a boot entry for “opensuse-secureboot” which would have to be in an EFI partition.
Is it possible that the EFI partition for booting openSUSE is actually on that Sandisk Cruzer USB? Can you boot openSUSE if that is plugged in?
I hadn’t thought of that but tried it and yes I can, I am now logged in here from 42.3. Interestingly when I F11’d on boot there were 2 entries for the Sandisk (which is what my 42.3 installation media is on) one for Sandisk UEFI and one without UEFI. The one with booted me straight into Windows the other got me here. A little strange, the installer did a bang up job of sticking the partition here.
If you can create an EFI partition somewhere, and mount it as “/boot/efi” (with an appropriate entry in “/etc/fstab”), then you can probably reinstall grub2 to boot from the hard drive.
The difficulty, though, is that your hard drives are mostly traditional MBR partitioned, where the EFI partition really needs to be on a GPT partitioned disk. Your first hard drive is GPT partitioned. But it seems to be totally in use, with no free space to add an EFI partition.
So I don’t really have a good suggestion.
If Windows is using Legacy booting (as it seems to be), then maybe you should just edit “/etc/fstab” to no longer mount the EFI partition (just comment out that line). Then use Yast bootloader to switch to “grub2” for booting (instead of “grub2-efi”). You will have to be careful to set the BIOS disk order, so that the MBR for the appropriate disk is used.
Or just keep it the way it is, and plug in that USB when you want to boot 42.3.
So, it is a bit of a dog’s breakfast. I really need to get this resolved once and for all as I am going to have the same issues the next time I update.
As the Windows and openSUSE installs were both clean installs I am thinking to nuke sdb and sdc, reformat them as gpt and start again. If the drives are gpt and I allow Windows then openSUSE to install as efi correctly it should fixed the issue in the correct way.
Can it be as straightforward as that or are there potholes I should be aware of?
That should do it and yes best to straighten it out now
I think that I am going around it circles with this. I did as I said above and windows installed. Installed 42.3 and it went OK, re boot and only 42.3 on boot menu. When I did an fdisk I got the following:
fdisk -l
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x2c83e135
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 1026047 1024000 500M 7 HPFS/NTFS/exFAT
/dev/sdb2 1026048 1953521663 1952495616 931G 7 HPFS/NTFS/exFAT
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: B144976C-3784-4B3F-9075-FC412557400A
Device Start End Sectors Size Type
/dev/sda1 2048 1953523711 1953521664 931.5G Microsoft basic data
Disk /dev/sdc: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 20A4D55C-F39D-4809-9E7A-F8830A35E827
Device Start End Sectors Size Type
/dev/sdc1 2048 321535 319488 156M EFI System
/dev/sdc2 321536 4530175 4208640 2G Microsoft basic data
/dev/sdc3 4530176 88422399 83892224 40G Microsoft basic data
/dev/sdc4 88422400 1953523711 1865101312 889.4G Microsoft basic data
sdb is where windows is installed, sdc for openSUSE. I am not convinced that Windows set up and loaded itself into UEFI, even thought I changed both drives to gpt. That being the case, I still have a mixed system and grub2 cannot find windows.
When I did a parted -l I got this for sdb (windows)
parted -l
Model: ATA HGST HTS541010A9 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1000GB 1000GB ntfs
Warning: /dev/sdb contains GPT signatures, indicating that it has a GPT table.
However, it does not have a valid fake msdos partition table, as it should.
Perhaps it was corrupted -- possibly by a program that doesn't understand GPT
partition tables. Or perhaps you deleted the GPT table, and are now using an
msdos partition table. Is this a GPT partition table?
Yes/No? y
Model: ATA WDC WD10EZEX-00K (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: pmbr_boot
Number Start End Size File system Name Flags
Model: ATA WDC WD10EZEX-00B (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 165MB 164MB fat16 primary boot
2 165MB 2319MB 2155MB linux-swap(v1) primary
3 2319MB 45.3GB 43.0GB btrfs primary
4 45.3GB 1000GB 955GB xfs primary
Given that I am guessing that something went horribly wrong with the windows install, if so how to fix it? . I am happy to repeat the whole process, again, but any ideas what may have cause this and what I can do to ensure it doesn’t happen again?
Just to round out what I did last time this is what I got for efibootmgr -v
efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0002,0004,0003
Boot0000* opensuse-secureboot HD(1,GPT,db4f71a5-ff8f-4eea-a36e-779d83990822,0x800,0x4e000)/File(\EFI\opensuse\shim.efi)
Boot0002* CD/DVD Drive BBS(CDROM,,0x0)AMGOAMNO........o.A.T.A.P.I. . . .i.H.A.S.3.2.4. . . .B....................A...........................>..Gd-.;.A..MQ..L.5.3.4.2.1.2. .9.6.2.1.8.8.4.0.5.5.0.6.3......AMBO
Boot0003 USB BBS(USB,,0x0)AMGOAMNO........w.M.u.l.t.i. .F.l.a.s.h. .R.e.a.d.e.r. .1...0.0....................A.............................D..Gd-.;.A..MQ..L.M.u.l.t.i. .F.l.a.s.h. .R.e.a.d.e.r. .1...0.0......AMBOAMNO........m.W.D. .E.l.e.m.e.n.t.s. .1.0.2.3. .2.0.0.5....................A.......................@..Gd-.;.A..MQ..L.W.D. .E.l.e.m.e.n.t.s. .1.0.2.3. .2.0.0.5......AMBO
Boot0004* Hard Drive BBS(HD,,0x0)AMGOAMNO........o.W.D.C. .W.D.1.0.E.Z.E.X.-.0.0.K.U.W.A.0....................A...........................>..Gd-.;.A..MQ..L. . . . .W. .-.D.C.W.1.C.5.S.6.4.2.4.3.8......AMBOAMNO........o.W.D.C. .W.D.1.0.E.Z.E.X.-.0.0.B.N.5.A.0....................A...........................>..Gd-.;.A..MQ..L. . . . .W. .-.D.C.W.3.C.E.F.K.P.5.A.C.N......AMBOAMNO........o.H.G.S.T. .H.T.S.5.4.1.0.1.0.A.9.E.6.8.0....................A...........................>..Gd-.;.A..MQ..L. . . . . . .D.J.0.1.8.0.C.C.A.0.6.K.V.R......AMBO
Look in /boot/efi and see if there is a directory for MS boot
Yes there is.
But, I think that I figured out my mistake with Windows install, I didn’t realise that on booting (to do a MS install) one has to F11 and then specifically choose to boot the install media in UEFI mode - ie there is 2 entries, 1 UEFI and one not. Once I realised that I redid the MS install and it seemed to go as advertised. Still no MS boot prompt on start up.
Must do the same with openSUSE boot installer in EFI mode
Also be sure that fast boot is off in Windows it makes the Windows partitions unmountable in Linux
The Windows log in appeared on the Grub menu on reboot, but 42.3 wouldn’t boot so I did yet another clean install, I made sure that I booted the install media into UEFI and install went OK. Now I still don’t have a Windows boot entry, and it has disappeared from /boot/efi as well.