4

I just upgraded to 12.10. After installing the files and rebooting I had come across following problem:

error file not found
grub rescue> _

This problem was easily solved by repairing the boot using Boot Repair tool. This answer helped me.

But after this, Windows won't start. It's giving following error:

A disk read error has occurred
Press Ctrl+Alt+Del to restart

Screenshot showing message about disk read error.

How do I fix this?

5 Answers5

2

I had the same problem and I fixed it by standing on the Windows 7 loader drive and press E to edit.

My insmod was set to ldm and the set root was set to /ldm/(lotofhexnumbers)/volume1.

So I edit these two lines and press Ctrl+X this will boot but will not save this is just for testing.

insmod part_msdos

set root='(hd0,msdos1)'

If it works for you, boot back in to Ubuntu sudo gedit /boot/grub/grub.cfg.

Look for menuentry the name of your boot profile, edit the lines below and save, reboot and selecting the Windows will boot normally.

insmod part_msdos

set root='(hd0,msdos1)'
Eric Carvalho
  • 54,385
Bakly
  • 359
1
  1. Fix Windows via a Windows disk: https://help.ubuntu.com/community/RestoreUbuntu/XP/Vista/7Bootloader , until you get direct access to Windows.
  2. then use Boot-Repair to recover the GRUB menu
LovinBuntu
  • 3,615
  • 2
  • 20
  • 21
  • I tried this. It restored the windows after first step. But after using Boot-repair, it reproduced the same problem :( – Ravindra S Nov 10 '12 at 10:34
  • 1
    Boot-Repair simply reinstalls GRUB, so I guess the problem is that GRUB damages the Windows bootloader. Please indicate the URL that appears after you run the Recommended Repair. This will give us clues about your problem. – LovinBuntu Nov 13 '12 at 11:48
1

Running the boot-repair tool does more than fix grub. It looks like it busted your windows boot config. If you run the "startup repair" program that is on your windows 7 install disk, that should fix your Windows boot, but will probably again overwrite grub.

To fix this, try following the following steps:

Boot from the live CD.

Open up a terminal and find out which partition has your Ubuntu installation:

sudo fdisk -l

Mount your partition:

sudo mount /dev/sdaX /mnt  # sdaX is the partition that has Ubuntu

Bind mount some other necessary stuff:

for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done

chroot into your Ubuntu install:

sudo chroot /mnt

At this point, you're in your install, not the live CD, and running as root. Update grub:

update-grub
grub-install /dev/sda
update-grub

If everything worked without errors, then you're all set:

exit
sudo reboot

At this point, you should be able to choose which OS you want to boot into on startup.

Eliah Kagan
  • 117,780
jason
  • 174
  • 7
  • Why run update-grub a second time right after grub-install? Doesn't grub-install do everything update-grub does (and more)? – Eliah Kagan Jan 21 '13 at 08:56
0

Its the usual problem booting up a machine with more than one OS! If you sure that your hardware is completely healthy..(I mean your HDD cable is properly attached and meanwhile theres no bad sectors on your drive) though its rare,then you can go through these steps

I suggest you read this answer first

Next,I personally prefer using Poppy Linux to recover any system with corrupted bootloader..because theres a good featured Grub Installer that recognize both Windows and Linux Partitions or Bootloaders.but you can use any other tools like "grub boot disk" itself.but keep in mind, Windows environment is not a good choice to makeup your boot.

Then try to fix your MBR with related tools or bootable emergency disks.

and if grub correctly installed on boot sector ,best option to configure is your own hands to edit /boot/grub/grub.cfg do some search around grub configuring.

  • Hand modifying files in /boot is ALMOST NEVER the best option and it certainly is not here. – Alex L. Nov 17 '12 at 06:29
  • if theres knowledge around customizing boot configuration then surely its last resort when other options doesn't work,In my experience this is what helped me many times.and i recommended to gather some info before doing that.( Clearly you loose nothing with this method which can't be returnable ) – Amir Reza Adib Nov 17 '12 at 07:05
0

While you are in the Grub menu at boot, highlight the Windows 7 loader option, press E to edit and just replace

insmod ldm

with

insmod part_msdos

then press Ctrl+X.

If it works, you can make it permanent with the following procedure: Boot back to Ubuntu, open the terminal, type sudo gedit /boot/grub/grub.cfg and press Enter. Now hit Ctrl+F and search for Windows and you will see similar lines to the ones you saw while editing the Grub options. Replace the above code and save it to make it permanent.

This worked for me when Ubuntu 13.10 installation broke my Windows 7 loader.

Richard
  • 8,502
  • 11
  • 47
  • 72
Aun Rizvi
  • 101