There is a chance to repair it with command line (in Terminal) with the terminal utility as described in Apple's support docs, shown below:
Use the command line and the fsck_hfs -l
command.
Start up your computer and log in as an administrator.
Open Terminal (/Applications/Utilities).
At the prompt, type the following command and then press Return to determine your filesytem ID:
df -hl
Look for some lines of text that look like this:
Filesystem Size Used Avail Capacity Mounted on
/dev/disk0s3 37G 20G 17G 55% /
/dev/disk0s5 37G 37G 641M 98% /Volumes/Storage
Make a note of the External Disk "disk" name that appears after /dev/, such as "/dev/disk0s3." This is your filesystem ID for your External volume.
At the prompt, type the following command and then press Return:
df -hl
Then type the following command, where "disk1" is your filesystem ID you noted in step 4, then press Return:
sudo fsck_hfs -l /dev/disk1
When prompted, enter your admin password, then press Return to begin the verification.
You should see messages like these during the disk check:
** /dev/rdisk0s3 (NO WRITE)
** Root file system
** Checking HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
** Checking multi-linked files.
** Checking Catalog hierarchy.
** Checking Extended Attributes file.
** Checking volume bitmap.
** Checking volume information.
** The volume Macintosh HD appears to be OK.
Best Answer
Yeah, if Disk Utility is telling you it's time to backup and erase then it's not looking good. Perhaps other disk repair utilities can help? But you might just want to heed the warning and backup and erase. :)
You can force unmount volumes but you can't force mount them. Using the command line, get the device name:
diskutil list
In my case, it's disk2:
diskutil mountDisk /dev/disk2
Or:
diskutil mount /dev/disk2s2
You can run a repair like in Disk Utility, in this case you'll want to include the slice number (disk2s2):
diskutil repairVolume /dev/disk2s2