Windows上指定盘符-安装WSL虚拟机(机械硬盘)

参考来自于教程1:史上最全的WSL安装教程 - 知乎 (zhihu.com)icon-default.png?t=O83Ahttps://zhuanlan.zhihu.com/p/386590591#%E4%B8%80%E3%80%81%E5%AE%89%E8%A3%85WSL2.0

 教程2:Windows 10: 将 WSL Linux 实例安装到 D 盘,做成移动硬盘绿色版也不在话下 - 知乎 (zhihu.com)icon-default.png?t=O83Ahttps://zhuanlan.zhihu.com/p/525955480

cmd打开powershell启用功能——适用于 Linux 的 Windows 子系统

输入

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

接下来检查WSL2的要求:win+R打开运行,然后输入

winver

检查windows版本——此版本需要大于1903——我的内部版本为19045.3803是符合要求的

下一步是启用虚拟化:以管理员打开powershell输入下列命令

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

下载WSL2 Linux内核升级包(适用于x64)icon-default.png?t=O83Ahttps://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi并安装

打开微软——Microsoft Store,搜索——WSL Linux

点击蓝色 “获取” ,等待下载完成、蓝色按钮变为 [Launch]。

网络问题,科学解决即可

等待其下载完成

出现 “打开”按钮后,先不要点击打开,而是转到 C:\Program Files\WindowsApps , cmd进入该路径,敲

 dir /od

查看多出了哪些子目录。

发现多出了三个,目录名里头带有 Ubuntu22.04 字样。用 Explorer 检查一下它们各自的内容,名字里有 neutral 字样的那两个文件夹,内容就几百 KB, 估计是无关紧要的东西,先不理会它们。

剩下的那个,尺寸有 542MB,这就是我们需要的离线安装包了。点击查看——排序方式——修改日期排序

如果剪切不了,出现如下博客中的权限情况,可参考如下(此外,还可以考虑使用复制,复制不需要权限即可完成)删除文件夹时需要SYSTEM权限,简单解决_需要system权限才能删除怎么解决-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_43849277/article/details/107919266

现在将此中内容全部选中,拷贝到 D:\WSL-Ubunut-22.04 中,该目录将成为此 WSL 实例的永久栖息地。

【STEP 3】 执行 WSL 实例安装程序。

此处科普一下,以关于是以WSL1 模式还是 WSL2 模式来使用这份 Ubuntu 。

  • 选择 WSL1 (需要 Win10.1709),Linux 的文件系统将出现于宿主机的 D:\WSL-Ubunut-22.04\rootfs 文件夹中,Linux 的文件将直接呈现在 NTFS 文件系统中,一份典型的 Linux 基础安装,文件数能达到 30000+ 。
  • 选择 WSL2 (需要 Win10.2004),其本质是让 Linux 运行在一个虚拟机中,虚拟机中运行着真正的 Linux 内核,Windows 将创建 D:\WSL-Ubunut-22.04\ext4.vhdx 虚拟磁盘文件来存放 Linux 的文件系统。这种模式更接近真实的 Linux 行为,与 Windows 宿主机的隔离也更彻底。

两种模式各有优劣。我更喜欢 WSL1,因为它真是个创新;用 WSL2 的话,不如 VMware Workstation 里头安装 Linux VM 那般明明白白 ,比如随意做快照之类。

以下两个命令可以选择“新建 WSL 实例时所采用的 WSL 模式”:

wsl --set-default-version 1
wsl --set-default-version 2

我选择的的是version1的安装方式,接下来双击这个ubuntu2204.exe就可以开始安装,输入用户名和密码即可。

如果不按顺序就会报错——发现报错了

已经创建出来的 WSL 实例,不受 --set-default-version 的影响。 已经创建出的 WSL 实例,得用 --set-version 才能切换(非常费时,因为要将 Linux 的大量细碎文件拷入或拷出 vhdx)。

现在双击 "D:\WSL-Ubuntu-22.04\ubuntu2204.exe" ,开始安装这份实例。

参考以下解决方案:
关于windows安装wsl,出现WslRegisterDistribution failed with error: 0x8007019e The Windows Subsystem错误的解决方案-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/qq_37109456/article/details/109669455

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

然后电脑会重启,点击Y重启电脑,

wsl --set-default-version 1

再次运行Ubuntu2204.exe,发现可以成功运行

【清理】

第一处,刚才蓝色“安装”按钮出现的时候,从 Microsoft Store 的角度看,Ubuntu 22.04 已经是“安装在我们的电脑上了”,因此,开始菜单中能够看到 Ubuntu 22.04 快捷方式。但这东西对我们已经没用了,可以卸载。

