Você pode tentar usar ddrescue para clonar os dados brutos da unidade em outra unidade (pelo menos como grande como a falha), ou para uma imagem de disco (novamente, em outra unidade). Em seguida, copie os arquivos do clone.
O que o ddrescue faz é copiar o conteúdo do drive, ignorando quaisquer seções que não leiam com sucesso; em seguida, ele volta e tenta novamente as seções que obtiveram erros na primeira passagem e, eventualmente, obtém tudo. Isso é ótimo se você quer tudo da unidade, mas não lhe dá a opção de escolher apenas alguns arquivos e / ou pastas que lhe interessam; Eu não sei de nada que manipule erros como o ddrecover, mas permita a seletividade.
O uso será um pouco intuitivo no OS X, já que ele quer trabalhar com o arquivo de dispositivo de nível unix, não com um volume montado. Existe um procedimento em tinyapps.org para saber como usá-lo para recuperar a unidade interna de um Mac; na sua situação, você simplesmente pularia colocando o Mac no modo de disco de destino (etapa 1) e talvez usasse o USB em vez do FireWire na etapa 4.
Existe o ddrescue como um binário compilado para o OS X no TinyApps . O importante é que seus links de download exijam uma conta / senha. A conta é a primeira linha do texto em seu logotipo (o caso é importante!) E a senha é a segunda linha do texto em seu logotipo (consulte as Perguntas frequentes do TinyApps.org para uma explicação).