Sorry if this question has an answer somewhere. I tried google and the search function in the forums but couldn’t find a satisfying answer to my question, which is the following one:
What do I have to do in order to install SUSE 12.2 on an UEFI system using a usb-stick as installation medium?
What I did so far is to use “linux live usb creator” to create a bootable usb-stick from the 4.7 GB install DVD.
Doing so “linux live usb creator” stated that it could not recognize the version of SUSE and is trying to use parameters which worked with an older version of SUSE.
I guess this might be a problem (if it is not THE problem), could anyone point me into the right direction which tool to use to create a bootable usb-stick for SUSE 12.2?
On this page: SDB:Live USB Stick – openSUSE (german) there is guide how to create a bootable usb-stick, but it uses the live cd and as far as I know the live cd does not support UEFI. Nevertheless I will try the described procedure with an install DVD image and see if that works out. I will report back.
Meanwhile, can someone point me into the right direction?
I did find the above mentioned article (in german) in english language. It contains some more information: SDB:Live USB stick - openSUSE (english).
On that page I followed instructions 3.3 to create a bootable usb image from a install DVD and instructions 1.2 to create a bootable usb-stick with the modified image from instruction 3.3.
Next step is to try the usb-stick.
So I followed the steps I described … not really hard, since most things were done and I just did have to install.
… just …
I installed Ubuntu with UEFI support (or how you would call it) before trying SUSE. And knowing not much about UEFI proved to be of no help After installing Ubuntu with UEFI support the least thing I know is that I should boot the USB-stick using UEFi to install an operating system for a UEFI system. That was the first problem. There was no such boot option to boot the USB-stick with the openSUSE 12.2 DVD image in UEFI mode.
So I thought I’d be clever enough to use legacy mode and fix everything from a live CD.
Installing SUSE was very comfortable AND I also could import my mount points from my Ubuntu install so that the UEFI-partition was already detected and used by the installer plus GRUB2 was installed (GRUB2 is capable of handling UEFI stuff right?).
After the installation process completed I was hopeful to boot my system without problems, but no.
I am writing this from SUSE live CD since I can’t boot nothing but my USB (I have a Windows 7 along side).
It’s late and I haven’t tried fixing the boot stuff, this is scheduled for tomorrow evening, but I am afraid this won’t be a short walk, since I am not an expert with EFI-Stuff. So:
Any advice or hint you can provide is very much appreciated.
So far from my undertaking of installing openSUSE on an UEFI system using a bootable USB-stick.
P.S. I don’t have a DVD-ROM, otherwise I would use it
To boot from removable device in UEFI device must be FAT or ISO9660 and have \EFI\Boot\bootx{32,64}.efi file which is the bootloader. File gets executed and this completes boot process as far as firmware is concerned.
I am writing this from SUSE live CD since I can’t boot nothing but my USB (I have a Windows 7 along side).
This is mostly anecdotal, but on my mainboard bios I had the option of picking either UEFI or AHCI for the usb stick installation. It often didn’t work to boot it with UEFI
Right you are. The USB-stick is formated using FAT32 I can’t tell if the file bootx64.efi is in the proper position right now, but I will check once I get back home from work.
I am not sure if I am facing the same problem. Installing Windows in UEFI worked for me after adding the correct file to the Windows installer USB-Stick (in fact the file you mentioned: bootx64.efi). My harddisk is partitioned using GPT layout. Further the installer did not ask me to format the EFI partition but associated (imported from my earlier ubuntu) a mount point for the EFI partition at /boot/efi. The only file system the installer wanted to format was “/”.
I will do that when I am back home from work.
So here’s the situation:
a) When I boot my computer and do nothing grub tries to load and states: error: file /boot/grub/x86_64-efi/normal.mod not found.
b) When I select my first hard drive to boot from an error is displayed but too short to read and the USB-stick is booted.
c) All other entries lead to the error message described in a)
The entries which i can select from in the UEFI boot menu are like this (this listing is out of my memory so maybe I am missing something, but I will check it when I am back home):
WDCXXX (first harddrive)
Windows
USB Jetflash …
Ubuntu
Thanks for your input. I will provide the data from “parted /dev/sdXXX print” when I am back home.
Model: ATA WDC WD1002FAEX-0 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 106MB 105MB fat32 EFI system partition boot
2 106MB 240MB 134MB Microsoft reserved partition msftres
3 240MB 315GB 314GB ntfs Basic data partition
4 315GB 315GB 99.6MB fat32 boot
5 315GB 331GB 16.0GB linux-swap(v1)
6 331GB 1000GB 670GB ext4
Partition 4 is relict of my first tries with EFI. I thought that each operating system would need their very own EFI partition. The partition is not used by SUSE, at least as far as I can tell. I did specify sda1 for EFI during installation.
Since I booted the USB-stick non-EFI, may be there is just a wrong bootloader installed. Partitions were created with my former Ubuntu (UEFI) install which worked. No changes were made during SUSE install at least I did not order any and the installation overview did not show any.
Let’s come to the question what does happen if I unplug the USB-boot-media:
The error stays there for ever/longer The error looks like the following:
Error No active partition
Reboot and Select proper Boot device or Inser Boot Media in selected Boot device and press a key.
And what is /dev/sdb? Where did you install openSUSE? In place of Ubuntu?
Partition table of /dev/sda looks good. Do you have /EFI/Microsoft/Boot on the /dev/sda1? Usually UEFI systems offer possibility to directly load and boot file, e.g. in “Boot Manager” menu. If you have one, what happens if you try to boot \EFI\Microsoft\Boot\bootmgfw.efi directly?
Yes, I do have EFI/Microsoft/Boot in my EFI partition.
I also have opensuse.
Here is a complete listing:
EFI/Boot:
total 779
drwxr-xr-x 2 root root 1024 Oct 4 01:16 .
drwxr-xr-x 6 root root 1024 Oct 10 23:16 ..
-rwxr-xr-x 1 root root 122880 Oct 4 01:16 bootx64.efi
-rwxr-xr-x 1 root root 672640 Nov 21 2010 bootx64.efi.bkp
EFI/Microsoft:
total 5
drwxr-xr-x 3 root root 1024 Oct 3 15:28 .
drwxr-xr-x 6 root root 1024 Oct 10 23:16 ..
drwxr-xr-x 26 root root 3072 Oct 4 01:16 Boot
EFI/opensuse:
total 652
drwxr-xr-x 2 root root 1024 Oct 10 23:16 .
drwxr-xr-x 6 root root 1024 Oct 10 23:16 ..
-rwxr-xr-x 1 root root 665600 Sep 18 13:19 grub.efi
EFI/ubuntu:
total 122
drwxr-xr-x 2 root root 1024 Oct 3 21:59 .
drwxr-xr-x 6 root root 1024 Oct 10 23:16 ..
-rwxr-xr-x 1 root root 122880 Oct 4 01:16 grubx64.efi
I chrooted to my openSUSE installation and tried zypper install grub-efi which gave no errors.
After that I tried efibootmgr, but it told me that I would have to do a modprobe efivars, Which runs without an error but seems to have no effect. I also tried to find bootx64.efi on the openSUSE install DVD but wasn’t lucky, so I couldn’t modify the USB-stick to boot in UEFI mode, since this would make the modprobe command obsolete.
I tried to find something where I can select and load a file, but there is no such option or at least I can’t find it. The only option I could find was to start a “UEFI shell”, but UEFI is then looking for a file named shellx.efi (or something like that) which it can’t find.
To make the USB-Stick bootable in UEFI mode, can I just grab any bootx64.efi e.g. from a Windows DVD or does it have to be a specific one?
I think booting a live cd (usb) using UEFI and reinstalling or reconfiguring the bootloader might fix my problem …
I was messing around with the grub rescue shell and tried to ls my EFI-partition, but I couldn’t. Grub-rescue states: unknown filesystem. The only partition I could ls was my root partition with my boot-folder on. Though I havn’t expected this, I think this might be normal since most likely GRUB2 is installed and not GRUB2-EFI.
I will stick to my plan and create a new openSUSE bootable USB-stick which is bootable with UEFI. And if I don’t succeed in this, I will use a UEFI Ubuntu Live USB-stick and try to install grub2-efi.
(openSUSE) Live CD does not support UEFI, which seems to be root cause of all your problems. For whatever reason you apparently have Ubuntu GRUB2 as \EFI\Boot\bootx64.efi which explains error message “cannot find /boot/grub/x86_64-efi/normal.mod” because openSUSE installs it under /boot/grub2-efi. This is a real mess. Did you try system recovery using Ubuntu? In any case it mostly explains failures during boot.
So you have now two issues
Booting Windows fails. We need to see UEFI boot menu for this. Try booting any UEFI enabled live distro and paste “efibootmgr -v” output. Also helpful would be result of sgdisk --info=PART_NUM /dev/sda for every partition to see GUIDs. The SystemRescueCd supports UEFI and has all tools. When we have this, we can try to fix UEFI menu for Windows. Also “ls -lR /path/to/ESP/partition” (i.e,. /dev/sda1) would also be helpful.
You installed openSUSE using wrong architecture. You will need to reinstall using full installation DVD in UEFI mode. Sorry for that. I do not know how deep are dependencies, so this is the safest way.
To make the USB-Stick bootable in UEFI mode, can I just grab any bootx64.efi e.g. from a Windows DVD or does it have to be a specific one?
It can boot only Windows. This probably is not what you want. You would need running Linux with grub2 supporting EFI architecture, then it is possible to install grub2 on USB stick to make it bootable. We could try it, it may be useful experience and help others. UEFI systems will be more and more common now.
I also tried to find bootx64.efi on the openSUSE install DVD but wasn’t lucky
This is generated on the fly with grub2(-efi)-mkimage when you run grub2(-efi)-install. Effectively, it is core.img rechristened.
Something like that. I used the openSUSE DVD image on a USB-stick. Somehow UEFI is supported by the DVD but not by the image on a USB-stick. Bad luck.
Yout take this information from the directory listing and the error message I provided, right?
There is no such directory /boot/grub/. I think the problem is, that openSUSE did install a non-UEFI bootloader (GRUB2), or it did not install any bootloader at all.
I’m doing this right now.
Ok, here is the output from “efibootmgr -v”
BootCurrent: 0003
Timeout: 2 seconds
BootOrder: 0000,0002,0001,0003
Boot0000* ubuntu HD(1,800,32000,9acb5611-b302-47c8-a1b2-c114462f9c0d)File(\EFI\ubuntu\grubx64.efi)
Boot0001* Hard Drive BIOS(2,0,00)
Boot0002* Windows Boot Manager HD(1,800,32000,9acb5611-b302-47c8-a1b2-c114462f9c0d)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a................
Boot0003* UEFI: USB ACPI(a0341d0,0)PCI(1a,0)USB(1,0)USB(1,0)HD(1,800,ef5800,6da034c0)
and here comes the output from “sgdisk --info=PART_NUM /dev/sda” for every partition
and as marked as helpful by you: “ls -lR /path/to/ESP/partition” (ls -lR /dev/sda1"
brw-rw---- 1 root disk 8, 1 Oct 11 2012 /dev/sda1
If by architecture you mean UEFI or non-UEFI. You are right. The Problem is, I don’t have a DVD-Rom. At least not in this computer. I need to do this using a USB-stick.
I was having lunch so I didn’t proceed with the rescue mission But I would have suggested to start ubuntu live with UEFI and then do a chroot to openSUSE with mounted EFI-partition. After that I would have used zypper to reinstall grub2-efi and run efibootmgr. From your last post it seemed you wouldn’t advise this, perhaps because of that I took my time.
I would have expected the reinstallation of grub2-efi and configuration using efibootmgr to solve my problem. At last, it’s just the bootloader
-rwxr-xr-x 1 root root 122880 Oct 3 23:16 bootmgfw.efi
-rwxr-xr-x 1 root root 672640 Nov 21 2010 bootmgfw.efi.bkp
-rwxr-xr-x 1 root root 669568 Nov 21 2010 bootmgr.efi
I suggest that you try to
Change type of /dev/sda4 to something different. Windows does not like to see two ESPs on the same disk, and it will bite you sooner or later. Use gdisk and suggested default (I think it is 8300). I would avoid deleting it, at least for now, in case it will confuse things even more.
Rename bootmgfw.efi.bkp => bootmgfw.efi in Microsoft\Boot. Save current bootmgfw.efi for the case.
Try to boot Microsoft boot entry.
If this work you can also restore bootx64.efi in \EFI\Boot; Microsoft installs it too.
Worked like a charm! Great. Thanks! At least I can boot Windows once again.
This didn’t work so well. I think there is no grub-efi installed. Probably it got overriden by grub2 when installing openSUSE in legacy mode.
The error message remains the same.
Verify with “efibootmgr -v”. I do not like “grub.efi” very much, it implies that GRUB2 could not detect architecture, but let’s see. Now try to select “openSUSE” in UEFI boot menu and post what happens