此处 Uninstall 的作用,主要是将 C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu22.04LTS_2204.0.9.0_x64__79rhkp1fndgsc 整个目录清除,节省 C 盘空间。

第二处, D:\WSL-Ubuntu-22.04 中的 install.tar.gz 可以删除,因为它的内容已经解压到 rootfs 或是 ext4.vhd 中了。

如果你愿意用 wsl -d 来启动这份 WSL 实例(最后一节谈及),那么 ubuntu2204.exe 跟它旁边的一干原始安装包文件也可以删除。

前进一步,安装到移动硬盘

这是为了让我们的 WSL 实例变成可移动的绿色版,想插到哪台机器上用就插到哪台机器上用。

需要一些铺垫知识,让我们看看,刚才安装到 D 盘的动作,在系统中留下来哪些印迹。一个 Windows 软件,能在系统中留下的印迹,无非是两大类,一是创建/修改了哪些文件,二是创建/修改了哪些注册表项。

WSL Ubuntu 创建的文件刚才已经展示过,主要是 D:\WSL-Ubuntu-22.04\rootfs 或 D:\WSL-Ubuntu-22.04\ext4.vhdx 。

注册表方面,确实也留了一份印迹。在注册表节点 [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss] 中,我们发现多出来一个 GUID subkey,以我的实验机为例,GUID 值是 {3d4e7ad0-63ee-40c8-9fad-a7c7e0260039} ,在你的机器上肯定不同,因为此处 GUID 值是随机生成的。今后多安装一份 WSL 实例,就会多出一个 GUID subkey,只要两个 GUID 值不同,在 WSL 引擎的眼中,就是两份不同的 WSL 实例。

将分发版版本设置为 WSL 1 或 WSL 2

在命令行或powershell中输入

wsl --list --verbose
wsl -l -v

可以查看ubuntu现在的状态以及使用的wsl的版本,正常情况刚安装的都是版本1,我这里是设置为2了。

WSL 2 需要更新其内核组件_wsl 2 需要更新其内核组件。-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/littlehaes/article/details/104879476Manual installation steps for older versions of WSL | Microsoft Learnicon-default.png?t=O83Ahttps://learn.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

进入如上的卡片指向的地址下载msi文件即可

点击finish结束安装

再次执行发现成功了——从wsl1到wsl2

设置WSL默认以root用户登录
首先设置root用户密码
在ubuntu中输入

sudo passwd root
1
输入当前用户密码,再输入两次root用户密码。

然后再cmd或powershell中输入(不要在ubuntu终端输入,会无法识别失效的——command not found)

.\ubuntu2004.exe config --default-user root

此时成功进入了ROOT用户,然后

windows与ubuntu之间文件互相访问与磁盘挂载
云端服务器,访问linux中的文件可以通过samba来实现,在虚拟机中还可以创建共享文件夹。现在使用wsl,十分简单。
首先ubuntu访问windows的文件,在/mnt目录下,你会发现你的c盘、d盘等等都被自动挂载上了,可以随意访问。
在windows中访问ubuntu的文件,首先在ubuntu中运行下面这条命令:
 
explorer.exe .

注意,那个点,或者写其他任意目录都行,但是一定要有一个目录。
这时候windows就会打开这个文件夹。

然后点地址栏里的wsl$,然后右键点击,映射网络磁盘驱动器

到这里大家有没有发现,刚才执行的explorer.exe是windows的资源管理器程序,当然这并不是说linux里面可以执行windows的程序,这里ubuntu只是把命令交给了windows,还是windows来执行的。继续尝试你还会发现,其他的windows程序都可以在ubuntu里面启动,当然了,都是交给windows运行的,而且还能发现,ubuntu的PATH环境变量的值包含了windowsPATH的全部内容。

至此,磁盘映射挂载完成,然后我们不难发现——之前的用户是有颜色的,现在root没有颜色,直接用之前用户家目录下的.bashrc替换掉root目录下的.bashrc文件即可解决。

复制这个映射磁盘Z盘的home目录下的之前的用户名文件夹——然后将这个.bashrc复制替换root文件夹下的.bashrc文件即可。

win10安装wsl2和图形化界面_win10 wsl2 图形界面-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/CGGlove/article/details/118115262

安装图形化界面
虽然真正用linux的人基本都是使用命令行,但是对于这个wsl安装图形化界面还是很好奇的。
在网上找了一下,一种是安装ubuntu-desktop桌面,另一种是安装xfce4桌面。第一种安装失败,所以我采用的是xfce4桌面
首先在windows上安装ximg,

