关于Windows下子系统WSL的思考
今天在一个论坛里看到了WSL的消息。
什么是 WSL
引用百度百科的一段话:
Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
介于实体机Linu系统与虚拟机之间
其实就是Windows下的一个Linux子系统环境,根据我的测试,如果不关闭很多Windows服务的话,使用体验比虚拟机还要差(可能是我电脑太垃圾)。。。方便倒是挺方便的。
不知道能否在虚拟机中的win10上安装WSL(到底是虚拟内核的复制还是只是虚拟了内核接口,这是一个问题,看来有必要研究一下VMware的原理了,还好代码开源了),值得一试。
安装
- 启用或关闭Windows功能
首先在搜索栏中搜索并打开“启用或关闭Windows功能”,勾选“适用于Linux的Windows子系统”项。只有开启这项设置才能正常安装WSL。重启即可,注意保存状态
- 安装 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的思考相关推荐
- windows双系统--WSL 安装使用
WSL 介绍 作为一名程序员很多时候需要Linux环境,但是由于PS等某些工具,也不能抛弃Windows,需要双系统来回切 换很是麻烦,用虚拟机又担心性能损耗,但是这么久也是将就着过来了,直到知道了W ...
- 关于 Windows CE 系统中同步机制的思考
关于 Windows® CE 系统中同步机制的思考 田海立 2006-1-18 摘要 本文讨论的话题是MSDN文档没有描述或者从它里面不容易看出来的Windows® CE线程同步的问题.既然是这样,而 ...
- Windows下使用WSL安装配置Kali/Windows Terminal安装/Win-Kex安装配置(非虚拟机or双系统)
Windows下使用WSL安装配置Kali/Windows Terminal安装/Win-Kex安装配置(非虚拟机or双系统) 最近因为某些原因含泪拾起自己很久没碰过的CTF,首当其冲是配置环境.首选 ...
- Windows 重装系统,配置 WSL,美化终端,部署 WebDAV 服务器,并备份系统分区
最新博客文章链接 最近发现我 Windows11 上的 WSL 打不开了,一直提示我虚拟化功能没有打开,但我看了下配置,发现虚拟化功能其实是开着的.然后试了各种方法,重装了好几次系统,我一个软件一个软 ...
- 服务器系统2022安装wsl2,手把手教你踩坑:老白的Docker for Windows安装初探WSL 2 backend...
手把手教你踩坑:老白的Docker for Windows安装初探WSL 2 backend 2020-06-16 13:29:47 15点赞 63收藏 4评论 创作立场声明:老白的踩坑记录 嗨,大家 ...
- linux沙箱隔离_360隔离沙箱在WINDOWS 10 的WSL下的沙箱逃逸
简介: 360隔离沙箱是360安全中心于2011年5月14日发布的安全产品,目前内置与360安全卫士的功能大全中.在360隔离沙箱内运行程序完全隔离不怕中毒.快速建立隔离环境,轻量便捷.自动识别与手动 ...
- Windows XP系统中实用的命令及操作技巧
Windows XP系统中实用的命令及操作技巧 转贴自:电脑报 想在命令提示符窗口中输入重复命令时,只须按F7键,就会出现图形界面,然后选择你想输入的命令即可. 一"符"安天下利用 ...
- Windows 11 安装 WSL
Windows 11 安装 WSL 1. 介绍 2. 安装 3. 建议使用 Windows Terminal Preview 4. 查看系统 5. 关闭 1. 介绍 Windows Subsystem ...
- 艾伟_转载:如何开发绚丽、高效率的界面(Windows嵌入式系统)
上篇文章中提到用户体验(UE),并且说到国内有专门去做UE的团队也很少.据我了解Microsoft.Nokia.Google等,还有国内的Baidu是有比较专业的UE团队.对于我们这样的普通团队.普通 ...
最新文章
- react项目开发步骤_成为专业React开发人员的31个步骤
- 李德仁院士:5G时代空间信息如何实现智能服务
- #51CTO学院四周年#让学习成为习惯
- LoadRunner测试问题及解决方法总结
- Looping over the databases on a server
- java nio 读取图片_给大忙人们看的 Java NIO 极简教程
- C++11判断inf, nan
- Json字符串和Json对象的简单总结
- LeetCode MySQL 262. 行程和用户
- Struts+Tomcat搭建
- WEB安全基础-PHP中GET与POST实践
- Effective C++ 读书笔记之Part4.Design and Declarations
- 反作弊基本概念与机器学习的应用(1)
- java socket 异常处理_java.net.SocketException四大异常解决方案
- Atitit.异步编程 java .net php python js 的比较
- 方法冲突_化解冲突,要避免用这 2 种方法
- hive 添加字段_Hive分区表动态添加字段
- 4.2 人工智能产业岗位分布
- 神州数码交换机CS6200命令学习(三)
- 初中数学抽象教学的案例_初中数学教学案例及反思
热门文章
- 毕业一年,我的嵌入式软件的工作漂泊记
- 万字长文详解特斯拉自动驾驶体系(感知/规控/标注/仿真)
- 1.基础入门——基础概念
- springboot报如下信息:Consider defining a bean of type 'com.***.Handler' in your configuration
- python读取excel汉字转成拼音_Python语言之用Python将全部中文姓名转为拼音
- h5 3D旋转立方体
- 线圈平均半匝长matlab,毕业论文设计《Y2-200L-4型电机电磁设计和计算》.doc
- AI做PPT,五分钟搞定别人一天的量,最喜欢卷PPT了
- 全球6G技术大会总结报告
- 失业日记 11月22日