I have a Macbook Pro that is currently running OSX. I installed ubuntu on a Windows laptop I had lying around to try it out. I liked it a lot but I didn't want to commit any space to it on my internal storage on my Macbook Pro (my internal storage is not very large to begin with).
I wanted to install ubuntu to a larger external (bootable) hard drive. I downloaded ubuntu 12.04 (.iso file), and then I burned the image to a DVD. I booted up my Mac in the "try ubuntu" mode. Then I setup my wireless connection and clicked "install ubuntu". Then I clicked the "something else" option.
This is the guide I used to partition my hard drive
Note: I made sure to select my external hard drive (Seagate 500 gb external drive) for the boot loader installation
Once I had everything partitioned correctly, I started the installation which took about 15 minutes. I rebooted my Mac and it booted directly into ubuntu. I installed a bunch of updates and then I shut my computer down. I wanted to boot up OSX again so I removed the hard drive and turned my computer on. It came up with the no such device: grub rescue
error.
Here is a question about the error for those who are unfamiliar:
So what this means is that even know I told the installer to put the boot loader on the external hard drive, it put it on my internal hard drive. It took me days of screwing around to try to get grub off, I ended up just restoring my Macbook from my Time Machine.
This is obviously a problem in ubuntu 12.04. It seems like if you want to install ubuntu 12.04, you should probably just partition your internal because it has issues with installing to an external hard drive. I don't want to install ubuntu on my internal hard drive because if I do that neither OS will have a practical amount of space.
Now here is my question:
Is the problem fixed in ubuntu 13.04? If the problem is not fixed in 13.04, is there a build of ubuntu where it is not a problem?
BOUNTY
How can I install Ubuntu on an external USB Hard drive WITHOUT installing Grub (or Grub2) onto my Mac internal storage?
Just a theory here, but might be worth trying. Could you boot to your Ubuntu on the external HDD, run Boot-Repair and select Advanced Options. Assuming you don't have Boot-Repair installed:
Referenced from this source:
Once Boot-Repair is installed, you should be able to choose Advanced Options, then choose which OS to boot by default (OS X in your case). You would also want to choose "Place GRUB into: " and select the partition that you have Ubuntu installed into (your external drive).
Theoretically, this should keep GRUB from interfering from your OS X bootloader while giving you the option to boot Ubuntu when your External HDD is connected. I'm at work currently and therefore away from my Ubuntu Desktop, so I am unable to try this. Let me know how it goes! Good luck!
Ok, here is my "best" answer.
First, grub-update should write it's updates to the device represented by "/" when doing update-grub. That's the core of your problem.
'apt-get' will run update-grub from time to time, and if update-grub tries to write to the wrong device... Then your back to the nightmare of trying to get the Mac to actually boot far enough to even read a CD. In addition there doesn't seem to be a way I can find to get update-grub to not run.
What I have done in the past to get this to work is cludgy, but it works.
apt-get install grub-efi
What this does is leaves the MBR version of grub on the usb device and instead "updates" the efi version of grub. This makes an extra entry in refit, but has little effect (other then annoying).
Unfortunately it also means you have to update grub by had from a recovery CD every single time. You can't update it from your local install because grub-update would write to the wrong device again during install, and the normal grub-update is only writing to EFI files.
It does however keep the USB version of Linux booting, and without borking your hard drive to the point that your trying to find pre-Lion install disks to get it to work again.
The very best answer would be to just disable auto running of grub-update, but I have yet to find a way to do that.