我问这个问题是因为我很好奇并且想更好地了解 WSL。
我的环境是 Windows 11,使用运行 Ubuntu 的 WSL 2。我正在学习容器基础知识,并且在运行debootstrap时遇到了一个有趣的错误。
当我在已安装的 Windows 文件系统 ( ) 中运行它时/mnt/c/:
user@laptop:/mnt/c/Users/user/workshop$ sudo debootstrap --arch amd64 jammy container_fs http://archive.ubuntu.com/ubuntu
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
mknod: /mnt/c/Users/user/workshop/container_fs/test-dev-null: Operation not supported
E: Cannot install into target '/mnt/c/Users/user/workshop/container_fs' mounted with noexec or nodev
Run Code Online (Sandbox Code Playgroud)
我尝试/mnt/c/Users/user/workshop/container_fs使用exec和dev选项重新安装。
user@laptop:/mnt/c/Users/user/workshop$ sudo mount -o remount,exec,dev /mnt/c/Users/user/workshop/container_fs
Run Code Online (Sandbox Code Playgroud)
输出:
mount: /mnt/c/Users/user/workshop/container_fs: mount point not mounted or bad option.
Run Code Online (Sandbox Code Playgroud)
正是在这一点上,我尝试运行 debootstrap /home/user/,它工作正常,没有任何问题。