Encontrei instruções sobre como criar um disco virtual para uso com o VirtualBox que aponta para um dispositivo de bloco bruto. Você não pode fazer isso na interface do usuário, mas pode fazer isso na linha de comando:
VBoxManage internalcommands createrawvmdk -filename "</path/to/file>.vmdk" -rawdisk /dev/sda
isso funciona muito bem, exceto que não faz E/S direta para o dispositivo de bloco, então tudo acaba no cache da página, e se você sabe como o cache da página funciona, ele alimenta o dispositivo de bloco com páginas sujas, uma de cada vez. Isso leva uma eternidade em um dispositivo de bloqueio lento.
Se o virtualbox acessasse o dispositivo de bloco com io direto, as leituras e gravações em lote iriam diretamente para o dispositivo de bloco como um lote (uma biografia com muitos segmentos) e tudo seria muito mais rápido.
Não consigo encontrar uma opção em nenhum lugar que descreva como fazer isso ou se é possível. Alguém sabe de algo assim?