On Linux, is it safe to use an external USB hard drive for the /home mount?

You can do this, but it isn't recommended. The biggest reason would be that the hard drive would always need to be connected 100% of the time, which negates the "portable" aspect of a USB hard drive.

If the decision is between an external USB drive or an internal SATA drive, go with the SATA drive. It'd be faster (even on USB3), and there would be no accidentally disconnecting it if you forget that you're logged into a computer that needs the drive to run.


Assuming you have a quality USB port, cable, and external drive, it should should be as safe and reliable as using an internal drive, especially if you have USB 3.0, if you are using USB 2.0 you will likely see some very noticeable performance degradation.


There is no problem with putting /home on an extermal drive, assuming:

  1. Your external drive does not get unplugged mid operation (neither windows nor Linux likes that. Windows ships with a default setting which makes access a lot slower but safer. Which means "do not unplug it while in use").
  2. Speed will be slower than a direct connection to the SATA or SAS bus. How much slower depends on the connection and for many things even USB 2 (at ~30MB/sec) might be fast enough. (e.g. playing MP3's, playing movies, reading config files, ...)
  3. This does assume that you do power up the external drive before you boot the laptop (else mounting will fail).
  4. It ignore any potential USB driver bugs. Easy enough to test though).

Note that there are lots of stories about external drives being less reliable. I have no idea if this is true or if it is merely a result of having droppable devices which get lugged around in backpacks, going from frost (outside) to hot humid college lecture halls. Maybe a bit of both.

Note 2: Do not get a WD green drive as external drive. They tend to park a lot. This is good for power usage if the drive is used as archive storage and then allowed to spin down. When in active use (either in windows, Linux or any other OS) you might get a drive which spins down every minute, then spins back up, and down, and up, and down, .... This tend to wear out the drive and waiting on it to spin back up adds delays to the OS.