5

I'm trying to install Ubuntu to my Dell XPS. I have an existing Windows 10 install on it, which I'd prefer not to loose. I have an empty partition of about 400 Gb. However, Grub keeps failing to install. Also, the bootloader is appearantly broken now, as I can't boot from the hard disk at all at the moment.

What's I've done so far:

  1. I originally tried to install Ubuntu 16. It would always fail on the Grub install. After getting the error message and prompt with 3 options on how to proceed, the installer would crash. I read that Ubuntu 14 might get me around the issue.
  2. I booted from a Ubuntu 14 disk, and set it up to install Ubuntu 14 to the same partition that I had attempted to install Ubuntu 16 to. Grub still failed to install with the same error message. But, the installer didn't crash this time.
  3. I rebooted the machine from the Ubuntu 14 disk, loaded Ubuntu in live mode and ran boot-repair. It gave me several commands to run, but it still fails when it attempts to install Grub.

The error message I get now is:

enter image description here

Also, on the command line I saw these messages:

Installing for i386-pc platform.
grub-install: warning: attempt to read or write outside of disk `hostdisk//dev/sda'.
grub-install: error: embedding is not possible, but this is required for cross-disk install.

Boot-repair generated this diagnostics report: http://paste.ubuntu.com/23450135/

Nimrand
  • 53
  • Your error says installing grub to sda, but Boot-Repair wants to install to mapper/isw_caeddgafgj_ARRAY0. And if BIOS RAID or "FakeRAID" you do install to the root of the mapper, not the drive. https://help.ubuntu.com/community/FakeRaidHowto Probably better to use 16.04 as that has all the older Dell Sputnik drivers/changes built in. – oldfred Nov 13 '16 at 22:50

2 Answers2

3

You're using:

  • a software-RAID (never a good idea)
  • with dual boot (a bad idea)
  • installed GRUB on one of the members of the software RAID (/dev/sda) bypassing the software RAID (a terrible idea),

so now you need to:

  • Restore the software RAID boot sector first by:
    • Restoring the boot sector from your backup.
      OR
    • Reading the manual of your Software RAID as you don't specify which it is, nor does boot-repair...
  • Install GRUB on /dev/mapper/isw_caeddgafgj_ARRAY0and not on /dev/sda
Fabby
  • 34,259
  • How do you know I'm using a software RAID from the information I posted? The system came from the store configured this way, so I honestly can't say if its hardware or software. However, the computer came with no manuals or documentation about a software RAID to my knowledge. On the other hand, it was 3 years and 2 countries ago, so its possible that said manual is just lost. – Nimrand Nov 15 '16 at 08:42
  • I'm strongly biased towards a software RAID because you didn't verify your BIOS and say that you have a hardware RAID. (people who don't know never had a hardware solution in my experience) ;-) :P – Fabby Nov 15 '16 at 09:04
  • Based on oldfred's post above, I think it is a so-called "fakeRAID", if that makes any difference. The odd thing is that BIOS basically has no information about it except two options: one to switch between AHCI & SATA mode, and another option to enable/disable the ESATA port. I will try recovering the boot sector and see what happens. – Nimrand Nov 15 '16 at 11:38
  • your bias against Software Raid is not helpful here, it has many valuable uses and compares favourably with commerical solutions, i spent several years working in test on both. – Amias Nov 15 '16 at 11:54
  • I recovered the MBR by using microsoft's bootsect command from a Windows 10 installation CD. It boots into Windows again. However, installing GRUB to /dev/mapper/isw_caeddgafgj_ARRAY0 does not work. Every time I tried that option (before or after recovering the MBR), the Ubuntu installer seems to get stuck: as soon as I finish the last installation options screen it displays a message about installing to the HD, but the progress bar never progresses. – Nimrand Nov 16 '16 at 00:50
  • 1
    After the fourth try, I finally got the boot loader to install to /dev/mapper/isw_caeddgafgj_ARRAY0. It boots to Ubuntu now. – Nimrand Nov 16 '16 at 12:02
1

This what happens if you install Linux along with the Windows 10.

Even if you manage to fix the issue now I guarantee that you will get the problem again when Windows does the infamous auto-update. That's because Windows will take over the bootloader at the time and will make your Ubuntu invisible to you.

The best suggestion I have is to use the Windows Repair Disk to bring back the windows master boot loader and then make Windows to load the Ubuntu and not the other way around.

Here's the way:

You need to restore MBR, so it boots into Windows again, not Linux, THEN add Linux.

  1. Boot from Windows installation disk
  2. Choose Repair/Startup repair
  3. Windows will restore MBR
  4. When done, reboot into Windows
  5. Install and open EasyBCD, and add Linux
  6. On reboot, you will see the good old black screen with Windows bootloader and two entries: Windows and Linux
  7. Done
Joe
  • 17
  • Thanks. I've recovered MBR and installed EasyBCD. I also installed Ubuntu to the extra partition (using the --no-bootloader option), and the install completes successfully. I opened the EasyBCD app, I added a Linux boot option by selecting Grub2 and the partition I had installed Ubuntu to. When I reboot the computer and select "Linux" from the boot menu, it loads a grub command line where I can type commands, but it doesn't load Ubuntu. Its either not finding Ubuntu, or I still need to install some part of the boot loader somewhere, which always seems to fail. – Nimrand Nov 16 '16 at 01:04
  • Hey Joe, I installed Grub & Ubuntu to the same partition. I then tried adding boot options for Ubuntu, one with the partition manually selected, and the other with the auto-detect setting. I also installed NeoGrub through EasyBcd. But, all any of those boot options do is load GRUB4DOS. It doesn't load Ubuntu. Any ideas? – Nimrand Nov 16 '16 at 09:39
  • What do you mean installing "Grub and Ubuntu " ? – Joe Nov 16 '16 at 09:41
  • I seem to recognize your problem, in both the comments. You tweaked the installation of ubuntu saying --no-bootloader. You were not meant to do that. Thats why you are getting the error. – Joe Nov 16 '16 at 09:57
  • I did not use the "--no-bootloader" option the second time around. Sometime after I wrote that first comment, I reinstalled Ubuntu again, this time selecting the same partition for both Ubuntu and Grub 2. The install completed successfully. But, as I said, when I selected the Ubuntu boot options I created through EasyBCD, it just loads Grub4Dos. – Nimrand Nov 16 '16 at 10:43
  • I don't know what you mean by installing grub 2 separately. If you talking about the update-grub command then that would automatically execute during installation, right? In my experience, installing the ubuntu after your windows (with no extra settings that you are mentioning), will temporarily make windows invisible. Then you can either use the update-grub command for linux to discover windows and then show the grub menu with windows and Linux. But the better option is the one i gave above as the automatic update of windows 10 will erase the MBR of the system. So be careful. – Joe Nov 16 '16 at 11:10
  • I didn't install Grub2 separately. In the Ubuntu Installer, on the screen that says "Installation Type", I select "Something else". On the next screen, it prompts you for the partition to install Ubuntu to. It also asks you for the "device for boot loader installation". I select the same 500GB partition for both options (as selecting either "/dev/sda" or "dev/mapper/isw_caeddgafgj_ARRAY0" will cause the install to hang or crash). – Nimrand Nov 16 '16 at 11:22
  • Nevermind, I just got it to install to dev/mapper/isw_caeddgafgj_ARRAY0 as Fabby suggested. I don't know what is different now compared to the last 3 times I tried that, but it worked this time. – Nimrand Nov 16 '16 at 11:59
  • Nice to hear. Great job. – Joe Nov 16 '16 at 12:11