How to dual-boot Ubuntu + Windows 8 on a Samsung Series 9 laptop?

Solution 1:

You did install Ubuntu using the BIOS/legacy boot option -- that's what "CSM" is. (This acronym expands to "Compatibility Support Module," which is EFI-speak for BIOS compatibility mode.) Thus, setting the "OS mode selection" in your firmware to "CSM" for the installation essentially tells your computer to boot only in BIOS/legacy mode.

There are a number of possible solutions. These include:

  • Install my rEFInd boot manager in Windows. Edit the refind.conf file: Uncomment the scanfor line and add hdbios to its options. When you reboot, rEFInd should come up and show at least two boot options. One should boot Windows and the other should start up GRUB in BIOS mode, which should in turn launch Linux. If you try this and want to experiment more, you could try tweaking the configuration to boot Linux directly in EFI mode.
  • Convert your existing Ubuntu installation to boot in EFI mode by adding a suitable EFI-mode boot loader. rEFInd can serve this purpose, or you could install ELILO or the EFI version of GRUB 2. The trick is registering the EFI boot loader with the firmware, which requires an EFI-mode boot of Linux or doing the work from Windows. (The preceding option does this for rEFInd by doing the work in Windows.) See my EFI Boot Loaders for Linux site for more on your options on this score. This approach has a fairly steep learning curve, but it's a fairly clean approach. There's the caveat about EFI-mode boots possibly having problems on your system, though.
  • Re-install Ubuntu in EFI mode. This will require overcoming your kernel panic problem, though, and I don't have any specific suggestions on doing that. Perhaps adding (or removing) a kernel option would do the trick, or switching to another kernel version (but this is awkward for an installer's kernel).

Overall, I'd say your easiest course of action is to install rEFInd. It will probably enable you to boot Linux in EFI mode, and it provides a path to experiment with EFI-mode booting if you decide to pursue that.

Solution 2:

I reluctantly decided to follow the instructions at https://help.ubuntu.com/community/UEFI:

If the PC does not load Ubuntu (but instead loads Windows, for example, as in Bug #1050940), or if the Windows entry in the GRUB 2 menu does not boot Windows (see Bug #1024383), boot your PC using the Live CD/DVD or Live USB and choose "Try Ubuntu" once again. When the live session has loaded, run Boot-Repair (see link for details). When Boot-Repair loads, click on the "Recommended repair" button, and write on a paper the URL (paste.ubuntu.com/XXXXXX/) that will appear.

This reinstalled grub and apparently it installed it in UEFI mode, so I can now dual-boot as expected.

In short:

  1. Boot-repair as per the documentation
  2. Changed boot OS mode to "UEFI OS" in BIOS
  3. Dual boot works

I did notice that the first time I tried to boot in Ubuntu it stopped in a black screen. I restarted and chose "advanced Ubuntu" (or something similar), chose the latest kernel option from there and it booted normally. After that, the first "ubuntu" option in Grub started booting Linux normally.

Solution 3:

You need to not load the samsung_laptop kernel module. This module in efi mode does not work as it goes and write to parts of memory making the kernel throw a check exception and panic. Have the same issue with arch. But then you lose the keyboard backlight. Imho if you need that you will have to reinstall both windows and ubuntu in bios mode.