Como mover o CSC de uma VM do Windows 7 para um volume de rede / host?

0

Estou executando uma máquina virtual do Windows 7 Pro no VMware no Ubuntu 14.04 e gostaria de mover o CSC do Win7 (cache do lado do cliente, para arquivos offline) para a partição de dados no host do Linux. Este é um volume local, mas considerado pelo Windows como um volume de rede.

Recursos on-line disponíveis sugerem dois métodos, nenhum dos quais (como implementado) parece ainda funcionar.

O primeiro método desativa Arquivos Offline, exclui C: \ Windows \ CSC e seus subdiretórios, cria uma junção de diretório para o novo local e reativa os Arquivos Offline. Esse método falha porque uma junção de diretório só pode fazer referência a um volume local e o CSC não é reconstruído ao usar um link simbólico de diretório para o volume do host (mklink / d, em vez de mklink / j).

O segundo método limpa o CSC, depois cria HKLM / System / CurrentControlSet / Services / CSC / Parâmetros / CacheLocation = [o diretório de destino]. Isso impede que o Win7 seja reinicializado. [Ainda bem que era apenas uma máquina virtual que eu poderia clonar novamente com alguns cliques do mouse.]

Portanto, a questão é se é possível, e como, mover o CSC de uma máquina virtual do Windows 7 Pro para o volume de um host. Qualquer pensamento seria muito apreciado.

    
por ebsf 12.04.2015 / 04:29

1 resposta

0

Eu nunca tentei isso, mas suspeito strongmente que isso não pode ser feito.

As ferramentas VMWare dentro do acesso de rede "falso" da VM ao host, como evidenciado pelo fato de que você ainda pode acessar o host (por meio de um caminho UNC) mesmo que a VM não tenha acesso à rede.

O CSC.sys é um driver de sistema de baixo nível que fica no mesmo nível da pilha da rede. Eu suspeito que ele carrega primeiro para que ele possa fazer a coisa, e é inteligente o suficiente para saber a diferença entre um volume local e um caminho de rede (mesmo um "falsificado"), já que esse é o ponto principal de sua existência. O local do cache deve ser um local de acesso garantido no caso de uma interrupção de rede. O parâmetro existe apenas para colocá-lo em um volume local diferente no caso de uma unidade C: com restrição de espaço.

Colocar o local do cache em uma unidade de rede (mesmo um VMware falso) estaria rompendo um buraco no espaço-tempo no que diz respeito ao sistema operacional. Provavelmente, é por isso que o Windows não inicializa quando você tenta. Ninguém teria pensado em corrigir esse bug, uma vez que não faz sentido (afinal, você poderia teoricamente isolar o convidado e / ou desinstalar o VMWare Tools e também perderia o acesso aos volumes do host).

Além disso, as junções NTFS não são tão robustas quanto os hardlinks e links simbólicos * nix. Existem muitos programas que não são enganados por eles. Mesmo o Windows Explorer não sabia o que fazer com eles antes do lançamento do Windows Vista, e a única razão para isso foi que a Microsoft começou a usá-los para compatibilidade com o Windows XP.

Se você realmente conseguir fazer esse trabalho de alguma forma, eu adoraria saber como você fez isso.

    
por 13.04.2015 / 12:32