Sua idéia de um live CD do Linux é boa.
O que eu faço é uma limpeza parcial do disco rígido primeiro para reduzir a chance de infectar qualquer coisa.
Primeiro, apague todos os arquivos que possam conter um vírus - arquivos EXE, VBS, SCR, COM, BAT, CMD - basicamente qualquer coisa que possa ser executada diretamente.# find /path/to/hard/drive -iname '*.exe' -iname '*.vbs' -iname '*.scr' -iname '*.com' -iname '*.cmd' -delete
Se houver algum outro tipo de arquivo que você saiba que não desejará copiar, você poderá excluí-los também - arquivos como * .ocx, etc.
Depois, você pode fazer uma lista de todos os arquivos que você acha que deseja manter:
# find /path/to/hard/drive -iname '*.txt' -iname '*.jpg' -iname '*.png' [...] >/tmp/keepfiles
Você pode trabalhar manualmente através desse arquivo (/ tmp / keepfiles) removendo todos os arquivos que não deseja manter. Você pode muito bem remover qualquer coisa que não esteja no diretório / Users. O que resta pode ser copiado para o externo com uma quantidade razoável de confiança de que ele não está infectado. Ainda não está garantido.
# rsync -avP --include-file=/tmp/keepfiles /path/to/hard/drive /path/to/external/disk
Isso deve manter sua estrutura de diretórios existente na cópia. 1
Assim que tudo estiver pronto, você poderá remover a unidade externa e limpar o disco rígido e instalar o Windows. Depois de ter feito isso, você deve instalar um bom programa anti-malware - eu recomendo [Malware Bytes] [1], mas há muitos outros bons por aí. Somente quando um desses programas tiver sido instalado, você deve considerar a possibilidade de conectar a unidade externa.
Faça a varredura da unidade externa como a primeira coisa que você faz e digitalize-a bem.
1 Eu não testei este comando, então você pode precisar ajustá-lo para que ele funcione corretamente. Leia as man pages.