Bug 805755

Summary: openSUSE fail to install in UEFI system with a previous Win7
Product: [openSUSE] openSUSE 12.3 Reporter: Alberto Planas Dominguez <aplanas>
Component: YaST2Assignee: Michael Chang <mchang>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Critical    
Priority: P5 - None CC: aschnell, bjoernv, mlin, snwint
Version: RC 1   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: YaST log file
YaST2 log file

Description Alberto Planas Dominguez 2013-02-25 13:14:42 UTC
Created attachment 526487 [details]
YaST log file

I installed Windows & in a UEFI system. I created a USB stick with openSUSE-12.3-NET-x86_64-Build0087-Media.iso in it, booted the Linux system and start a new installation.

YaST resize correctly the Windows partition and do not try to delete the EFI partition (bcn#802359), but when it reboot to continue the installation process, the Windows partition is loaded.

I can't find a new entry for openSUSE in the BIOS/UEFI Boot units, but we can use GRUB2 to load the half installed system to continue the installation process, using linuxefi and initrdefi.

After the installation process finished, I update the system and in the new reboot, I can only see a Windows Boot Manager in the BIOS/UEFI Boot Menu, but no entry for openSUSE.

Attached the result for save_y2log.
Comment 1 Arvin Schnell 2013-02-25 13:34:06 UTC
From the description this sounds more like a bootloader than a partitioner
problem.
Comment 2 Alberto Planas Dominguez 2013-02-25 15:42:32 UTC
Created attachment 526526 [details]
YaST2 log file
Comment 3 Michael Chang 2013-02-26 04:12:01 UTC
Welcome joining to the uefi bandwagon.

http://mjg59.dreamwidth.org/20187.html
Comment 4 Michael Chang 2013-02-26 04:33:30 UTC
Per your y2log, 'opensuse' (Boot0019) entry was successfully adding to your uefi boot manager (compared by the before & after uefibootmgr was invoked).

Somehow after rebooting the opensuse entry was erased.

2013-02-25 10:32:51 <1> d123.suse.de(20758) [pbl] yast-9214.1 Core::RunCommand.1641: run /usr/sbin/grub2-install --target=x86_64-efi >/var/log/YaST2/y2log_bootloader 2>&1 - ret 0 + output: BootCurrent: 000D
Timeout: 0 seconds
BootOrder: 0018,0000,0001,0002,0003,0007,0008,0009,000A,000B,000C,000D,000E,000F,0010,0011,0012
Boot0000  Setup
Boot0001  Boot Menu
Boot0002  Diagnostic Splash Screen
Boot0003  Lenovo Diagnostics
Boot0004  Startup Interrupt Menu
Boot0005  ME Configuration Menu
Boot0006  Rescue and Recovery
Boot0007* USB CD
Boot0008* USB FDD
Boot0009* ATAPI CD0
Boot000A* ATA HDD0
Boot000B* ATA HDD1
Boot000C* ATA HDD2
Boot000D* USB HDD
Boot000E* PCI LAN
Boot000F* ATAPI CD1
Boot0010  Other CD
Boot0011* ATA HDD3
Boot0012  Other HDD
Boot0013* IDER BOOT CDROM
Boot0014* IDER BOOT Floppy
Boot0015* ATA HDD
Boot0016* ATAPI CD:
Boot0017* PCI LAN
Boot0018* Windows Boot Manager
BootCurrent: 000D 
Timeout: 0 seconds
BootOrder: 0019,0018,0000,0001,0002,0003,0007,0008,0009,000A,000B,000C,000D,000E,000F,0010,0011,0012
Boot0000  Setup
Boot0001  Boot Menu 
Boot0002  Diagnostic Splash Screen
Boot0003  Lenovo Diagnostics
Boot0004  Startup Interrupt Menu 
Boot0005  ME Configuration Menu 
Boot0006  Rescue and Recovery
Boot0007* USB CD
Boot0008* USB FDD
Boot0009* ATAPI CD0
Boot000A* ATA HDD0
Boot000B* ATA HDD1
Boot000C* ATA HDD2
Boot000D* USB HDD
Boot000E* PCI LAN
Boot000F* ATAPI CD1
Boot0010  Other CD
Boot0011* ATA HDD3
Boot0012  Other HDD
Boot0013* IDER BOOT CDROM
Boot0014* IDER BOOT Floppy
Boot0015* ATA HDD
Boot0016* ATAPI CD:
Boot0017* PCI LAN
Boot0018* Windows Boot Manager
Boot0019* opensuse
Installation finished. No error reported.
Comment 5 Michael Chang 2013-02-26 06:34:56 UTC
Hi Alberto,

Can you boot with live cd on the already installed system and run efibootmgr to see the newly added boot entry can be recorded to uefi firmware ?

(assuming ESP is /dev/sda1 and bootloader installed to \EFI\opensuse\grubx64.efi, this is important because firmware would delete any entry if the path points to nothing)

1. $ efibootmgr -v > 1.log 2>&1 
2. $ efibootmgr -v -d /dev/sda -p 1 -cL "opensuse" -l "\\EFI\\opensuse\\grubx64.efi" > 2.log 2>&1
3. $ efibootmgr -v > 3.log 2>&1
4. $ reboot 
5. Check your uefi boot manager.

It should work if your firmware is sane, otherwise paste the log here (Just to make sure no oops in the process) and it may be the firmware side's issue.
Comment 6 Michael Chang 2013-02-26 06:37:10 UTC
Btw, better identify us the hardware you're testing. Thanks.
Comment 7 Alberto Planas Dominguez 2013-02-26 07:29:46 UTC
(In reply to comment #6)
> Btw, better identify us the hardware you're testing. Thanks.

Lenovo ThinkPad X230
Comment 8 Alberto Planas Dominguez 2013-02-26 12:08:08 UTC
I updated the firmware and use via linuxrc DUD this:

yast2-storage 2.23.6
perl-Bootloader-0.708-94.1.x86_64.rpm
yast2-bootloader-2.23.11-2.1.x86_64.rpm

... and ... works!!!!

\EFI\opensuse\grubx64.efi is present ... do not try to resize the EFI partition
... and the entry Boot19 (opensuse) is created in the boot menu firmware, and
is the default one. Brilliant, Michael Chang!!
Comment 9 Michael Chang 2013-04-26 09:57:14 UTC
according to comment above, set to resolved fixed. thanks