During an rsync my USB stick became 100% full without me noticing it. When I tried to eject it, I got a message that it was in use, but no application was named and I could not see anything that was using it, so I took the option to "force-eject" it.
After unplugging and replugging the USB stick it silently failed to mount.
(stable) └─❱❱❱ diskutil list 1 ⏎ +6150 22:06 ❰─┘ /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *251.0 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_HFS MacL2938 250.0 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 /dev/disk1 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *124.2 GB disk1 1: EFI EFI 209.7 MB disk1s1 2: Apple_HFS USB128GB 123.9 GB disk1s2
The culprit is
Mounting it fails:
(stable) └─❱❱❱ diskutil mount readOnly USB128GB 1 ⏎ +6160 22:17 ❰─┘ Volume on disk1s2 failed to mount If the volume is damaged, try the "readOnly" option
and the volume info indicates the 0 Bytes available space (possibly the reason for the problems?)
(stable) └─❱❱❱ diskutil info USB128GB +6130 20:45 ❰─┘ Device Identifier: disk1s2 Device Node: /dev/disk1s2 Whole: No Part of Whole: disk1 Device / Media Name: USB128GB Volume Name: USB128GB Mounted: No File System Personality: HFS+ Type (Bundle): hfs Name (User Visible): Mac OS Extended Journal: Unknown (not mounted) Owners: Disabled Partition Type: Apple_HFS OS Can Be Installed: No Media Type: Generic Protocol: USB SMART Status: Not Supported Volume UUID: D41ECDE8-6BEF-300F-B654-F1DB70D5425B Disk / Partition UUID: 6233D470-4709-4BE6-9DD9-1AD6997F5013 Total Size: 123.9 GB (123874533376 Bytes) (exactly 241942448 512-Byte-Units) Volume Free Space: 0 B (0 Bytes) (exactly 0 512-Byte-Units) Device Block Size: 512 Bytes Read-Only Media: Yes Read-Only Volume: Not applicable (not mounted) Device Location: External Removable Media: Yes Media Removal: Software-Activated
(stable) └─❱❱❱ diskutil verifyDisk disk1 +6151 22:07 ❰─┘ Started partition map verification on disk1 Checking prerequisites Checking the partition list Checking the partition map size Checking for an EFI system partition Checking the EFI system partition's size Checking the EFI system partition's file system Checking the EFI system partition's folder content Problems were found with the partition map which might prevent booting Error: -69842: Couldn't mount disk
while the volume USB128GB seems to be okay:
(stable) └─❱❱❱ diskutil verifyVolume USB128GB 1 ⏎ +6152 22:08 ❰─┘ Started file system verification on disk1s2 USB128GB Verifying file system Checking Journaled HFS Plus volume Checking extents overflow file Checking catalog file Checking multi-linked files Checking catalog hierarchy Checking extended attributes file Checking volume bitmap Checking volume information The volume USB128GB appears to be OK File system check exit code is 0 Finished file system verification on disk1s2 USB128GB
repairDisk fails as well:
(stable) └─❱❱❱ diskutil repairDisk disk1 +6158 22:15 ❰─┘ Unable to repair this whole disk: A writable disk is required (-69772)
Does a device need remaining space to be repairable? I'm confused why a diskrepair would fail with this message or how it even gets un-writeable, while the volume isn't even mounted (so it's not a mount-RO vs mount-RW question).
gpt info, not sure it will help:
(stable) └─❱❱❱ sudo gpt -r -vvv show -l /dev/disk1 +6153 22:09 ❰─┘ Password: gpt show: /dev/disk1: mediasize=124218507264; sectorsize=512; blocks=242614272 gpt show: /dev/disk1: PMBR at sector 0 gpt show: /dev/disk1: Pri GPT at sector 1 gpt show: /dev/disk1: GPT partition: type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, start=40, size=409600 gpt show: /dev/disk1: GPT partition: type=48465300-0000-11AA-AA11-00306543ECAC, start=409640, size=241942448 gpt show: /dev/disk1: Sec GPT at sector 242614271 start size index contents 0 1 PMBR 1 1 Pri GPT header 2 32 Pri GPT table 34 6 40 409600 1 GPT part - "EFI System Partition" 409640 241942448 2 GPT part - "USB128GB" 242352088 262151 242614239 32 Sec GPT table 242614271 1 Sec GPT header
The Google-FU is strong in this one, but so far I failed to make any sense of this, any tips would be highly appreciated.
Note that I'd like to salvage the data if possible, which is why I haven't tried to rewrite the partition map or anything else drastic yet. It's a very long time since I did such debugging back in the days when I compiled my own Linux kernels and harddrive drivers, so please forgive me when I omitted something obvious.
Update: For whatever reason, Disk Utility thinks the medium is not journaled, while I'm pretty sure that it was active (not 100% though).