I am hoping to discuss this with someone who has experience with this configuration. My goal is to get Oracle Linux dual booting on my windows 8 machine.
I have installed OL but I am having trouble getting it to dual boot win8/OL using the windows boot menu. Whereas windows 8 boots as expected, the Oracle Linux option gives me the error:
"+Windows failed to start. A recent hardware or software change might be the cause...contact you system administrator or computer manufacturer for assistance+
+Info: The selected application or operating system couldn't be loaded because a required file is missing or contains errors.+"
Here are some details of the scenario:
- Documentation followed: Red_Hat_Enterprise_Linux-6-Installation_Guide-en-US.pdf
- Hardware: Dell Precision M4700 64 bit UEFI
- OEM installed/Default OS: Windows 8 Pro 64 bit
- Installation source: OracleLinux-R6-U3-Server-x86_64-dvd.iso (written to DVD)
These are the broad steps I followed:
In windows 8
- downloaded the Linux ISO software. The checksum on the download matched
- wrote the ISO to a bootable installation disk
- created a new 344gb partition for Linux using the DOS DISKPART command - partition 7
- I booted using the Linux installation DVD and started the installation
- When Installing Linux partition 7 became a 500mb system partition and partition 8 became the 343 gb Linux partition
- I manually created the boot partition as ext3 (because the pdf I was following said "+If your 64-bit x86 system uses UEFI instead of BIOS, you will need to manually create a /boot partition. This partition must have an ext3 file system. If you choose to partition automatically, your system will not boot.+"
- I installed the boot loader on sda7. I selected “First sector of boot partition - /dev/sda7”. I assume this installs separate GRUB boot loader on the Linux partition (7) – which will then be 'chain loaded' from the windows boot menu. Put another way, it will boot with the windows boot manager, which will give me an option to chain load the Grub boot loader, which will then run Linux...
- I chose the desktop installation
- The installation reported that it completed successfully
I successfully booted back into windows:
- I used easybcd to edit the microsoft bcd and successfully created a boot menu for Oracle Linux. I used the legacy grub because the Linux documentation says "+Note that the version of GRUB in Red Hat Enterprise Linux 6 is an old and stable version now known as "GRUB Legacy" since upstream development moved to GRUB 2.3 Red Hat remains committed to maintaining the version of GRUB that we ship with Red Hat Enterprise Linux 6, just as we do with all packages that we ship.+".
- After installing Linux and updating the BCD, the BCD now looks like this:
I'm not sure the BCD entry is correct. I assume that this entry should be pointing to the nst_linux.mbr on the Linux boot partition. However I have verified that this file exists in windows 8:
I haven't been able to exactly confirm how the boot process should work i.e. whether this file should actually be in the Linux boot partition (as opposed to the windows c drive) and whether the BCD should also point to the Linux boot partition when referring to this partition.
As I mentioned above, I now have the windows boot menu with Windows 8 (which boots successfully) and Oracle Linux (which gives me the error see below for complete wording**). Is the Real-mode Boot sector wrong? Should it point to the Linux boot partition? Is it a problem with my UEFI disk? I don't think it should be because this version of Oracle Linux supports UEFI and my hardware is UEFI.
Has anyone carried out a similar win8/OL dual boot?
** Complete wording of the Linux boot option in the windows boot manager:
Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:
1. Insert your Windows installation disk and restart the computer.
2. Choose your language settings, and then click "next".
3. Click "Repair your computer".
If you do not have this disk, contact you system administrator or computer manufacturer for assistance
Info: The selected application or operating system couldn’t be loaded because a required file is missing or contains errors.
You have /boot on partition 7? How many partitions do you have? Besides various limitations and issues in regard to PC-BIOS or EFI booting, you may have created an incompatible setup.
You can generally not use an EFI based boot manager to load a MBR bootloader. The technologies are incompatible. The Windows EFI boot manager cannot even read the ext4 filesystem on the Linux /boot partition. You will need a special hybrid GPT/MBR bootloader, for instance, http://refit.sourceforge.net. I think Windows EasyBCD requires Linux Grub version 2, but RHEL based system currently use Grub version 0.97. So perhaps your setup would work with Linux Ubuntu.
RHEL can be installed on EFI based systems, but you must create a /boot/efi/ partition of type VFAT, at least 100 MB in size and the first primary partition. The Linux /boot partition which contains the system images must be a standard ext filesystem.
Anyway, I would not bother with legacy dual-boot configurations anymore. If you have a modern and powerful computer then dual-boot is not worth the hassle. You can simply use free Oracle VirtualBox or any other common Type-2 hardware assisted virtualization solution and run any version of Linux side by side with your Windows system. It will also solve the problem with hardware compatibility. Oracle Linux or any other RHEL based Linux does not support any fancy graphics cards, wireless or other typical desktop or laptop specific hardware.
Thanks for your reply Dude. Here are the questions and answers:
*[Dude]* You have /boot on partition 7?
** I'm pretty sure I do have. How can I check this? I cannot boot up with Oracle Linux at this stage.
*[Dude]* How many partitions do you have?
** I have 8 partitions all together. Partitions 7 and 8 were added by the Linux installation process
*[Dude]* Besides various limitations and issues in regard to PC-BIOS or EFI booting, you may have created an incompatible setup
** The doc I'm following (Red_Hat_Enterprise_Linux-6-Installation_Guide-en-US.pdf) states that I should be able to install OL on a EFI system. The installation seemed to go well and I followed the notes about ext3 and EFI. It seems to me that the boot process is looking for \NST\nst_linux.mbr on the c drive and I'm not sure that is correct.
*[Dude]* The Windows EFI boot manager cannot even read the ext4 filesystem on the Linux /boot partition.
** I edited partition 7 so that it is an ext3 during the installation process
*[Dude]* You will need a special hybrid GPT/MBR bootloader, for instance, http://refit.sourceforge.net.
** I was hoping to be able to use the Windows boot manager
*[Dude]* I think Windows EasyBCD requires Linux Grub version 2, but RHEL based system currently use Grub version 0.97. So perhaps your setup would work with Linux Ubuntu.
** The version of EasyBCD I have does support both Grub 2 and Grub legacy. I made sure to use the Legacy option
*[Dude]* RHEL can be installed on EFI based systems, but you must create a /boot/efi/ partition of type VFAT, at least 100 MB in size and the first primary partition. The Linux /boot partition which contains the system images must be a standard ext filesystem.
** Thanks for this. Do you have any instructions about how I can go about configuring this?
*[Dude]* You can simply use free Oracle VirtualBox or any other common Type-2 hardware assisted virtualization solution and run any version of Linux side by side with your Windows system
** I have thought about this option, but I'd really like to get it installed as a dual boot if possible. I'm enjoying fiddling about and learning lots of new stuff...
I would not bother with dual-boot configurations and miss all the nice virtualization features, but it's your time and effort.
You might want to check if your version of EasyBCD supports a GTP/MBR setup. Like I already mentioned, mixing these technologies is usually not compatible or challenging. You may find more help troubleshooting EasyBCD issues in the appropriate forum: http://neosmart.net/forums/
I'm pretty sure I have installed Oracle Linux properly and by the book. I have installed it on my new DELL with a pre-win8 install. I followed the instructions in Red_Hat_Enterprise_Linux-6-Installation_Guide-en-US.pdf as closely as I could. Including these two key points for partitioning and the correct UEFI aspects.
If your 64-bit x86 system uses UEFI instead of BIOS, you will need to manually create a /boot partition. This partition must have an ext3 file system. If you choose to partition automatically, your system will not boot.
Note that the version of GRUB in Red Hat Enterprise Linux 6 is an old and stable version now known as "GRUB Legacy" since upstream development moved to GRUB 2.3 Red Hat remains committed to maintaining the version of GRUB that we ship with Red Hat Enterprise Linux 6, just as we do with all packages that we ship. I took this to mean that GRUB legacy is used in the Linux boot partition. It is this Grub boot loader that I am trying to chain load from the windows boot menu.
The install reports that it completes successfully.
One point you have mentioned is "SCM (BIOS emulation) in firmware". I will double check this setting.
A couple of other points you mentioned were:
1. EasyBCD (last version 2.2) is NOT UEFI capable - it cannot create loaders for UEFI. Thank for this. I will double check.
2. Grub 2 is UEFI capable. The problem is that I want to use the windows boot loader to chain load to the Linux Grub. And I believe the document "Red_Hat_Enterprise_Linux-6-Installation_Guide-en-US.pdf" states the Oracle Linux boot loader is the legacy version. The doc state "Note that the version of GRUB in Red Hat Enterprise Linux 6 is an old and stable version now known as "GRUB Legacy" - have I misunderstood this?
I think it is the boot chain loading from the windows boot to the Linux Grub is all that I need to get working.
I will investigate further and reply back with my findings. Thank you for your assistance so far.
Was great to read on your bleeding edge trials with the software :)
Just curios how things are with your thread?
I am in a similar but though a little different - I have Win7 64bit and I am planning to have OL5.8 partly because the certification matrix of the fusion middleware the way I read it indicated that the HTTP server (and I need that among other things) is explicitly supported in 5.8, also I tried OL 6 not so long ago just to find out that certain (I can't recall what that was at the moment) components of the SOA was not supported with Rel 6.
Could you please confirm, I just want to see if I got it right the first time -
1) You did create a partition (where you would install Linux) from Win8, correct?
2) You use GRUB (not GRUB2)?
Which version of Linux exactly did you use, was that Oracle Linux or you used one from RedHat directly? What is the kernal version?
On my side I can install OL5.8 into MBR with no issues, but trying to install Linux itop GPT gives me
'Your boot partition is on a disk using the GPT partitioning scheme but this machine cannot boot using GPT.'
I guess I need I need to follow the 1 above like you did.
*[asmirnov]* Could you please confirm, I just want to see if I got it right the first time -
** I'm happy to share my progress
*[asmirnov]* You did create a partition (where you would install Linux) from Win8, correct?
** Yes. I used diskmgmt.msc to create a separate partition. I didn't format the partition because the Linux install doesn't want that, it creates and formats the partitions in the unallocated partition
*[asmirnov]* You use GRUB (not GRUB2)?
** I'm not sure where you were asking about, so I hope my answer here covers all possibilities you may have meant.
I was using the windows 8 boot. I wanted to chain load to the boot loader in the Linux Partition. It is interesting what the Linux install did with my partition, it created 2 partitions in the unformatted partition. 1 was a bootable partition and the other was the Linux partition. The details were:
2 sda’s (a boot / ext4 and a VolGroup (vg_linuxlocalhost)/ physical volume (LVM) ). In the VolGroup it created 3 lv’s, lv_root, lv_home and lv_swap. I understand that this is all normal.
I followed the documentation note which said "To configure the Red Hat Enterprise Linux boot loader to chain load from a different boot loader, you must specify the boot drive manually. If you chose any of the automatic partitioning options, you must now select the Review and modify partitioning layout option before you click Next or you cannot specify the correct boot drive"
So there was also the note in the documentation that said "Note that the version of GRUB in Red Hat Enterprise Linux 6 is an old and stable version now known as "GRUB Legacy" since upstream development moved to GRUB 2.3 Red Hat remains committed to maintaining the version of GRUB that we ship with Red Hat Enterprise Linux 6, just as we do with all packages that we ship." I didn't install any bootloaders manually (either the windows 8 OOTB default that came with my machine or the Linux one), I just took the defaults. I'm wasn't sure how to access the Linux partitions once it is installed, so I can't confirm it was the legacy GRUB in the Linux boot partition, but I believe this note is saying that it OL6 does use the legacy grub. I believe GRUB Legacy is version .97.
*[asmirnov]* Which version of Linux exactly did you use, was that Oracle Linux or you used one from RedHat directly? What is the kernal version?
** I used "OracleLinux-R6-U3-Server-x86_64-dvd.iso.sha1sum" from the mirror site http://mirror.aarnet.edu.au/pub/oraclelinux/OL6/U3/x86_64/. According to the release notes at: https://oss.oracle.com/ol6/docs/RELEASE-NOTES-U3-en.html the kernel is
- Unbreakable Enterprise Kernel Release 2 [kernel-uek-2.6.39-200.24.1.el6uek]. Installed and booted by default
- Red Hat compatible Kernel [kernel-2.6.32-279.el6]. Installed by default
Note: By default, both the Unbreakable Enterprise Kernel and the Red Hat Compatible Kernel for the specific architecture (i386 or x86_64) are installed, and the system boots the Unbreakable Enterprise Kernel by default. If needed, /etc/grub.conf and /etc/sysconfig/kernel can be modified to make the system boot with the Red Hat Compatible Kernel by default.
Regarding your follow-up point that "Microsoft blocks 3rd party chainloaders from the BCD menu for UEFI machines. We are researching workarounds, none have presented themselves as of yet.", I'm not sure it actually blocks it, but it certainly isn't a straight forward process.
I have actually abandoned my attempt to get the dual boot working. It is a real shame because I wanted to do it for my own satisfaction.
I am now using Oracle Virtual Box as suggested by others, include Dude earlier in this thread. This has given me confidence that I was doing all the right things because the install worked first time without any problems. The virtualization is much simpler and I have had no problems so far.
As for your point about the fusion middleware and OL5. I am looking at Oracle SOA with is part of the Fusion brand. I think that the latest SOA components will work on OL6 - but I have yet to try it. Following the certification matrix can be a little difficult. So as I indicated above, my current thoughts are to use the Oracle Virtual Box with Linux r6 u3 and to install the SOA components on that when I get chance. The alternative is using the pre-built virtual machine it has Linux and SOA (it might cover your stack too, or there may be another one that suits you better on the site) http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html. Note that this is still on OL5.
Thank you for your feedback. Having reviewed it I believe that I followed all the points you raised. I believe that OL was installed properly.
You mentioned EasyBCD. You said EasyBCD (last version 2.2) is NOT UEFI capable - it cannot create loaders for UEFI.. Believing my install was ok, I still believe the problem I had was that I couldn't boot to it from my Win 8 OOTB default boot manager. Your comments suggests I can't use EasyBCD to set this up.
It is a shame I couldn't get it working. I have postponed my attempts to get OLr6u3 dual booting with the win 8 boot manager and I am now using Oracle Virtual Box to host Linux. I was able to install the same version of OL to create a OL virtual box guest in Win 8. See my other post to asmirnov.
Thank you for the detailed response.
Yeh, it was a painful process.
This is what worked for me.
I am with Win7 pre-installed, though I did shrink the Win7 partition to make room for Linux, I also removed the Lenovo recovery volume to save some space.
Total two partitions on Win7 - the first (96M size) is the EFI Partition and Win7 partition NTFS. Partition table GPT.
Hardware UEFI only.
Linux IS OL 6.4 release, bootable image DVD made.
Review installation option checked in Linux install.
Linux tells me it did find these partitions:
/dev/sda1 size 96M No mount point, 'EFI System Partition'
/dev/sda2 128M - not known (was not used further)
/dev/sda3 NTFS (my windows)
all others created for linux either as LVM or not, doesn't matter, both works fine, let's say /dev/sda4 mounted at / is a Linux partition.
Next step important - select and edit /dev/sda1 (EFI System Partition) partition, put the mount point there, mount /dev/sda1 at /boot/efi
Once linux partitions finished Write to disk.
Boot loader installed option into /dev/sda1
Windows installed into /dev/sda1 (changed from what Linux suggested from /dev/sda3, though can change it AFTER install in GRUB).
Linux installed into /dev/sda4.
After install is done windows won't boot, need to change grub. Linux boots fine. So in Linux make these changes:
for Windows entry put
Here rootnoverify (hd0,0) goes for /dev/sda1 as I mentioned above, if you left /dev/sda3 in Linux install you will see (hd0,2), change it to (hd0,0).
(you can add whatever efi's you will find under /boot/efi, for example chainloader /EFI/Boot/bootx64.efi, all efi's came with the distribution)