Home > Linux, Ubuntu > On Ubuntu 9.10 and SATA

On Ubuntu 9.10 and SATA

DISCLAIMER: I am by no means an Ubuntu or Linux expert. The information in this post may not be the most correct or efficient way to solve the issue that I describe. It is simply the resolution I found and what worked for me. Conduct all changes at your own risk and remember to always backup your data before doing work on your system.

I finally decided to bite the bullet and turn my desktop computer into an Ubuntu machine. Up until now I’ve kept it running windows for the ease of gaming. I haven’t been gaming much lately and had never run Linux on a machine with a halfway decent graphics card or processor so I thought it would be nice to see what Ubuntu could kick out on something other than my lower end laptop.

I’ve done many Linux installs in the last few years, most of which have been Ubuntu or other Debian derivatives and have yet to run into any major issues. This install decided to break that cycle. I could boot off the Ubuntu 9.10  live CD perfectly, but after the system loaded my hard drive was nowhere to be found. After testing a myriad of things to insure that it wasn’t something to do with 9.10 I figured it had to be a hardware issue. I’ll spare you the gory details of my lengthy searching and simply say that I ended up at a bug report that mentioned an issue with Ubuntu recognizing SATA drives. This, as it turned out, was my problem.

The issue can be resolved on the initial live CD boot by doing the following:

1- Insert the live CD and power on the machine

2- When prompted with menu choices hit F6 for other options, then hit ESC to exit the pop-up

3- There will be a line of boot options at the bottom of the screen. At the end of that line type: pci=nomsi

4- Hit enter.

Once you’ve completed these steps you should be able to see your SATA drive and complete the install as usual. After this the two most common scenarios are: you have a dual boot setup with Windows and Ubuntu, or you only have Ubuntu installed. If you have a dual boot system set up then, after the post install reboot, Grub should come up normally and you will be able to perform the next set of instructions. If you only have Ubuntu installed then you will need to put the live CD back in and boot from it again; this time select the”boot from the local hard drive first” option.

Regardless of which of those two methods you used, you should end up at the Grub boot loader. In order to successfully mount the SATA drive and load the OS you will need to do the following:

1- Select the desired kernel to boot, most likely the first on the list.

2- Hit “e” to allow you the edit the boot commands

3- Go down to the line that starts with “linux /boot/…” and ends with “… quiet splash”

4- To the end of this line add:  pci=nomsi

5- Hit enter and the system should boot correctly into your newly installed OS.

After you’ve got Ubuntu up and running successfully there’s one last thing to do. You need to add the “pci=nomsi” command permanently to Grub so you don’t have to complete those last four steps every time you boot up your machine. To add the command follow these steps:

1- Open up a terminal and backup your grub.cfg file:  sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.backup

2- Edit grub.cfg in the editor of your choice, I used nano:  sudo nano /boot/grub/grub.cfg

3- This file will have the same information you saw when editing the boot commands in the last step three.

4- Repeat steps 3 and 4 from the last set of instructions.

5- Save the file and exit. For nano hit ctrl+x, yes, and hit enter

After doing some more research about Grub2 I came across this extremely helpful Ubuntu forum post. As it turns out, my previous instructions for editing grub were wrong (see: struck out text above). With Grub2 the following steps are correct:

1- Open up a terminal and back up your default Grub file:  sudo cp /etc/default/grub /etc/default/grub.backup

2- Edit the default grub file in the editor of your choice, I used nano:  sudo nano /etc/default/grub

3- Change the line GRUB_CMDLINE_LINUX_DEFAULT so that the quotes include:  “quiet splash  pci=nomsi”

4- Save the file and exit: for nano it’s ctrl+x, yes, and enter.

5- Once you are back to your terminal prompt type: sudo update-grub

6- The command should output that it is modifying grub.cfg, when it’s complete you can exit the terminal

When you’re done with these steps you should be able to remove the live CD and boot normally. Keep in mind that after any system upgrades or changes that modify Grub you will have to edit grub.cfg again in order to resume normal booting. With the corrected Grub2 editing instructions I added your custom settings should not need to be changed if system updates or changes modify grub.cfg.

I haven’t done enough follow up research to know if this whole situation is a bug that will be fixed in the future or if it’s an issue that will remain. Admittedly, I couldn’t even tell you the specifics of why the fix works or is needed. I’m just your average Linux user who found a solution and wanted to share the information.

If you have any questions, or improvements on the info in this post please leave a comment.

Categories: Linux, Ubuntu
  1. Innocent Bystander
    February 24, 2010 at 15:29

    Congrats on the Ubuntu install. It’s quite frustrating to clear the learning curve at the beginning but after that, I hope you will enjoy the freedom of Linux.

    FYI, I installed Ubuntu (8.04 to 9.10) on many machines. The SATA drive was always recognized. I didn’t need to do anything special.

    • theaaronc
      February 24, 2010 at 16:04

      The freedom of Linux is great! The issues with the SATA drives were unexpected for me too, I haven’t had any issues with installs until this one. I’ve been impressed with the ease of installation every other time I’ve used Ubuntu.

  1. February 25, 2010 at 09:33

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: