What is happening? I/O error, dev sda, sector 545868115
Solution 1:
You need to check and see if your disks are indeed failing. There are command line tools for monitoring SMART data (which is data that the hd reports about it's own health).
sudo apt-get install smartmontools gsmartcontrol
Gsmartcontrol is a gui version of the same tool, and is very easy to use. Select the disk and run a short or long test in addition to viewing any errors the hd is reporting.
To run via the the command line, do the following
sudo smartctl -i /dev/sda
Make sure SMART is turned on. If not,
sudo smartctl -s on /dev/sda
Finally, run
sudo smartctl -a /dev/sda
or if it's a serial ata drive.
sudo smartctl -a -d ata /dev/sda
See this link for more info about smartmontools. http://sourceforge.net/apps/trac/smartmontools/wiki/TocDoc
Solution 2:
Your HDD definitely looks like its reaching (EOL), End of Life. To elaborate on Javier's comment, I would suggest using an Ubuntu Live CD as opposed to the Disk Utility within your current Ubuntu instance, (for the obvious reason that when you plug in your external HDD the OS becomes unusable), and run the following command from the command line to check for disk errors:
e2fsck -f -c -v /dev/sdX
Where sdX is the mount point of your external HDD. The external HDD should be plugged in but not mounted, you can unmount the disk using the Disk Utility, and as Javier pointed out you can also use the Disk Utility to check the SMART status of the HDD if it is SMART capable/ enabled.
Again, do all of this from within the Ubuntu LiveCD. While you are at it, check for errors/ health of your primary HDD.