Sign up ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

I have installed Ubuntu 12.10 in a Western Digital external hard drive (320GB). This is a complete installation, not a live USB.

When I plug it in my HP desktop I go to the BIOS settings and boot off the hard drive, everything work perfectly as it should. Now this works on every single computer and laptop in my house (all HP), except for ONE. My HP ProBook 4530s.

When I select to boot of the USB I get the message:

error: attempt to read or write outside of disk 'hd0'

Now, I have removed the hard drive from my laptop and the external drive is the ONLY drive plugged in. Below is a screenshot of the message on the screen. After the message I navigate to ls / (as shown below):

enter image description here

After here I try to acces other folders under ls /, for example, I try to go to ls /boot to get to the grub folder. Then I get the same message as before: as shown below:

grub rescue> ls /boot

error: attempt to read or write outside of disk 'hd0'
grub rescue> _

The only folders I can access without getting the message again are /home, /run and /usr.

So how do I:

  1. Boot Ubuntu from GRUB2 (this screen) manually
  2. Set to automatically boot Ubuntu
  3. If possible an explanation for this problem


share|improve this question
How old is this computer? Likelihood is, your drive is too big for the BIOS. The BIOS must support it before GRUB can. – spudowiar Dec 16 '12 at 20:39
My computer is 6 months old and the hdd that it came with is 750gb with windows 7 pre installed. If it works with that shouldnt it work with the 320gb one. I have also booted succesfully with a netbook and an ultrabook aswell as with another desktop. The only one it does not boot with is my laptop. – never4getthis Dec 16 '12 at 20:45
It may be BIOS USB size limits, don't quote me on this though. – spudowiar Dec 16 '12 at 20:59
Try ’ls (hd0) ’ – spudowiar Dec 16 '12 at 21:03
Now that you mentioned 'BIOS' i noticed that all the other computers have a BIOS and that mine has UEFI. Could this be the cause of the problem? If so, how can it be fixed? – never4getthis Dec 16 '12 at 21:04

1 Answer 1

I have spent days messing with this and researching an answer, and I was unable to find one until today. I wanted to post the solution here because I find it unlikely that I am the only one (this question has a lot of views).

The answer for me was found here:

Booting from a LiveCD and altering grub.cfg to access the block device by name instead of UUID was the fix for me. This was temporary... in that after I updated my packages, it installed a grub update that broke it. I have been messing with the grub.cfg to try and re-fix it, now, but its progress! Hope someone can fill in the next step.

share|improve this answer
I'm just having this problem. Happened to me after messing around with IDE/AHCI settings in BIOS (after multiple overclocks/BIOS CMOS resets). I one hard drive and one SSD - both of them with bootloaders. I've managed to workaround the problem for now - by removing the cables from the HDD. Now system boots at least. Some sort of wrong UUID is the problem. – WindRider Feb 27 at 22:14

protected by Tim Post Mar 24 '13 at 3:30

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

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