Ubuntu installation on computers with Intel(R) RST enabled

Overview

Intel Rapid Storage Technology (RST) is a solution built into a range of Intel chipsets. On platforms that have RST support built and enabled in the computer’s BIOS, it allows users to group and manage multiple hard disks as single volumes. This functionality is known as the Redundant Array of Independent Disks (RAID).

In some usage scenarios, RAID offers various advantages over the use of several disks independently. RAID offers multiple configurations - levels - which focus on performance and redundancy.

A complete user guide is available through the official Intel documentation.

RST & Ubuntu installation

If you intend to install Ubuntu on a computer that supports RST functionality, you may need to make operational adjustments to your setup before you can proceed.

By default, the Ubuntu installer can detect certain RAID configurations, but it may not necessarily be able to access and use the hard disks grouped in them.

If the Ubuntu installer cannot detect the hard disks you need, then before you can install Ubuntu, you will need to turn off RST in the computer’s BIOS. The exact terminology and steps required to access and manage RST in BIOS often depend on the specific implementation by the platform vendor. For instance, Dell computers may have different settings from Lenovo or HP computers.

Furthermore, you may already have Windows installed on the computer that uses RST. If you disable RST in the BIOS or change the RST configuration, Windows may become unbootable, as it may no longer be able to find and use the hard disks.

Possible installation scenarios

Broadly, there are two main configurations you may encounter when you try to install Ubuntu on a computer that supports and uses RST:

  • RST used and enabled, no operating system installed.
  • RST used and enabled, Windows installed.

RST enabled, no operating system installed

Again, there are two possible scenarios here:

  • The Ubuntu installer correctly detects the hard disks and can use them. In this case, you can proceed normally.
  • The Ubuntu installer detects a conflict with RST and will notify the user that RST configuration is required.

The latter scenario can be resolved by either one of the two changes:

  • Turning RST off completely in BIOS.
  • Changing the storage controller protocol from RST to Advanced Host Controller Interface (AHCI).

AHCI is a relatively new specification that describes how computer storage is accessed and managed, and it supersedes several older specifications. It is primarily designed to utilize advanced features of hard drives connected via the Serial ATA (SATA) bus. Typically, these will be 2.5-in and 3.5-in hard disks, including both mechanical and SSD devices. The change from RST to AHCI may result in the loss of some of the advanced functionality that the RST module offers (for instance TRIM for SSD).

The exact terminology and steps required to access and manage controller type in BIOS often depend on the specific implementation by the platform vendor.

RST enabled, Windows installed

Similarly, there are two possible scenarios available:

  • The Ubuntu installer correctly detects the hard disks and can use them. In this case, you can proceed normally. You will need to create a side-by-side configuration for Windows and Ubuntu.
  • The Ubuntu installer detects a conflict with RST and will notify the user that RST configuration change is required. In this case, the change will affect the installed Windows operating system.

Caution: Please note that changes to storage configuration can be destructible and lead to irrecoverable loss of data! If you break a RAID setup, your data may no longer be accessible. Likewise, if you change the controller type from RST to AHCI, Windows may no longer be able to boot.

How to safely re-configure Windows to use AHCI

If the Ubuntu installer detects RST, and you have Windows installed on your system, there are several steps you need to do to allow Ubuntu to install side by side with Windows, without any loss of data and functionality.

  • Back your data up - any hard drive structure or configuration change, or installation of new operating systems on a hard drive that already contains data can potentially lead to a data loss. You need to make sure your personal data is safe. Even simply copying the important files to an external drive can minimize the risk of data loss.
  • Verify which controller mode is in use in Windows. You can do this through the Device Manager. If the controller mode is set to anything other than “Standard SATA AHCI Controller”, then you will need to make a change that allows Windows to boot safely in AHCI mode. This can be done using the Registry Editor.
  • Start Registry Editor, and navigate to:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStorV\

  • Here, in the right column, double-click on the Start key, and change its value to 0.
  • Next, double-click on the iaStorV entry in the left column to expand it, select the StartOverride entry, and then in the right column, change the value of the key 0 to 0.

  • Repeat this set of changes for the following path in the Registry Editor:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\

