I recently had an issue with an expensive external hard drive which I use for Time Machine backups with a separate partition to share media on my home network. One day, “out of the blue” as we say, it disconnected from my iMac (27-inch, Late 2012 running macOS Mojave Version 10.14.6). You know the message … “Disk Not Ejected Properly.” At this point I could mount the HDD. I thought I’d share the issue and the solution as I could not find anything online that solved this problem.
First A Little Background
Once I closed the aforementioned message about the disk not being properly ejected I turned off my external drive, disconnected it, turned it on, and connected it again to the computer. However, It does not mount. Nothing seems to happen. The drive of course is running. It is connected. But my iMac doesn’t seem to recognize it.
I decided to check if the Disk Utility recognized it. As it turns it out it did! The drive itself is recognized but the two partitions, while in the list, are greyed out. I tried to mount both of them but it did not work. While I was certain I would need to reformat the entire drive I desperately wanted to get data off of the drive (for example my entire iTunes library that is 10+ years old!!!).
First of all I ordered a new SSD to use for my media sharing (e.g. iTunes folder, etc). Then I followed these steps while awaiting delivery (thank goodness for Amazon Prime):
1. Open Terminal and type:
This provides a list of all drives connected that the OS recognizes. Write down the name of the drive. In my case it was disk5. The entire path was “/dev/disk5”.
2. Because some services were attempting to use the drive I could not unmount it. So type:
sudo pkill -f fsck
You’ll need to enter your password but this will kill the process using the drive. The fsck process on Mac is for review and repair a drive. It was likely initiated by me while using Disk Utility in my troubleshooting process. In any event, I had to kill that process to successfully perform the next step.
3. Now type the following:
diskutil unmountdisk /dev/disk5
This successfully unmounted the entire drive. If you don’t run the above “sudo pkill -f fsck” command you will likely get a message that the volume timed out. If that happens step back and be sure to run that command.
4. Now it’s time to eject it. Run the following:
diskutil eject /dev/disk5
Of course, remember to replace “/dev/disk5” in the above commands with the drive you’re having issues with.
After performing those steps I was able to reconnect the drive and mount the partitions. That allowed me to transfer my data to my new drive (Yeah! Disaster averted). I then completely erased the original HDD and now use it strictly for Time Machine backups.
I hope you never have the issue I encountered. But in case you do hopefully my experience and solution will work for you as well.