下载地址https://sourceforge.net/projects/xming/ 或 https://xming.en.softonic.com/
然后运行XLaunch
四种风格,推荐最后一个,Dispaly number填写数字0即可

更换镜像源——前往Z:\etc\apt\sources.list全选替换为如下内容

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

至此镜像源更换完成

apt install xfce4-terminal
apt install xfce4

TrobleShooting报错解决:

如果不按顺序就会报错——发现报错了

已经创建出来的 WSL 实例,不受 --set-default-version 的影响。 已经创建出的 WSL 实例,得用 --set-version 才能切换(非常费时,因为要将 Linux 的大量细碎文件拷入或拷出 vhdx)。

现在双击 "D:\WSL-Ubuntu-22.04\ubuntu2204.exe" ,开始安装这份实例。

参考以下解决方案:
关于windows安装wsl,出现WslRegisterDistribution failed with error: 0x8007019e The Windows Subsystem错误的解决方案-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/qq_37109456/article/details/109669455

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

然后电脑会重启,点击Y重启电脑,

wsl --set-default-version 1

再次运行Ubuntu2204.exe,发现可以成功运行

 找不到命令 ubuntu2004.exe,但它确实存在于当前位置。默认情况下,Windows PowerShell 不会从当前位置加载命令。如果信任此命令,请改为键入“.\ubuntu2004.exe”。有关详细信息,请参阅 "get-help about_Command_Precedence"。

安装过程踩坑——window10/11 安装 ubuntu20.04 提示 系统找不到指定的文件_ubuntu系统找不到指定的文件-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/m0_51781401/article/details/123970768如果报错——不存在具有提供的名称的分布。

参考

PS C:\Users\Administrator> wsl --list
适用于 Linux 的 Windows 子系统分发版:
Ubuntu-20.04 (默认)
PS C:\Users\Administrator> wsl --unregister Ubuntu-20.04

wsl --set-version Ubuntu 2 不存在具有提供的名称的分布。-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/m0_46882426/article/details/126193344这样就可以了

遇见bug

wsl -l -v无反应解决办法_wsl 无响应-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/feinifi/article/details/129572652X server already running on display IP:0

\
WSL2启动xfce4端口被占用解决方法_/usr/bin/startxfce4: x server already running on d-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_46457456/article/details/125595277?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170263556216800180624775%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170263556216800180624775&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-125595277-null-null.142%5Ev96%5Epc_search_result_base6&utm_term=X%20server%20already%20running%20on%20display%20IP%3A0&spm=1018.2226.3001.4187Linux系统下解决“No protocol specified“报错-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/m0_57541899/article/details/123633305

ubuntu :X server already running on display XXXX - 知乎 (zhihu.com)icon-default.png?t=O83Ahttps://zhuanlan.zhihu.com/p/500734107

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1535010.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

React源码学习(一):如何学习React源码

本系列源码学习,是基于 v16.13.1,v17.x与v16.x区别并不太大! 一、如何正确的学习React源码? 找到Github,转到React仓库,fork / clone源码:React 查看Readme,在Documentation中有Cont…

昇思MindSpore AI框架MindFormers实践3:ChatGLM3-6B对一段文字进行提取

MindSpore和MindFormers安装参见:昇思AI框架实践1:安装MindSpoe和MindFormers_miniconda 安装mindspore-CSDN博客 使用了MindSpore2.2和MindFormers1.0 支持的模型: KeyError: "model must be in odict_keys([gpt2, gpt2_lora, gpt2_xl, gpt2_xl…

2024.9.14 Python与图像处理新国大EE5731课程大作业,马尔可夫随机场和二值图割,校正立体图像的深度

1.马尔科夫随机场和二值图割 马尔可夫随机场(MRF, Markov Random Field): MRF 是一种用来描述图像像素之间空间关系的概率模型。它假设图像中的像素不仅取决于自身的值,还与周围像素有关。这种模型经常用于图像分割、去噪等任务。…

51单片机 - DS18B20实验1-读取温度

上来一张图,明确思路,程序整体裤架如下,通过单总线,单独封装一个.c文件用于单总线的操作,其实,我们可以把点c文件看成一个类操作,其属性就是我们面向对象的函数,也叫方法&#xff0c…

iPhone 16预售已开,沙漠金色最抢手,喜提新机后别忘了这件事!

