Compartilhe arquivos entre o host Linux e o convidado do Windows

2

Estou tentando compartilhar arquivos entre o host Linux e o convidado do Windows e me deparei com o link:

Use virtudes gerenciador para compartilhar arquivos entre o host Linux e o convidado do Windows?

Como sugerido na terceira resposta, segui os passos:

  1. Encontre o deslocamento do seu sistema de arquivos (já que é um disco) usando fdisk :

    $ fdisk -lu Win.img
    
  2. Monte a imagem usando o comando:

    mount Win.img /mntpoint -o ro,loop,offset=32256
    

Aqui, esta parece ser uma abordagem promissora. Eu sou capaz de ver os arquivos da VM guest do Windows no host do Linux. No entanto, não consigo ver nenhuma alteração no lado do host se eu fizer alterações no convidado, a menos que eu remonte a imagem novamente.

Existe alguma maneira de atualizar essa memória para que eu possa ver as alterações no lado do host também?

    
por Harshal Patel 01.02.2015 / 00:08

5 respostas

2

Não, a leitura das imagens não é confiável quando o disco está sendo usado pelo convidado.

Se você desligar o convidado, tudo funcionará bem (porque nenhuma alteração será feita).

Se você deseja acesso ao vivo aos arquivos, é necessário solicitar as janelas corretamente, EG: smbmount ou compartilhe um sistema de arquivos linux com o convidado usando o samba. Este último evita problemas de bloqueio de arquivos no Windows, o que é conveniente para coisas como arquivos de log.

    
por 01.02.2015 / 04:02
2

você pode simplesmente usar o OpenSSH para isso. No windows guest, instale o WinSCP para acessar remotamente o seu servidor Linux. você pode encontrar informações sobre como configurar o OpenSSH aqui link e pode baixar o WinSCP aqui: link

    
por 01.02.2015 / 22:08
2

Para o compartilhamento de arquivos do Linux para o Windows ou vice-versa, você pode usar apenas WinScp no Windows e tentar copiar o arquivo para os dois sistemas.

    
por 22.01.2016 / 12:49
0

Montar uma imagem ro não é destrutivo; essa configuração pode ajudar você:

sudo losetup -f image_name
dev=$(sudo losetup -j image_name|sed 's/:.*//')
sudo kpartx -av $dev

As partições aparecerão em /dev/mapper , por exemplo: loop0p1 .

mount -t fs -o ro /dev/mapper/loop0p1 /mnt

Para excluir, kpartx -d $dev . O código losetup pode não ser necessário dependendo da distribuição. Use diretamente kpartx -av image_name ; kpartx -d image_name no Ubuntu.

Para o melhor resultado: use libguestfs . Há um cli shell guestfish parte do libguestfs-tools no Ubuntu.

    
por 01.02.2015 / 17:13
0

A razão pela qual isso é, em princípio, não confiável é o armazenamento em cache - provavelmente tanto no kernel host quanto no guest (tanto a VM quanto o SO). No primeiro caso, o kernel do host armazena em cache as gravações e não percebe que os dados no arquivo de imagem da VM montados em algum lugar foram alterados.

No último caso, a VM (eu me KVM ou outra coisa) provavelmente armazenará em cache as gravações na imagem e somente executará a gravação (ou seja, fornecendo os dados para o kernel do host, o que de longe não significa os dados vai ser escrito para o meio subjacente, a propósito) em um momento mais conveniente. Isso pode ser aliviado solicitando que a VM faça as gravações imediatamente (para QEMU / KVM, consulte a opção cache para o argumento -drive na página qemu(1) man). Além disso, o sistema operacional da missão também faz alguma forma de armazenamento em cache, portanto, pode demorar um pouco até que os dados atinjam o limite do convidado / VM.

Dito isto, o compartilhamento de dados geralmente é feito via rede - suas opções são numerosas. Para o Windows, a opção óbvia é CIFS / SMB, desde que tenha suporte a convidado nativo. Tudo o que você precisa fazer é descobrir a configuração apropriada do Samba no host. Se acontecer de você estar usando o QEMU / KVM, ele pode até mesmo fazer um compartilhamento básico de samba para você - veja -net user,smb=... (a mesma fonte acima). Você também pode configurar o FTP ou o WebDAV no seu host, embora o último possa ser um pouco mais complicado do que o Samba. O SSH / SFTP é outra opção.

Específico para o QEMU (/ KVM) é o virtual fat , que permite exportar um diretório existente - sujeito a restrições, não deixe de ler o parágrafo "O que você nunca deve fazer" - como um sistema de arquivos FAT para o convidado.

    
por 01.02.2015 / 23:20