Checking for Data Corruption after macOS Hoses Your System
A kernel panic should be a “never happens” or at least a rare event (once a year) on a competently implemented operating system. But macOS Big Sur does not come close to meeting that standard.
Instead we get superficial crapware and decreased reliability with every new macOS release—iterative buzzing manure piles heaped over macOS Big Sur—delivery soon with macOS Monterey.
After a macOS Big Sur kernel panic hosed my login account, I spent much of my day dealing with the aftermath.
A key recovery step is to check that data has not been corrupted. Using IntegrityChecker, I was able to validate two of my primary volumes, and discover a corrupted file on a 3rd. I got lucky given that the crash locked me out of my login account.
Checking for data corruption
If macOS crashes so hard that it hoses your login account, how in the world would you know that your data is intact, without using IntegrityChecker to check data integrity? Nothing else will serve.
The post-crash peace of mind that comes from using IntegrityChecker (java version, "icj") is priceless for any professional.
Primary SSD work volume — 'Master'
All OK on Master.
diglloydMP:MPG lloyd$ nice icj verify Master # icj 2.0 fc6 2020-10-01 08:20 # ©2020 DIGLLOYD INC. All Rights Reserved. Valid license required. https://diglloydtools.com ... Process folder: /Volumes/Master ======================================================================================================================== 2021-10-04 14:19:35 : 12325 folders totaling 1377.1 GiB /Volumes/Master ======================================================================================================================== # With hash: 355360 # Without hash: 93 # Hashed: 355169 # Empty: 184 # Missing Files: 0 # Missing Folders: 0 # New Folders: 64 # Changed size: 10 # Changed date: 3 # Changed content + date, size unchanged: 3 # Total files differing: 13 # Num ignored folders: 9 # Num ignored files: 860 # SUSPICIOUS files: 0
Secondary SSD storage volume — 'Work'
A backup made just prior to my trip and thus a day prior to the crash shows a corrupted file. I was able to restore it from the backup and verify it as good. That’s not proof that the crash did it, but it sure looks like that, because the backed-up file verifies as intact. I replaced the damaged file with the intact backup file.
diglloydMP:MPG lloyd$ nice icj verify Work # icj 2.0 fc6 2020-10-01 08:20 Hashing 154267 files totaling 7451.3 GiB in 11774 folders... 0%: 502 files 18.6 GiB @ 6332 MiB/sec, 00:03.004 ... 35%: 50153 files 2654.6 GiB @ 3898 MiB/sec, 11:37 /Volumes/Work/Archived/2019-0922-TripPhotos/NikonD850m/2019-1007-NikonD850m-DeathValleyMine/_DBW1715-Red090_BW.dng SUSPICIOUS 35%: 50444 files 2673.8 GiB @ 3910 MiB/sec, 11:40 ... 100%: 154267 files 7451.3 GiB @ 3495 MiB/sec, 36:22 Checking overall status for 11774 folders... done. Folders with changes: 1: /Volumes/Work/Archived/2019-0922-TripPhotos/NikonD850m/2019-1007-NikonD850m-DeathValleyMine Missing folders: none -- begin detailed file changes -- SUSPICIOUS_FILES 1 /Volumes/Work/Archived/2019-0922-TripPhotos/NikonD850m/2019-1007-NikonD850m-DeathValleyMine/_DBW1715-Red090_BW.dng -- end detailed file changes -- ======================================================================================================================== 2021-10-04 15:00:27 : 11774 folders totaling 7451.3 GiB /Volumes/Work ======================================================================================================================== # With hash: 154267 # Without hash: 0 # Hashed: 154267 # Missing Files: 0 # Missing Folders: 0 # Changed size: 0 # Changed date: 0 # Changed content + date, size unchanged: 0 # Total files differing: 0 # Num ignored folders: 5 # Num ignored files: 436 # SUSPICIOUS files: 1 (!) same size and date, but content changed (!) (!) POSSIBLE DATA CORRUPTION (!) A few ill-behaved programs change files without changing the modification date. The following file contents have changed, but file dates and size have not changed. /Volumes/Work/Archived/2019-0922-TripPhotos/NikonD850m/2019-1007-NikonD850m-DeathValleyMine/_DBW1715-Red090_BW.dng
Tertiary SSD work volume — 'Archived'
All OK on Archived.
diglloydMP:MPG lloyd$ nice icj verify 'Archived' # icj 2.0 fc6 2020-10-01 08:20 # ©2020 DIGLLOYD INC. All Rights Reserved. Valid license required. https://diglloydtools.com ... Process folder: /Volumes/Archived ... 100%: 260935 files 5195.9 GiB @ 2671 MiB/sec, 33:11 Checking overall status for 16675 folders... done. Missing folders: none ======================================================================================================================== 2021-10-04 15:33:57 : 16675 folders totaling 5195.9 GiB /Volumes/Archive ======================================================================================================================== # With hash: 260935 # Without hash: 0 # Hashed: 260935 # Missing Files: 0 # Missing Folders: 0 # Changed size: 0 # Changed date: 0 # Changed content + date, size unchanged: 0 # Total files differing: 0 # Num ignored folders: 7 # Num ignored files: 566 # SUSPICIOUS files: 0