0

This is on an older HP Z400 workstation with HP Bios v3.57. It was working with Windows 10 on a single SATA drive. Then I installed a second disk on SATA, and installed Ubuntu 16.04 Desktop on that disk. Now I have a working Linux installation onto the new disk, /dev/sdb1, and it boots fine. The universe is right.

But wait, I cannot boot into Windows any more, even by changing the boot order of hard drives in the Bios, which I don't understand. The Windows disk appears on /dev/sda2 and the files are still there- I can browse them from the ubuntu desktop.

I thought it would be easy to upgrade Grub to give me a menu to choose Linux or Windows, but sudo upgrade-grub and sudo os-prober both fails with:

Error: ddf1 wrong # of devices in RAID set "ddf_[really long uuid]" [1/15] on /dev/sda

However, I am not using RAID and do not intend to. I simply want Windows on one disk and Linux on the other disk.

I have studied all the Bios screens, and the SATA raid controller screen, and have come to the conclusion:

  • SATA RAID cannot be turned off in the Bios of this HP. Unless I set it to 'IDE mode' which as I understand it will kill performance.

  • The SATA RAID configuration screen in the Bios says there are currently no RAID configurations and both disks are 'non-RAID disks'.

So why does update-grub and similarly, os-prober fail with a RAID set error?

Why can't I boot into Windows now, even by changing the boot order in the Bios?

That is two questions- but I suspect they are related somehow. I am not sure what other info is needed, please let me know, happy to clarify. Thanks!

edit:

more info, if I yank the SATA cable on the Linux disk, and then power on, I get a grub rescue prompt. What does this mean, that Ubuntu installed Grub onto the Windows disk?

edit:

Still have not solved the wrong # of devices in RAID set problem. I was able to get the Linux OS to boot by yanking the SATA cable of the Windows disk, and then running boot-repair-disk (http://sourceforge.net/p/boot-repair-cd/home) Similarly, I was able to get the Windows OS to boot, by yanking the cable of the Linux disk, and then running boot-repair-disk again. Strangely, whenever both disks are connected, things will ultimately break down when GRUB fails to update because of wrong # of devices in RAID set error.

So I am punting and repartitioning the new, larger disk to install both Linux and Windows onto the same disk. Hopefully this will avoid the pesky fake-raid errors (and it has).

1

What does this mean, that Ubuntu installed Grub onto the Windows disk?

Yes, it installed GRUB on the first disk. The one the motherboard is booting from. In the BIOS firmware there is no windows disk and no linux disk. There are just two disks. One of them is the one configured to boot from. Previously that boot process started the windows loader, now parts of that contain grub.

if I yank the SATA cable on the Linux disk, and then power on, I get a grub rescue prompt.

This confirms that GRUB is installed on the first disk.

Note that there are many ways you could configure this: E.g.

  • Completely independend disks, and use a BIOS boot menu to slect which disk to boot. (Which I usually do by disconnecting the other disk, installing an OS, then reconnecting). Works if you use labels.
  • Always boot to the windows bootloader, and have that chain to GRUB. (Should work, seem to be couinter indicated here
  • Always boot GRUB, chain to windows or to Linux.

The last is possibly the best, but you need make sure you select the righ options and do not overwrite any parts which windows already uses. (E.g. do not blindly install GRUB into MBR).



As to RAID SATA BIOS... Some background on controller modes:

Many system ship with three SATA modes in their BIOS

  1. Legacy mode. Lack of modern features, but backward compatible. Needed if you want to run windows 98 and similar (or XP without loading an AHCI driver).
  2. AHCI. Normal SATA mode. This is what 'just works' for any modern setup. YOu really want this if you have an SSD or if you hot-swap drives.
  3. RAID...but not for RAID.
    Let me clarify the last. Some chipsets ship with firmware assisted software RAID, also known as fake-RAID. This can be used for using disk ina RAID array. However I have also seen big OEMs ship system with a single drive in a 1 disk RAID setup. From a RAID perspective this is utter nonsense, but it seems that the driver used in RAID mode allowed for more options then plain AHCI.
    Basically it is "RAID for another goal than RAIDing disk".

I suspect your HP workstation does the same, which would explain that

The SATA RAID configuration screen in the BIOSs says there are currently no RAID configurations and both disks are 'non-RAID disks'.


Do you have a windows DVD (or USB flashdrive) to boot with? That way you could install the windows loader part, then boot linux anew from a pendrive and reinstall grub with the right options.

  • OK cool this is great, I upvoted it. As of this morning, it wont even boot into linux because I ran sudo apt dist-upgrade and then it failed trying to update grub with the same RAID set error, leaving in non-bootable state. Do you think the error "Error: ddf1 wrong # of devices in RAID set "ddf_[really long uuid]" [1/15] on /dev/sda" will just be something I am stuck with, and if so, how will update-grub ever work in future? – Alex G Rice Dec 28 '16 at 16:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.