Once this step is complete, reboot Windows and start your computer’s BIOS. Normally, BIOS is accessed by hitting the F2 or Del key during the early boot sequence. In the BIOS menu, change the hard disk controller type to AHCI. The exact terminology and steps required to access and manage controller type in BIOS often depend on the specific implementation by the platform vendor.

Exit BIOS, and let the system boot. Windows should load normally, and you can check the controller mode in the Device Manager. It should read: Standard SATA AHCI Controller.

Possible boot problems

After making the necessary changes to allow Ubuntu to install side by side with Windows, you may encounter a situation where Windows no longer boots. For instance, this could happen if you made the BIOS change without making the registry changes in Windows. In this case, you will need to recover your Windows.

You will most likely see a blue screen with a Stop code: INACCESSIBLE BOOT DEVICE.

Windows will attempt to restart and automatically diagnose and repair the boot-related problems, but it will most likely not be able to complete the task itself, and you will need to manually launch the command prompt from the recovery screen, and fix the issue.

On the screen that gives you the result of the Automatic Repair, click on Advanced Options. Under Choose an option, select Troubleshoot. Next, selected Advanced Options again. Finally, select Command Prompt.

Command prompt, diskpart and bcdedit

This will launch the Windows command prompt, where you can run commands to diagnose and repair problems, including boot-related issues. The first step is to run the disk partition tool to see and understand the disk layout.

On the command line, type diskpart. Next, you will need to display the list of volumes, make sure the volume that contains Windows is correctly assigned the letter C: (if it’s not, you will need to change this), make this volume active, and then run the boot repair command.

The full sequence of commands is as follows:

diskpart
list volume
select volume [number]
assign letter=[letter]

For example, a “wrong” volume may be assigned the letter C:, so you will need to select it first, assign it a different letter (e.g.: F: or H:), select the volume that contains Windows, and then assign it the letter C:.

Finally, exit the diskpart utility.

exit

Now, run the bcdedit repair command:

bcdedit /deletevalue {default} safeboot

If the above does not work, alternative commands you can run are:

bcdedit /deletevalue {current} safeboot
bcdedit /deletevalue safeboot

If this command completes successfully, exit the command prompt, the Windows recovery console will restart, and Windows should load normally, with the controller mode set to AHCI.

If Windows does not start correctly, you can then manually recreate the bootloader file.

Bcdboot

To this end, you will need to access either the System partition or the EFI partition on your computer. The Windows disk layout will typically include one of these two configurations:

  • A volume that contains Windows (C:) and a small hidden partition, usually 100MB in size called System partition, formatted as NTFS. It contains the files needed to start (boot) Windows, as well as recovery tools to help you diagnose and repair your system when it does not start correctly.
  • On UEFI-powered computers, a volume that contains Windows (C:) and a boot partition (also called EFI), typically 256-512MB in size, formatted as FAT32. This partition will contain the files needed to start (boot) Windows.

You will need to access the partition to make the necessary changes. If you have already run the diskpart utility, you do not need to do anything at this point, you only need to check the letter that is assigned to this partition (e.g.: letter F:).

Switch to the boot partition, move the existing boot file aside, and then create a new one. The sequence of commands to do this is as follows (assuming letter F: for the boot partition):

F:
cd boot
ren BCD BCD.bak
bcdboot c:\windows /l en-us /s f: /f ALL

The bcdboot command will initialize the system partition by using BCD files from the C:\Windows folder, use the en-us locale (/l en-us), target the system partition assigned letter F: (/s option), and create boot files both for UEFI and BIOS (/f ALL option).

windows-10-boot-fix

