镜像安装

windows11镜像下载

 

https://www.microsoft.com/zh-cn/software-download/windows11/

windows11(适用于x64设备的多版本ISO)

简体中文
    

vmware17安装windows11

 
关键步骤
- 选自定义安装
- 先不选镜像

 

参考
https://blog.csdn.net/qianshuiliyu/article/details/132242854
    

 

    

 


 

  

 


cmd常用命令

查看某个命令的路径

PS K:\> where python
PS K:\> where.exe python
G:\tpf\aiwks\app\windows\py3109\python.exe
K:\app\py311\python.exe

PS K:\> where.exe pip
G:\tpf\aiwks\app\windows\py3109\Scripts\pip.exe
K:\app\py311\Scripts\pip.exe

打开服务选项

Win + R

在框中输入services.msc

目录

md dir_name  创建一个目录
md -p dir1/dir2/dir3  创建一串目录

rd 删除目录

进入目录

D:  或者 d:  //进入D盘,不区分大小写

windows系统目录不区分大小写,C盘下有C:\Windows
cd  C:/WINDOWS
这里有个正反斜杠的问题,在windows的cmd下,\与/效果一样,即
cd  C:/WINDOWS  等价于 cd  C:\WINDOWS

cd..          //跳转到上一层目录

文件

copy f1 f2
move f1 f2
del f1

查看目录下文件并按时间排序

注意,
这个方法仅适用于Developer Command Prompt for VS 2022这个命令行窗口
其他的可能不生效...可能在任务栏cmd上右键打开这个窗口,本操作时的环境为win11

dir /b /o:d

/b 参数表示以简洁的方式显示文件和文件夹的名称。
/o:d 参数表示按照日期排序。这里,
/o 参数表示排序,
:d 表示按照日期(降序)排序。
如果你想按照日期升序排序,可以改为 /o:-d。


其他命令

cls 清屏
ls  查看目录内容
dir 查看目录内容

vscode密钥连接linux

windows上先安装一个git, 然后命令行操作如下:
https://git-scm.com/downloads/win

ssh-keygen -t rsa

cd /c/Users/
cd Administrator/
cd .ssh/

将公钥上传到远程服务器的某用户下,比如xt,
如果远程服务器上没有.ssh目录,先上去执行一下 ssh-keygen -t rsa
scp id_rsa.pub xt@192.168.56.101:/home/xt/.ssh/

登录远程,进入用户下的.ssh目录
cat id_rsa.pub > authorized_keys

$ sudo su - root
# vim /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

测试一下是否可以,不可以时再重启一下远程服务器

ssh  xt@192.168.56.101

vscode配置密钥
Host 192.168.56.101
  HostName 192.168.56.101
  Port 26225
  User xt
  IdentityFile "C:\Users\Administrator\.ssh\id_rsa"

注意配置的是“id_rsa”文件,是密钥,
公钥是id_rsa.pub,其内容上传到远程服务器上去了

录屏软件

https://www.bandicam.cn/

网上说班迪长时间录制不断,稳定

一次可免费使用10分钟,并且带水印

Win + G

点一下空白处,浮动的窗口就会消失,不消失也不录制录屏窗口




WSL

开启WSL支持

win11打开控制面板
系统 -- 搜索 控制面板  -- 搜索 启用或关闭windows功能
勾选 适用于Linux的Windows子系统
重启电脑

没有WSL要先安装
https://blog.csdn.net/gbz2000/article/details/127328968

重要是是WSL2,WSL的第2个版本,这个版本才支持完整的linux内核,否则linux功能不全
比如,无法启动docker

wsl --list --verbose

wsl --set-default-version 2


确定wsl版本为2之后,就可以去安装桌面版docker,或者在WSL中命令行安装也可以

根目录是C盘

安装
在Microsoft store中搜索Ubuntu即可安装

windows的子系统ubantu的根目录是C盘,
windows的C盘空间通常不足,所以尽量不要用这个根目录

root@DESKTOP-R39SP5K:/mnt/w/v# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc        251G   31G  208G  13% /

Used 31G就是Ubantu这个子系统用了C盘31G空间,Size大小251G这个不用管它,
Avail更是不准,因为C盘本身还有一堆系统文件呢,它不管,它只算自己占了多少
实际上这个31G也不精确,实际用的空间要比31G大上十几G

systemctl权限问题

System has not been booted with systemd as init system (PID 1). Can't operate.

wsl升级,指ubantu系统的升级
wsl --update
wsl -l -v
wsl --list --verbose

PS C:\Users\Administrator> wsl -l -v
NAME              STATE           VERSION
- Ubuntu-20.04      Running         2

如果*号不在Ubantu的前面就执行下面的内容
wsl --set-version Ubuntu-20.04 2

进入WSL,执行
apt install daemonize fontconfig


在 /etc/profile 文件末尾加入下述代码
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
if [ -z "$SYSTEMD_PID" ]; then
    sudo /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
    SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
fi
if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then
    exec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME
fi


/etc/sudoers 文件末尾加入下述代码
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
%sudo ALL=(ALL) NOPASSWD: /usr/bin/nsenter -t [0-9]* -a su - [a-zA-Z0-9]*


执行下面命令使之生效
sudo -s
source /etc/profile

退出当前终端,再次进入,就可以使用systemctl了

vscode无法通过wsl连接的问题

ubantu子系统已安装好,通过cmd命令行可以进入并使用
vscode已安装好WSL插件
但就是连接不上ubantu系统

这个情况发生在我的笔记本上,研究了1个多小时,试了好几个解决办法,没搞定
然后在台式机上尝试,一次就连接成功了,并没有进行什么额外操作

ubantu子系统的存储位置

C:\Users\AS\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState

C:\Users\83933\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc\LocalState

位于用户下的AppData\Local\Packages
查找包含Ubuntu22的选项,找到一个ext4.vhdx的文件,这个文件占了我C盘51G空间
并且,这个文件不会因为卸载了ubantu子系统就自动删除,

实在是C盘空间紧张,就找到了它,windows官方不建议删除AppData\Local\Packages
但了ubantu子系统都卸载了,还怕个啥,直接删除CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc目录
再清空一下回收站,看到C盘多出来50G空间,感觉这电脑又可以坚持很长一段时间了

这个系统并不完全等价于ubantu,而是一个介于ubantu与windows之间的系统,简易地借用一些linux系统的功能是够用的
我在里面安装一个docker,占了一些空间,然后删除docker后,WSL并没有把空间还给我,
所以不要轻易使用这里面的空间,除非你C盘空间足够大



本机访问

docker run -itd --privileged --name kl -h kl --net=host -v /tmp:/tmp  cent7  bash
这种方式创建的docker,主要指网络模式为host,共享主机网络
其docker内的服务,本机电脑不一定能访问
- 本人台式机就可以
- 本人笔记本不可以

针对笔记本不可以的情况,做以下处理


docker network rm  mydk
docker network create --subnet=192.168.73.0/24 mydk

docker run -itd --name kk -h kk --net mydk --ip 192.168.73.11 -p 13301:13301 -p 9200:9200 -p 33033:33033 -p 33000:8000 -p 33088:8888 -p 33008:8008  -p 33007:8007 -p 33006:8006 -p 33005:8005  -p 33004:8004 -p 33003:8003 -p 33002:8002 -p 33001:8001 -v /mnt:/mnt -v /media:/media -v /tmp:/tmp cent7 bash
docker exec -it kk bash


yum install -y net-tools libaio numactl
yum -y install gcc gcc-c++ autoconf make
yum install openssl-devel bzip2-devel

外部访问

让外界访问wsl中运行的docker镜像服务
https://blog.csdn.net/huweijian5/article/details/107869516
netsh interface portproxy add v4tov4 listenaddress=你的本机ip地址 listenport=8081 connectaddress=WSL中的地址 connectport=8081


C:\Users\83933\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\LocalState

C:\Users\itora\AppData\Local\Packages

C:\Users\itora\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\LocalState


AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\LocalState
有时候可能是因为某些程序还在使用这个目录下的数据盘,导致卸载ubantu但没有删除该盘,
可以重启系统后卸载ubantu,或者手工删除该文件









官方示例

在WSL中启动vscode

  
直接在项目所在目录输入
code .


  
如果遇到启动时要求更新,但更新又要求SSL认证,但因无证书...等原因无法启动的情况 

可以使用SSH 远程连接 







远程连接

sudo apt-get install xrdp

黑屏或闪退
sudo vi /etc/xrdp/startwm.sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

sudo systemctl restart xrdp.service

远程连接的用户
vi ~/.xsessionrc
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg

sudo systemctl restart xrdp.service










参考