今天在一个论坛里看到了WSL的消息。

什么是 WSL
引用百度百科的一段话:

Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

介于实体机Linu系统与虚拟机之间

其实就是Windows下的一个Linux子系统环境,根据我的测试,如果不关闭很多Windows服务的话,使用体验比虚拟机还要差(可能是我电脑太垃圾)。。。方便倒是挺方便的。

不知道能否在虚拟机中的win10上安装WSL(到底是虚拟内核的复制还是只是虚拟了内核接口,这是一个问题,看来有必要研究一下VMware的原理了,还好代码开源了),值得一试。

安装

  1. 启用或关闭Windows功能

首先在搜索栏中搜索并打开“启用或关闭Windows功能”,勾选“适用于Linux的Windows子系统”项。只有开启这项设置才能正常安装WSL。重启即可,注意保存状态

  1. 安装 WSL

在微软应用商店搜索 Linux,可以看到一系列 Linux 发行版,根据自己需要选择适合自己的发行版,这里我选用 Ubuntu 18.04 LTS,下载完成后启动,等待安装完成,输入账户和密码即可

查看文件
1.如果想在 Linux 查看其他分区,WSL可以 将其它盘符挂载在 /mnt 下。

2.如果想在 Windows 下查看 WSL 文件位置,文件绝对路径:C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs

其他设置,例如更新软件源,语言,更新内核,包,等操作,与实体机Linux系统运行指令基本一致。

Windows10的linux subsystem不是虚拟机,而是子系统,是Windows的一部分,并不像虚拟机一样与宿主系统隔离,windows下的所有文件在Linux subsystem里都有映射的,所以在Linux subsystem里运行一些危险指令也会影响到Windows。

ps1

有些时候Windows下存在无法删除的文件

出现下述问题:
Windows 下无法删除某个文件,提示找不到该项目。

原因
文件的 Windows 索引丢失。
解决方案:
利用WSL子系统可以删除。
问题解决

由此可见WSL并不是通过调用NT接口来达到目的,可能是为了性能POSIX 系统调用直接调用文件系统层 API,也可以想象得到,如果还要调用顶层接口,那性能势必下降。

Windows NT,API 是 WINDOWS 操作系统为开发人员编写程序提供的操作系统底层应用(如窗口前置,自动关机等)所预留的函数接口。可以看出这些接口是由多个操作组成的,还是不够底层,直接调用对性能是存在一定的影响。

ps2

由ps1联想到提升管理员权限
windows下删除关键系统文件命令如下

rd /D /S

