umount /home does not work

umount: /home device is busy

This means that you (or someone) is currently using files on the /home filesystem. The simplest solution is to have all normal users logout of the system and then log back in as root.

(You might need to configure the system to "Allow local system administrator login" in the Login Window application, Security tab.)

If umount still complains, then, as the error message states, have a look at the output of:

lsof /home

and,

fuser -mv /home

These commands will show you what processes have open files on the /home filesystem so you can go about closing them.

Note that something as seemingly innocent as having a terminal/console open with /home as the current working directory will cause /home to be in use and will stop umount /home.


I was having this problem in Google Compute engine, where I have setup /home as a separate partition.

In this case you can never log in as root, you must login as a user, then switch to root, so it was never possible to umount /home

My solution was to login as my normal user

ssh myuser@myvm

Then once inside I switched to root and closed my own session like this:

cd /
exec sudo su

First I went to the root folder in case my home folder complained about being in use. Then I replace my current bash session with a root session by prepending exec to sudo su

Now I could umount /home without issues.


Since the error message suggest that run lsof or fuser to show which process is using /home, you should try:

$ fuser -v /home/
                     USER        PID ACCESS COMMAND
/home:               root     kernel mount /home

With lsof the output can be longer.

The simple solution for you is trying to modify /etc/fstab to mount /home to different partition. Something like this:

/dev/sdb3    /home    ext4    defaults,noatime    0 2

Make sure to comment or remove old entry, restart and see the change.