Once this command completes, reboot. Windows should start normally. You can now re-launch the Ubuntu installer and finish the side-by-side setup of the two operating systems.

6 Likes

The following section doesn’t match the picture.

  • Start Registry Editor, and navigate to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStorAV\

It’s supposed to be iaStorV, and iaStorAV has no key / values or child under the tree.

2 Likes

76 posts were split to a new topic: Intel RST Issues

Yes, thank you, this is a typo.

I am trying to follow this guide that you have kindly provided. I have gotten as far as diskpart.

I did “list volume” and found that the windows partition is volume 0 and already has the letter C assigned to it.

So I did “select volume 0” and then “activate”.

It seems that DISKPART does not know the “activate” command. It has the command “active”, but when I try this, I get the response “The selected disk is not a fixed MBR disk. The ACTIVE command can only be used on fixed MBR disks.”

I am unsure how to proceed. Any help would be much appreciated.

@maria.jensen Hi Maria, first you spotted a typo, thanks. Second, I should have been clearer, and there’s no reason for the active command. This is only relevant for non-UEFI systems. I will amend the tutorial, and you can proceed without it.

1 Like

Folks,

Please remember that the purpose of this thread is to improve the documentation.

It was not really intended to be a support thread.

Wherever you find your answer, please come back and make specific recommendations to improve the strings and images of the documentation to save other users the hassle you encountered.

A post was merged into an existing topic: Intel RST Issues


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStorAV\ should be HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStorV\, and can be confirmed by the accompanying screenshot on the help page.

A post was merged into an existing topic: Intel RST Issues

A post was merged into an existing topic: Intel RST Issues

I tried “active” which is the correct command, but it said something about the volume not being Fixed MBR. So that didn’t work for me either. It should be changed.

I found the same thing today. When does the actual webpage get updated?

I found a workaround to boot windows after changing to AHCI easily.
I wasn’t able to make it work (no troubleshooting in the page worked) until I manually setup a safeboot minimal mode with an elevated cmd right after I changed the registry values.

Apparently the regedit changes for the “ RST enabled, Windows installed” scenario were being reset on the first fail cycle, so when entering repair mode they wouldn’t get loaded. I’ve read somewhere that the StartOverride changes only lasts for one boot cycle.

The solution was to set the safe mode (safeboot) manually. Right after the regedit changes:

  • With a cmd with admin rights (windows search: cmd, then right click, run as admin):
    bcdedit /set {current} safeboot minimal
  • Reboot to BIOS.
  • Change from RAID (RST) to ACHI in the BIOS.
  • Reboot.
  • Windows enters safe mode correctly and setups the “new” hardware using the temporarily enabled drivers. New hardware connected sounds and all.
  • Then before restarting, revert the safeboot mode:
    bcdedit /deletevalue {current} safeboot
  • To go back to normal boot.

Tested with a Dell XPS 13 7390 (model P82G)

Also found a typo: The activate diskpart command should be changed to active (and add a note that it might fail with an error message about the volume not being “Fixed MBR”)

1 Like

That’s a good question. The actual webpage is a static HTML page, which I committed at the request of @igorljubuncic. But there is no good procedure in place yet for maintaining it.

Myself don’t know the topic. Possibly, if you would submit a merge proposal with obvious things like typos, I might be able to merge it (it’s this Bazaar branch). But I have a feeling that the changes you would like to see are bigger than that, and if so they need to be reviewed by somebody with sufficient knowledge.

Yes.

Agreed.

Unluckily I’ve never used bazaar and it would take too much of the company’s time just to fix two typos.

The change proposal is to manually enable safeboot right after the registry changes, which reset each boot cycle by design, to avoid the failed boot (prior to the repair one) resetting them. Or at least that’s the working theory.

EDIT: Apparently reading further I ended up in this specific guide for my laptop model which does something similar (although not through command line but via the msconfig app)


Maybe the msconfig approach is easier on the user and to add to the RST guide.