不过一般来说Windows管理员也没有足够的权限删除关键系统文件。
提供一个思路,可以将Windows系统盘挂载在WSL上,然后利用Linux命令rm -rf/*,删除Windows关键系统文件。因为它不是虚拟机,它是活生生的系统。哈哈哈。

PS
WSL切换到root用户(我装的linux kali,根据情况而定)
kali config --default-user root

这样的话,有几个问题还是没明白,Windows系统的权限划分到底是怎样的,与WSl的权限有什么区别,为什么低权限方式运行WSL可以删除Windows管理员用户都无法做的事,难道WSL的root权限比Windows下管理员权限要高。

个人理解:这个最高权限也可以理解为系统本身,由于Windows不是自由开源系统,因此封闭了部分操作,而大部分Linux系统的刚好是自由度很高的开源系列操作系统。因此操作全部留给用户,用户十分清楚自己需要干什么,不需要突然弹出一个对话框来引导用户。这样看起来就符合逻辑了,但是还没有查看WSL的官方文档,改天有时间查看一下。。。

1.商业操作系统引入部分开源操作系统后,那原来开源的操作系统会不会成为付费的一部分。这对于开源操作系统的发展是不利的。

2.针对Windows操作系统的病毒种类与数量是非常多的,如果WSL广泛应用的话,可以借助Windows来间接攻击Linux,这对于攻击Linux系统来说,比较危险。不知道微软后续会采用何种方法来保证WSL不受Windows来的攻击。个人思路:由于WSL与Windows就像两条水管插入内核这个大水池(并不是虚拟内核)中,或许可以通过添加4个单向过滤器的方式来解决。

以上问题说不定在官方文档里已经解决了,抽空真的需要看下官方文档了。

头有点大。。。

关于Windows下子系统WSL的思考相关推荐

  1. windows双系统--WSL 安装使用

    WSL 介绍 作为一名程序员很多时候需要Linux环境,但是由于PS等某些工具,也不能抛弃Windows,需要双系统来回切 换很是麻烦,用虚拟机又担心性能损耗,但是这么久也是将就着过来了,直到知道了W ...

  2. 关于 Windows CE 系统中同步机制的思考

    关于 Windows® CE 系统中同步机制的思考 田海立 2006-1-18 摘要 本文讨论的话题是MSDN文档没有描述或者从它里面不容易看出来的Windows® CE线程同步的问题.既然是这样,而 ...

  3. Windows下使用WSL安装配置Kali/Windows Terminal安装/Win-Kex安装配置(非虚拟机or双系统)

    Windows下使用WSL安装配置Kali/Windows Terminal安装/Win-Kex安装配置(非虚拟机or双系统) 最近因为某些原因含泪拾起自己很久没碰过的CTF,首当其冲是配置环境.首选 ...

  4. Windows 重装系统,配置 WSL,美化终端,部署 WebDAV 服务器,并备份系统分区

    最新博客文章链接 最近发现我 Windows11 上的 WSL 打不开了,一直提示我虚拟化功能没有打开,但我看了下配置,发现虚拟化功能其实是开着的.然后试了各种方法,重装了好几次系统,我一个软件一个软 ...

  5. 服务器系统2022安装wsl2,手把手教你踩坑:老白的Docker for Windows安装初探WSL 2 backend...

    手把手教你踩坑:老白的Docker for Windows安装初探WSL 2 backend 2020-06-16 13:29:47 15点赞 63收藏 4评论 创作立场声明:老白的踩坑记录 嗨,大家 ...

  6. linux沙箱隔离_360隔离沙箱在WINDOWS 10 的WSL下的沙箱逃逸

    简介: 360隔离沙箱是360安全中心于2011年5月14日发布的安全产品,目前内置与360安全卫士的功能大全中.在360隔离沙箱内运行程序完全隔离不怕中毒.快速建立隔离环境,轻量便捷.自动识别与手动 ...

  7. Windows XP系统中实用的命令及操作技巧

    Windows XP系统中实用的命令及操作技巧 转贴自:电脑报 想在命令提示符窗口中输入重复命令时,只须按F7键,就会出现图形界面,然后选择你想输入的命令即可. 一"符"安天下利用 ...

  8. Windows 11 安装 WSL

    Windows 11 安装 WSL 1. 介绍 2. 安装 3. 建议使用 Windows Terminal Preview 4. 查看系统 5. 关闭 1. 介绍 Windows Subsystem ...

  9. 艾伟_转载:如何开发绚丽、高效率的界面(Windows嵌入式系统)

    上篇文章中提到用户体验(UE),并且说到国内有专门去做UE的团队也很少.据我了解Microsoft.Nokia.Google等,还有国内的Baidu是有比较专业的UE团队.对于我们这样的普通团队.普通 ...

最新文章

  1. react项目开发步骤_成为专业React开发人员的31个步骤
  2. 李德仁院士:5G时代空间信息如何实现智能服务
  3. #51CTO学院四周年#让学习成为习惯
  4. LoadRunner测试问题及解决方法总结
  5. Looping over the databases on a server
  6. java nio 读取图片_给大忙人们看的 Java NIO 极简教程
  7. C++11判断inf, nan
  8. Json字符串和Json对象的简单总结
  9. LeetCode MySQL 262. 行程和用户
  10. Struts+Tomcat搭建
  11. WEB安全基础-PHP中GET与POST实践
  12. Effective C++ 读书笔记之Part4.Design and Declarations
  13. 反作弊基本概念与机器学习的应用(1)
  14. java socket 异常处理_java.net.SocketException四大异常解决方案
  15. Atitit.异步编程 java .net php python js 的比较
  16. 方法冲突_化解冲突,要避免用这 2 种方法
  17. hive 添加字段_Hive分区表动态添加字段
  18. 4.2 人工智能产业岗位分布
  19. 神州数码交换机CS6200命令学习(三)
  20. 初中数学抽象教学的案例_初中数学教学案例及反思

热门文章

  1. 毕业一年,我的嵌入式软件的工作漂泊记
  2. 万字长文详解特斯拉自动驾驶体系(感知/规控/标注/仿真)
  3. 1.基础入门——基础概念
  4. springboot报如下信息:Consider defining a bean of type 'com.***.Handler' in your configuration
  5. python读取excel汉字转成拼音_Python语言之用Python将全部中文姓名转为拼音
  6. h5 3D旋转立方体
  7. 线圈平均半匝长matlab,毕业论文设计《Y2-200L-4型电机电磁设计和计算》.doc
  8. AI做PPT,五分钟搞定别人一天的量,最喜欢卷PPT了
  9. 全球6G技术大会总结报告
  10. 失业日记 11月22日