web-dev-qa-db-ja.com

LinuxホストとWindowsゲスト間でファイルを共有するためにvirt-managerを使用しますか?

Virt-manager内で「ファイルシステムパススルー」仮想ハードウェアオプションを使用して、Linuxホスト上のフォルダーをWindowsゲストと共有することはできますか? Linuxゲストでこれを行う方法のチュートリアルをいくつか見つけましたが、Windowsゲストでこれを試行すると、VMを起動しようとすると次のエラーメッセージが表示されます。

Error starting domain: Unable to read from monitor: Connection reset by peer

Traceback (most recent call last):   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 100, in cb_wrapper
    callback(asyncjob, *args, **kwargs)   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 122, in tmpcb
    callback(*args, **kwargs)   File "/usr/share/virt-manager/virtManager/domain.py", line 1210, in startup
    self._backend.create()   File "/usr/lib64/python2.7/site-packages/libvirt.py", line 698, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: Unable to read from monitor: Connection reset by peer

私はいくつかのドキュメントを調達してみましたが、見つけることができたのは FAQ and "some screenshots")にリンクしている公式ページ だけでした。

29
Blaker

Windowsゲストを使用してこれが可能であるとは思わない。私は通常、Linux上にSambaサーバーをセットアップしますKVMホスト、次にそれを使用してフォルダーを共有しますKVMゲストに。

ファイルシステムパススルー

KVMホストのディレクトリとKVMゲスト(Linux))の共有に関するドキュメントは、virt-managerのWebサイトから入手できます。このページのタイトルは次のとおりです。- ゲストとホストファイルを共有する例

Sambaのセットアップ

Linux-kvmのWebサイトには、Sambaの設定方法も記載されています。 ヒント:Linuxホスト上のファイルをWindowsゲストとSambaを使用して共有する方法

17
slm

GnomeとKDEの両方のデスクトップ環境のデフォルトのファイルマネージャーは、SMBプロトコルを使用して、Windows共有リソースに簡単にアクセスできます。
Windows OSのため、LinuxホストマシンにSambaサーバーをインストールする必要はありません。組み込みのSamba通信プロトコルがすでに付属しています。

あなたのゲストO.S.たとえば、「Windows XP」の場合、共有するフォルダを選択するか、そのためのフォルダを作成します。たとえば、 "hostshare"と右クリック-> "properties" -> "sharing "タブ->選択:"ネットワーク上でこのフォルダを共有 "および"ネットワークユーザーがファイルを変更することを許可する "。

この時点で、Windowsのファイアウォールが共有ファイルとプリンタリソースへのアクセスを許可していることを確認してください。 「スタートメニュー」に移動-> "settings "->"コントロールパネル "->"windows firewall "->"Exceptions "タブ->選択:-> "ファイルとプリンターの共有"。

LinuxホストマシンがWindowsゲストV.Mから表示できることを確認します。ネットワークを介して。したがって、Windowsのコマンドラインタイプから:(ping 10.0.0.12)この場合(例として)「10.0.0.12」はホストですIPアドレス;自分で変更する必要があります。エコーの応答がない場合は、トラブルシューティングを行う必要があります。
そしてLinuxコマンドラインから同じことを行います: "ping -c3 192.168.122.216"、ここでこれらの数字(例として)ゲストVMに割り当てられたvirt-IPアドレスに属します。自分で変更する必要があります。

Linuxホストマシンから「Nautilus」を開き、「File」に移動します-> "Connect to Server" -> Into "サーバーアドレス "ボックスタイプ:"smb/192.168.122.216 "-> = "Connect"。
Nautilusウィンドウが開き、Windows組み込みのSambaサーバーの参照可能なリソースが表示されます。 「hostshare」のWindowsフォルダーのコンテンツを表示してアクセスできます。それで全部です!

7
Andy

@slmが最良の答えを提供してくれたと思います。ただし、別のユースケースがあります。ただし、この代替手段は少しハックです。

ラフガイド。これらの決定的なコマンドを考慮しないでください:

  1. イメージファイルを作成する(ms-dosフロッピーまたはISO-9660 CD)
  2. ファイルシステムで画像をフォーマットします。 mkfs.msdos
  3. mcopyなどを使用して、必要に応じて画像上のファイルをコピーして操作する
  4. ゲストのマウントイメージVM cd-romまたはフロッピードライブ

理想的ではありませんが、ゲストVMがdom0とゲスト間のネットワークプロトコル接続を許可しない場合(VPNセッションが閉じているときなど)は機能します。

詳細はこちら:

https://stackoverflow.com/q/11202706/34076

3
0xSheepdog

読み取り専用の共有が可能です(WindowsゲストにはR/Wがあり、Linuxホストは読み取り専用です)。LinuxホストはループバックデバイスにNTFSをマウントできるため、Windowsゲストに「raw」タイプのストレージを使用するとします。

Win.imgをrawイメージとして持っていると仮定すると、ディスクとしてエミュレートされます。

  • ステップ1:fdiskを使用して、ファイルシステムのオフセット(ディスクであるため)を見つけます。
$ fdisk -lu Win.img

Disk Win.img: 16.3 GB, 16252928000 bytes
255 heads, 63 sectors/track, 1975 cylinders, total 31744000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3a793a79

    Device Boot      Start         End      Blocks   Id  System
    Win.img   *          63    31712309    15856123+   7  HPFS/NTFS/exFAT

次に、オフセットを計算します= 63 x 512 = 32256

  • ステップ2:マウントする
mount Win.img /mntpoint -o ro,loop,offset=32256

[〜#〜]注意[〜#〜]

RWをマウントして、Linuxがそれに書き込むことができますbutファイルシステムが破損します! LinuxとWindowsの両方がファイルシステムにアクセスしているためAT同じ時間!書き込みたいファイルを書き込むために同じ空きブロックを割り当てる可能性があります!

Linuxの読み取りが安定しない、まれなケース

この方法では、ファイルシステムは安全であり、安定した読み取りを行うことはほとんど問題ありません。ただし、前述したように、それらは同時にファイルシステムにアクセスするため、Windowsが何かを書き込もうとしたときに、Linuxに通知されず、破損したものを読み取る可能性があります。ただし、慎重に使用すると、読み取りは非常に安定しているはずです。

1
Robin Hsu

アンディの解決策は、私、debian Host、およびWindowsゲストで機能しました。 redhatの特別なネットワークドライバーを使用してspice-guest-toolsをインストールしていることに注意してください。

さらに、smbを使用してパスワード保護を削除する必要がありました。このリンクで、パスワードを削除する方法を見つけました https://pureinfotech.com/setup-network-file-sharing-windows-10/

0
Thierry Vilmart

Dokany + Win-SSHFS を使用して、ssh経由でリモートフォルダーをマウントします。 <evil grin>の逆ではなく、キャッチアップゲームをプレイしてもらいます

0
Arie Skliarouk