
以前、Ubuntu 12.04 と Windows 7 をデュアルインストールしました。Ubuntu でパーティションをマウントして、Windows ntfs パーティションを共有していました。Ubuntu で作成されたシンボリックリンクが Windows で認識されたかどうかは覚えていません。
現在、Ubuntu 14.04のVirtualBox内でWindows 8.1を実行しています。また、共有フォルダー用にWindowsの仮想マシンにゲストアドオンをインストールしました。共有フォルダーでは、WindowsがUbuntuのext4ファイルシステムで作成されたシンボリックリンクをたどることができることがわかりました。なぜそれが機能するのでしょうか?
- WindowsはLinuxのシンボリックリンクを認識できるため、(デュアルブートではそうなりますが)このリンクノーと言う?
- または共有フォルダがネットワークドライブとしてマウントされているため、
- それともVirtualBoxやゲスト追加が原因でしょうか?
ありがとう。
答え1
VM 内で実行している場合、Windows は共有フォルダーを含むホストのファイルシステムに直接アクセスできません (実際、それが可能であれば、2 つの OS がデータを書き込もうとしたときにファイルシステムが確実に破壊されます)。
代わりに、VirtualBox (ゲスト追加機能) は、ゲスト OS とホストのファイルシステム間の変換レイヤーを提供します。ホストの観点から見ると、VirtualBox はカーネルのシステム コールを使用してファイルシステムの読み取りと書き込みを行う単なる別のユーザー空間アプリケーションであるため、カーネルが理解できる限り、実際のファイルシステムの種類は考慮されません。
Windows (または他のホスト OS) の場合、ネットワーク ドライブのように見えるため、他のネットワーク ドライブと同じようにデータにアクセスできます。