External disk (2 TB Seagate) is captured by fsck when plugged into a USB 3.0 port on my Macbook Pro (macOS Mojave 10.14.5). This has been discussed by @ArielAllon, and indeed, when I kill the fsck process, the disk is immediately mounted and I can see and read it. When I eject the disk and plug it in again, I always have to kill fsck. I have left fsck running for 12 hours and it never completes. When I kill it, a pop-up warns that the disk could not be repaired.

My problem now, as Ariel mentioned, is that the disk is read-only, owned by root (or wheel?). I would like to use the remaining 150 GB on the disk, (remove old backups, etc) and prevent fsck from capturing it when attached. Thanks for any help...

  • What is the physical interface for the disk? Just edit that into the question like I edited the tags, please. – bmike Jul 24 '19 at 17:03
  • @bmike, I have edited the first sentence to state that the interface is USB direct to my Macbook – Ben Jul 24 '19 at 19:38
  • Thanks for the helpful edit, I doubt the linked questions above will help, but they are good reading. I’ve answered, but you might need to take that drive to another OS or specialized tool to salvage / copy data off and then try wiping it. – bmike Jul 25 '19 at 2:10

The two items that come to mind are getting software that can try and repair the disk structure and prevent the mounting like Disk Warrior or connecting the drive using a USB write blocker / forensic adapter so that the disk just presents as read-only so you can get any data off it.

Then, you would wipe the drive if you can’t get it sorted. The native tool will choke on fsck even if you disable the automatic check when it comes time to mount the drive normally.

| improve this answer | |

I used to frequently have that problem of waiting for a long time for a USB hard disk to mount while waiting for fsck to complete - due to a defective USB cable that occasionally disconnect the disk.

Clean Unmount

I have made it a habit to manually unmount the disk from command line

hdiutil eject disk2

Prevent fsck From Checking

From https://apple.stackexchange.com/a/230712/57733, first get the UUID of the external disk with diskutil list, then edit /etc/fstab with the value

diskutil info /dev/diskXsY
sudo vifs
# Replace with the UUID of your disk
UUID=2FECDB7A-15F0-36F9-9A47-483B9669D6DC none exfat rw,auto 0 0

Or a more direct method is to rename the fsck link and binary

sudo mv /sbin/fsck_exfat /sbin/fsck_exfat.disabled
sudo mv  /System/Library/Filesystems/exfat.fs/Contents/Resources/fsck_exfat  /System/Library/Filesystems/exfat.fs/Contents/Resources/fsck_exfat.disabled
| improve this answer | |
  • 2
    Ok, the apple Disk Utility's first aid finally fixed the problem, where it had failed before. All is working now, I guess the lesson in this case was to be patient and give the disk utility several attempts to fix the disk even after failing. Thanks for your comments and suggestions - I will try them if/when this happens again. – Ben Jul 25 '19 at 2:47
  • Great news @ben so glad it worked. I was afraid you were toast. – bmike Jul 25 '19 at 3:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .