Por uma conversa com os desenvolvedores do VirtualBox, isso não é possível. A única sugestão deles era usar um CD inicializável que executasse as ações necessárias.
Eu tenho uma necessidade de gravar no disco rígido de um convidado do VirtualBox depois que um instantâneo é tirado (eu não posso modificar o arquivo de apoio original (VDI, dd, qualquer). Eu estava esperando que houvesse alguma maneira no VBox para modificar o disco de snapshot diferenciado através de comandos VBoxManage ou sua API (muito parecido com o VMWare permite ler e escrever setores diretamente em um disco através de seus comandos de gerenciamento / api, sem interagir com o arquivo original).
A única solução que tenho é o script de uma série de tarefas que insere um CD inicializável usando o storageattach VBoxManage, monta qualquer partição que encontrar, executa comandos e desliga-se automaticamente. Eu prefiro interagir com a máquina com ela desligada.
Idealmente, eu esperava que o VirtualBox pudesse expor algo como um dispositivo de bloco virtual em um host Linux para que eu pudesse montá-lo usando qualquer driver que fosse necessário e executar minhas tarefas necessárias.
Eu sei que existem ferramentas para montar VDI, mas estas não são utilizáveis por várias razões. O mais importante é que eu não posso modificar o backing store (daí o instantâneo), sendo que dois deles nem sempre são VDI (os destinos iSCSI podem ser o armazenamento de apoio em vez de um arquivo local)
O VBox tem alguns comandos usando o controle de guest do VBoxManage ( link ), no entanto, requer que a máquina esteja ligada, adições de convidados instaladas e credenciais para uma conta no convidado. Também não permite nada abaixo do acesso ao nível de arquivo.
Uma solução alternativa melhorada:
Você pode criar uma imagem de CD inicializável (ou um disco adicional que se torne o disco de inicialização e que você remove posteriormente) que não monta o disco, mas inicia o sshd. Um script no host pode se conectar via ssh e exportar o arquivo do dispositivo do disco via sshfs. Mas tenho que admitir que nunca tentei acessar um arquivo de dispositivo via sshfs. Se isso não for possível, minha próxima tentativa foi mapear o arquivo do dispositivo para um arquivo normal, por exemplo, FUSÃO.