Ubuntu: “A Disk Read Error” while starting Windows after Ubuntu upgrade + Boot Repair



Question:

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?


Solution:1

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)'  


Solution:2

  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


Solution:3

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.


Solution:4

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.


Solution:5

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.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »