マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

ファイルシステム、環境変数、プログラム実行辺りの話。

詳細

相互運用の有効化・無効化

有効化

$ echo 1 > /proc/sys/fs/binfmt_misc/WSLInterop

無効化

$ echo 0 > /proc/sys/fs/binfmt_misc/WSLInterop

ファイルシステム

DrvFs?

WSL環境にWindowsのボリュームをマウントし、
LinuxからWindowsのファイルにアクセスできるようにする仕組み。

P9

WSL2から、DrvFsは、P9に置き換えられる。

rm -rf /

ということなので、WSLで「rm -rf /」を実行すると、
Windowsのファイルが削除されWindowsが壊れるという話がある。

※ WSL2については、P9の仕様次第。

参考

kledgeb

環境変数の共有

17063以前

wsl がアクセスできる Windows 環境変数はPATHのみ。

17063以降

WSLENVはブリッジのための特殊な環境変数。

C:\>set WSLENV=USERPROFILE:USERNAME
C:\>wsl
seigi@nishino:/mnt/c/Users/nishi$ echo $WSLENV
USERPROFILE:USERNAME

コマンド

Windows → WSL

wsl.exeを使用してCMD または PowerShellから Linux バイナリを実行

wsl.exe <command>
  • wsl でのコマンド実行と同様に処理される。
  • sudo、パイプ、ファイルリダイレクトなどが機能する。
  • バイナリ
    • lsコマンド  wsl ls -la
  • パイプ
  • ls(Linux)をfindstr(Windows)にパイプ
    c:\> wsl ls -la | findstr "root"
  • dir(Windows)をgrep(Linux)にパイプ
    c:\>dir | wsl grep root

WSL → Windows

  • Windows バイナリには、ファイル拡張子が含まれている必要がある。
  • また、ファイルの大文字と小文字が一致している必要がある。
  • バイナリ
    • notepad
      $ notepad.exe
  • パイプ
  • ls(Linux)をfindstr(Windows)にパイプ
    $ ls -la | findstr.exe "root"
    drwxr-xr-x 1 root  root    512 May  8  2018 ..
    drwxrwxrwx 1 seigi seigi   512 May  8  2018 wwwroot
  • ipconfig(Windows)をgrep(Linux)にパイプ
    $ ipconfig.exe | grep IPv4
      IPv4 Address. . . . . . . . . . . : 10.0.75.1
      IPv4 Address. . . . . . . . . . . : 192.168.179.2
      IPv4 Address. . . . . . . . . . . : 172.17.68.193

参考

WindowsとWSL間の接続

kledgeb

相互運用

ファイルシステム

  • UNIXソケット
  • ファイル
  • 1903未満
  • 1903以後

Tags: :Windows, :Linux, :Linuxサブシステム, :仮想化


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-10-16 (水) 11:51:10 (30d)