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

64,921

Solution 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: http://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/boot-problem-after-installing-ubuntu-11-04-kernel-panic-not-syncing-vfs-919143/

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.

Solution 2

Sorry for the late answer, but I recently had the very same problem. I fixed it and am posting this in the hope that it may be useful to others who experience the same problem.

In my particular case it was due to a defective SATA cable. Replacing the cable fixed the problem.

More generally—by looking at the other answer and comments—I think this message may be caused by some kind of (hardware) problem when Grub is accessing the hard drive. In sorak's case, where modifying the grub.cfg file to refer to the block device by name instead of by UUID helped, it might have been the case that for some reason, the UUID could not be read anymore.

Anyway, for whoever experiences this problem, I recommend booting a live CD and using S.M.A.R.T. tools to check whether there is a problem with the hard drive, and what kind of problem. That is is what I did; this particular answer got me started. In order to interpret the S.M.A.R.T. attributes output by smartctl for a hard drive, the Wikipedia article on S.M.A.R.T. is quite useful. For me, a high UDMA CRC Error Count hinted to a defective SATA cable, and the cable indeed turned out to be the root cause of the problem.

Share:
64,921

Related videos on Youtube

karel
Author by

karel

Updated on September 18, 2022

Comments

  • karel
    karel over 1 year

    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

    Thanks!

    • Admin
      Admin over 11 years
      How old is this computer? Likelihood is, your drive is too big for the BIOS. The BIOS must support it before GRUB can.
    • Admin
      Admin over 11 years
      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.
    • Admin
      Admin over 11 years
      Try ’ls (hd0) ’
    • Admin
      Admin over 11 years
      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?
    • Admin
      Admin over 11 years
      What processors are the others and what is this one? 32- or 64-bit?
    • Admin
      Admin over 11 years
      When i try 'ls (hd0)' i get ' error: unknown filesystem'. The other computers are 64 and 32 bit.
    • Admin
      Admin over 11 years
      Is this 32-bit and the others 64-bit?
    • Admin
      Admin over 11 years
      what I meant was that some are 32 bit and some 64 bit. sorry if I was not clear.
    • Admin
      Admin over 11 years
      I'm having the same problem. Did you manage to solve yours? :D
    • Admin
      Admin about 11 years
      User contacted us to let us know they have an answer to this (and they do), subsequently unlocked so they can post it.
    • Admin
      Admin about 6 years
      Possible duplicate of How can I repair grub? (How to get Ubuntu back after installing Windows?) since both answers recommend an action that update-grub and/or Boot-Repair would perform too as described in the linked question.
  • pir
    pir almost 7 years
    Can you provide a few more details on exactly what part of grub.cfg needs to be edited?