こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Windows10のWSLのフォルダについて

Windows10にはWSLによってubuntuなどのLinuxがインストールできます。Window上のファイルをそのLinuxで利用したり、Linuxの出力ファイルをWindows上で見てみたりすることが可能のはずですね。あくまでもWindowsが主体であり、そのフォルダの一部がLinuxのはずですが、Windowsから見てそれがどこなのかわかりません。Windowsのエクスプローラがファイルの移動やコピーを行うとしたら、Linuxのファイルはどこにあるのでしょうか。Vmwareの場合はVmware Toolsを追加で入れておくとそのままマウスのアイコンの移動でファイルの移動が可能になったと思います。WSLの場合はどのようにして通信するのでしょうか。
よろしくお願いします。

投稿日時 - 2020-01-10 14:05:09

QNo.9700137

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

こちらの記事が参考になるのではないかと思います。

WindowsからLinuxファイルへのアクセスが可能に ~「Windows 10 19H1」におけるWSLの改善
https://forest.watch.impress.co.jp/docs/news/1170221.html

なお、AppData以下にあるフォルダを紹介している回答がありますが、アクセス権の調整などを行っている部分に不整合が起こる可能性があるため、Windowsから直接書き込みや削除をしないほうがいいです。

投稿日時 - 2020-01-14 00:47:06

お礼

回答ありがとうございます。ご説明のURLを見ると割と垣根が低くなったような印象です。
WSL側からエクスプローラを立ち上げてWindows側も含めたファイル操作ができるようですね。
また、”ネットワークリソースへのアクセスと同じように扱われるため、「コマンド プロンプト」を利用する場合、“cd ¥¥wsl$¥Ubuntu¥home”といったコマンドは機能しない点には注意したい。”という説明もあり、ネットワークリソースはドライブレターを割り当てることができるので可能なのかなと思いますが。

投稿日時 - 2020-01-20 01:28:28

ANo.4

>ubuntuがWindow側から見てどこにあるのかを知る必要があります。
Windows 10のユーザーIDをOwnerとしてUbuntu 18.04のユーザーIDをbunjiiとしたときWSL環境のユーザーフォルダーは「C:\Users\Owner\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\bunjii」になります。
Ownerの中に有るAppDataは隠しフォルダーなのでエキスプローラ―の表示タブで隠しファイルにチェックをして表示させてください。

>ファイルシステムは同じと思っていいわけですね。NTFSなのでしょうか。
LinuxはNTFSのストレージをマウントできますのでWSL環境はNTFS上で動いていると思います。

>それが違うと全く通信ができないだろうと思います。
Windows 10とLinuxが通信しているという概念ではなくWindows OSの一部にLinux OSが同時に動いていてストレージは共用になっているという概念です。

>WSLでもGUI対応のソフトは利用できます。Xwindow(GNOMEとか)はダメですが、xeyes & だとマウスで目がクルクル動くソフトは起動します。
Windows用のXServerをWindows 10へインストールしてLinuxからXアプリを実行するとX Serverへ出力されるということです。(一部のXアプリが対象です)

投稿日時 - 2020-01-13 19:00:23

ANo.3

>Windows10にはWSLによってubuntuなどのLinuxがインストールできます。
はい、Windows 10の中にLinux OSのCUI構成のみ構築できできるようです。

>Window上のファイルをそのLinuxで利用したり、Linuxの出力ファイルをWindows上で見てみたりすることが可能のはずですね。
Linuxの出力ファイルを何処に保存したかが分かればWindows上で見ることはできます。
Windows上のファイルをLinux環境から直接読み書きするにはスパーユーザーの権限でCUIコマンドの操作になります。

>Windowsのエクスプローラがファイルの移動やコピーを行うとしたら、Linuxのファイルはどこにあるのでしょうか。
隠しフォルダー(AppData)の中なので素人には探せないかも知れません。
Linuxからは/mntにC:\以下のディレクトリがマウントされていますので探し易いかも知れません。

>WSLの場合はどのようにして通信するのでしょうか。
何のために通信するのですか?
テキストファイルの編集をするのであればコピーまたは移動でWindows側からLinux側へファイルを取り込めば良いでしょう。
但し、ファイルのアクセス権が変化してしまうかも知れません。

投稿日時 - 2020-01-11 22:48:26

お礼

回答ありがとうございます。
今回の質問の目的ですが、Linuxで走らせることを全体としたソフトの条件設定がウィンドウズ側(ネット)から与えられるというものがあります。出来上がったフォルダのツリーをLinux側に渡す必要があるのです。ubuntuがWindow側から見てどこにあるのかを知る必要があります。
ファイルシステムは同じと思っていいわけですね。NTFSなのでしょうか。それが違うと全く通信ができないだろうと思います。つまりWSLはNTSF上にあるということで。
なお、WSLでもGUI対応のソフトは利用できます。Xwindow(GNOMEとか)はダメですが、xeyes & だとマウスで目がクルクル動くソフトは起動します。

投稿日時 - 2020-01-13 13:49:11

ANo.2

WSL上のlinuxでしたら /mnt の下に各ドライブがマウントされてます。

Windows側からは
%LOCALAPPDATA%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs
(%LOCALAPPDATA%は通常C:\Users\ユーザー名\AppData\Local、"Ubuntu18.04"の部分はWSLのディストリビューションによって異なります)
で一応アクセスはできますが、おそらく正攻法ではないです。

投稿日時 - 2020-01-11 10:23:36

お礼

回答ありがとうございます。フルパスでのこまごまとした設定を調べておくということだと思います。両者の間でファイルを共同で使いたいという要請には基本対応せず、両者はセパレートしたものとして利用することが前提なのでしょうか。なにかもうちょっとサービスして欲しいと思っています。WSLではおなじみのそっけないターミナルが立ち上がり、Xmingがあれば、Xも起動するので使えるものではあるのですが。

投稿日時 - 2020-01-11 11:22:44

ANo.1

>・・・Windowsから見てそれがどこなのかわかりません。
環境に因りますの次のように確認してはどうでしょうか。
(1)WSL bash console の home directory で任意の名前で(例:temptext.txt)ファイルを作成する。
(2)Windows エクスプローラ の検索欄に temptext.txt と入力して検索する。
(3)temptext.txtが検索されたら 右クリックで「ファイルの場所」を調べる。
以上です。
普通は %LOCALAPPDATA% 内にあります。

投稿日時 - 2020-01-11 06:16:17

お礼

回答ありがとうございます。
どうしても地味な作業が必要なのですね。長々としたフルパスになるのだろうと思いますが。

投稿日時 - 2020-01-11 11:24:40

あなたにオススメの質問