Método mais simples : Windows (10 pelo menos, AFAIK) cria uma entrada no log de eventos quando você tenta ejetar uma unidade removível e não é possível porque um processo tem um bloqueio nela. Os dois IDs de Evento 225 mostrarão o ID do processo e o nome do processo responsável pelo bloqueio.
Passo a passo:
1) Inicie o visualizador de eventos
2) Abra "Logs do Windows" e depois "Sistema"
3) Clique com o botão direito do mouse em "System" e escolha "Filter Current Log"
4) Na caixa de diálogo que aparece, digite "225" (sem aspas) onde diz "Todos os IDs de evento"
5) Você verá todos os eventos relacionados à impossibilidade de ejetar porque um processo bloqueou a unidade.
6) Veja os timestamps em todas essas entradas e descubra quais estão relacionadas com a hora atual em que você tentou ejetar a unidade.
7) Tome a ação apropriada. Terminar uma tarefa normalmente (fechando o programa que tem o bloqueio) está OK na maior parte do tempo. Parar o serviço de pesquisa do Windows também está ok. Parar uma verificação antivírus deve estar ok (se você não suspeitar que tem algum vírus no momento). Entrar no gerenciador de tarefas e matar o processo pode não estar ok. Como lidar com isso está além do escopo desta questão.
8) (Salve a visão ...) no painel Ações (no quadro à direita) você poderia "Salvar Filtro na Visualização Personalizada ..." para encontrá-lo em "Exibições Personalizadas" (no quadro à esquerda acima dos "Registros do Windows")
ID do processo:
Nomedoprocesso:
8)Sevocênãotiveroutraentradacomumnomedeprocesso,oprocessodoSistema(IDdoprocesso4)estásegurandosuaunidade.Paracontornareste,vocêteráqueiraogerenciamentodediscoe colocar a unidade você deseja ejetar off-line . Se o arquivo estiver na sua unidade de inicialização, você não poderá colocá-lo off-line. Nesse caso, veja a observação abaixo:
UPDATE 2018 : Eu vi aplicativos como o WhatsApp Desktop mantendo alças no Chrome Canary por meio do System Process . Como você não pode ejetar o disco de inicialização (porque ele está em uso), a solução era usar outro Sysinternals bacana utilitário, chamado Handle . Depois de fechar o programa que tem o arquivo bloqueado, inicie a alça e execute (como um exemplo) handle64 "Chrome SxS\Application\chrome.exe"
para ver se as alças ainda estão presentes no arquivo que possui o bloqueio do PID 4. Por tentativa e erro, feche cada programa em execução, até que não haja mais alças no arquivo bloqueado.
Melhor método (pago)
Faça o download e execute SafelyRemove . Ele ajuda você a ejetar a unidade e, se não conseguir, exibe quais processos têm um bloqueio: