0

1007

Windows11系统下Ubuntu子系统以及Docker运行的一些问题

乐果   发表于   2024 年 12 月 24 日

最近因公司某项目中使用邦奇灯控,需要在 windows 系统下安装一些硬件相关的调试软件, 所以又将自己的办公电脑切换到 windows 系统。

习惯于在 unix 架构系统下开发的我,倒不怎么习惯 windows 系统。

在之前的印象中,windows11 系统总是不那么稳定,偶尔就会莫名的死机,在 windows 系统刚开始推出 “子系统” 时也曾把玩过,但当时爆各种兼容性问题,无法做到真正的 Linux 体验。但现在发现它的 “子系统” 变得完善了,之前的各种兼容性问题差不多得到了解决,观摩下来感觉基本上已可以替代 kvm 虚拟机运行 Linux 体验。

本文主要是记录使用过程中遇到的一些问题以及解决方法的笔记。

PowerShell 启动时出现红色警告,提示没有权限

解决办法,执行如下命令:

set-executionpolicy remotesigned

命令行安装ubuntu子系统

首先要在 控制面版 -> 程序和功能 -> 启用或关闭Windows功能 开启虚拟化相关服务(详百度搜索了解一下)。

开启虚拟化、并重启电脑生效后,以管理员运行 PowerShell 执行如下命令:

wsl --install
wsl --set-default-version 2

wsl --install 命令默认会安装 ubuntu 最新发行版本,例如当前是 ubuntu24.04

wsl端口映射

ubuntu 子系统的ip是一个虚拟网段,局域网无法访问,但开发中有时候需要局域网中对它访问。

例如在 ubuntu 子系统启动了一个 web 程序监听一个端口,局域网中有一台设备要访问这个 web 服务,这时需要将 windows 物理机上的端口映射到 ubuntu 子系统。

查看端口映射

在windows的CMD下运行

netsh interface portproxy show all

添加映射

# netsh interface portproxy add v4tov4 listenport=[win10端口] listenaddress=0.0.0.0 connectport=[虚拟机的端口] connectaddress=[虚拟机的ip]
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=172.29.41.233

根据ip及端口号删除

netsh interface portproxy delete v4tov4 listenaddress=192.168.100.1 listenport=8080
netsh interface portproxy delete v4tov4 listenport=8080

删除所有代理规则

netsh interface portproxy reset

ubuntu子系统下docker运行vue项目

ubuntu 子系统,在 docker 容器实例中执行 vue 项目的初始化 yarn instll 报 错:

Error: EPERM: operation not permitted, symlink '../../../mime/cli.js' -> '/mnt/d/....'

解决办法,执行命令带上 --no-bin-links 参数,如下:

yarn install --no-bin-links

……

标签:windows 继续阅读

0

1301

windows环境下stable diffusion运行问题汇总

乐果   发表于   2024 年 05 月 23 日

当前 stable diffusion 扩散模型有两个流行的web,一个是 stable-diffusion-webui ,一个是 comfyui,在windows环境下12G显存以上的N卡都可以运行。

下面汇总一下运行过程中可能会遇到的问题。

问题1:

Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check

可能是 onnxruntime-gpu, cuda, cudnn 之间的版本不匹配

可以通过如下代码验证:

>>> import onnxruntime
>>> onnxruntime.get_device()
'GPU'  #表示GPU可用
>>> onnxruntime.get_available_providers()
['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider']

如果GPU调用没问题,但是还是报上述错误,可能是torch版本与sd模型要求的版本不一致,应卸载torch后重新安装sd模型的指定版本。例如 stable diffusion webui 1.8版本中指定的torch版本为:

pip install torch==2.1.2 torchvision==0.16.2 --extra-index-url https://download.pytorch.org/whl/cu121

……

标签:windows 继续阅读

0

1611

windows11系统的一些问题

乐果   发表于   2024 年 05 月 22 日

最近在使用 windows11 系统时经常死机,查看日志文件得到途中记录,查询相关方法后得到如下流程,或许大概可能可以解决。

右键win图标,找到事件查看器-找到 win 安全日志-系统 ,找到黄色图标的警告,双击打开

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 XIAOXIAO\xiao SID (S-1-5-21-3983895341-1470971575-1638553350-1001)授予针对 CLSID 为 
{2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}
、APPID 为 
{15C20B67-12E7-4BB6-92BB-7AFF07997402}
 的 COM 服务器应用程序的 本地 激活 权限。此安全权限可以使用组件服务管理工具进行修改。

如图所示:

……

标签:windows 继续阅读