Encontré instrucciones sobre cómo crear un disco virtual para usar con virtualbox que apunta a un dispositivo de bloque sin formato. No puedes hacerlo desde la interfaz de usuario, pero puedes hacerlo desde la línea de comando:
VBoxManage internalcommands createrawvmdk -filename "</path/to/file>.vmdk" -rawdisk /dev/sda
esto funciona muy bien excepto que no realiza E/S directa al dispositivo de bloque, por lo que todo termina en el caché de la página, y si sabe cómo funciona el caché de la página, alimenta al dispositivo de bloque las páginas sucias una a la vez. Esto lleva una eternidad en un dispositivo de bloqueo lento.
Si virtualbox accediera al dispositivo de bloque con io directo, las lecturas y escrituras por lotes irían directamente al dispositivo de bloque como un lote (una biografía con muchos segmentos) y todo iría mucho más rápido.
No puedo encontrar una opción en ninguna parte que describa cómo hacer esto o si es posible. ¿Alguien sabe algo así?