9月13日20点,iPhone 16系列正式开启官方预购。今年全新的iphone16不仅新增相机按钮和AI功能,还增加了沙漠金配色。“加量不加价”的iPhone 16系列开售依旧火爆,iPhone 16系列开售1分钟内,苹果官方网站一度被消费者买到崩&#xff…

(Python+selenium)UI自动化测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 前言 我们在进行UI自动化测试时,一般采用javaselenium或者pythonselenium的方式。由于python比较简单,上手快,因此建议大家采…

【第34章】Spring Cloud之SkyWalking分布式日志

文章目录 前言一、准备1. 引入依赖 二、日志配置1. 打印追踪ID2. gRPC 导出 三、完整日志配置四、日志展示1. 前端2. 后端 总结 前言 前面已经完成了请求的链路追踪,这里我们通过SkyWalking来处理分布式日志; 场景描述:我们有三个服务消费者…

Vue安装及环境配置【图解版】

欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 Facts speak louder than words! 目录 一.node.js的安装…

2024/9/14 408大题专项训练之存储系统

组相联映射怎么算组号? 有cache总大小/路数xcache大小 物理地址与虚拟地址位数不一定相等,但是她们页内地址和块内地址位数是一样的!

基于自己的数据库构建基于LLM的专属知识库

简介: 基于自己的数据库构建基于LLM的专属知识库 要基于自己的数据库构建基于LLM的专属知识库,你需要遵循以下步骤: 确定目标:首先,你需要明确你的知识库的目标。这可能是用于回答特定领域的问题、提供个性化的建议或…

微信这些危险设置一定要关!

你有仔细研究你的微信吗? 用了这么久的微信,才知道 有这么几个设置需要及时关闭! 逐个操作更安心1️⃣取消不常用的免密支付和自动续费 我>服务>钱包>底部 支付设置>免密支付/自动续费2️⃣取消对附近陌生人授权位置 2️⃣取消对…

大数据新视界 --大数据大厂之Kafka消息队列实战:实现高吞吐量数据传输

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

成功晋级 | 3本ELSEVIER期刊正式被ESCI收录,最快的录用后2天即可出版

爱思唯尔(ELSEVIER)作为一家国际顶尖出版集团,自1880年创办以来,旗下出版期刊有2800多种,其中包含《柳叶刀》《细胞》等TOP期刊,在学术科研界享誉盛名。 根据八月份公布的最新SCI目录显示,ELSE…

UART 16550的使用

前言 本文从操作系统使用 16550 的角度来学习 16550。主要解析通用的串口寄存器的作用。 16550 串口由一系列寄存器控制串口行为。不同的具体设备寄存器的偏移不同,寄存器的长度可能不同。 例如,在 AXI UART 16550中,各寄存器长度都为 32 b…

每天五分钟玩转深度学习PyTorch:模型参数优化器torch.optim

本文重点 在机器学习或者深度学习中,我们需要通过修改参数使得损失函数最小化(或最大化),优化算法就是一种调整模型参数更新的策略。在pytorch中定义了优化器optim,我们可以使用它调用封装好的优化算法,然后传递给它神经网络模型参数,就可以对模型进行优化。本文是学习第…

D - 1D Country(AtCoder Beginner Contest 371)

题目链接: D - 1D Country (atcoder.jp) 题目描述: 数据范围: 输入输出: 题目分析: 典型的l, r 区间问题,即是前缀和问题,但是注意到数据范围, 数据范围1e-9 到 1e9 数据范围,要是从最小到最大直接for循环去模拟的话,时间复杂度…

opencv中读取图片、视频以及对其基本操作

一、清华TUNA提供的Anaconda仓库镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes 二、图…

【EI会议末轮截稿通知】第三届电子信息技术国际学术会议(EIT 2024)

第三届电子信息技术国际学术会议(EIT 2024) The 3rd International Conference on Electronic Information Technology 重要信息 大会官网:www.ic-eit.net 三轮截稿时间:2024年9月16日23:59分(后续不再征稿&#x…

【Hot100算法刷题集】双指针-01-移动零(含置零思路、移动思路、偏移量思路、冒泡法)

🏠关于专栏:专栏用于记录LeetCode中Hot100专题的所有题目 🎯每日努力一点点,技术变化看得见 题目转载 题目描述 🔒link->题目跳转链接 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾&…

企业数字化转型建设方案(数据中台、业务中台、AI中台)(可编辑的188页WORD)

引言:企业数字化转型是一个复杂而长期的过程,其核心在于通过数据中台、业务中台和AI中台的建设,推动企业实现全面的数字化升级。 方案介绍:企业数字化转型建设方案中的数据中台是企业数字化转型的核心基础设施,负责数…