And reading it block per block into a DMG file that can be mounted afterwards:
natasha@ATREIDES:~/misc$ brew install ddrescue natasha@ATREIDES:~/misc$ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *1.0 XB disk0 1: EFI EFI 209.7 XB disk0s1 2: Apple_CoreStorage Macintosh HD 999.7 XB disk0s2 : natasha@ATREIDES:~/misc$ diskutil unmount /dev/disk3s1 # or natasha@ATREIDES:~/misc$ diskutil unmountDisk /dev/disk3 Unmount of all volumes on disk3 was successful natasha@ATREIDES:~/misc$ ddrescue -v -n -c 4096 /dev/disk3 rescue.dmg rescue.log GNU ddrescue 1.20 About to copy an unknown number of Bytes from /dev/disk3 to rescue.dmg. Starting positions: infile = 0 B, outfile = 0 B Copy block size: 4096 sectors Initial skip size: 128 sectors Sector size: 512 Bytes Press Ctrl-C to interrupt rescued: 610271 kB, errsize: 0 B, current rate: 190 kB/s ipos: 641728 kB, errors: 0, average rate: 437 kB/s opos: 641728 kB, run time: 23m 16s, remaining time: n/a time since last successful read: 0s Copying non-tried blocks... Pass 1 (forwards)