启动Windows支持的Linux虚拟机
如何在自己的Windows电脑上启动Linux虚拟机
起因是学校有脑残作业,必须使用360浏览器才能完成作业,但是大家都知道360浏览器是流氓软件,所以逼着不会安装虚拟机的我学习并在自己的电脑上启动一个Linux虚拟机,然后在虚拟机里安装360浏览器,这样就既可以完成作业,又不会被360浏览器骚扰,本文便用来记录和方便其他人使用。
注:
对于很少碰计算机的读者可能不知道如何运行指令,首先按Win
键搜索PowerShell可以打开PowerShell,用来运行后面大多数的命令。除此之外,对于虚拟机的命令需要在虚拟机打开的界面运行。只有部分特殊声明的命令是在CMD窗口运行的,打开方式是Win+R
同时按下,然后输入cmd
,按回车打开。
需求
首先我需要明白自己的需求,我的需求是:
- 虚拟机要能够运行
- 虚拟机最好不要安装在C盘
- 使用镜像,否则梯子受不了
- 使用图形化界面
针对我的需求,我上网找到一些教程1 2 3 4 5,我主要参考的是参考资料1,下面我就记录一下我的安装过程。
测试wsl
首先第一步,我测试了一下我有没有wsl2,报错
1
2
3
C:\Users\Administrator> wsl --set-default-version 2
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/wsl2-install
指出我需要
- 启用 “虚拟机平台” Windows 功能
- 在BIOS中启用虚拟化
但是实际上BIOS中虚拟化是默认开启的,所以实际上只是开启”虚拟机平台” Windows 功能,大家如果遇到同样的问题就不用非得去看BIOS,等开启”虚拟机平台” Windows 功能仍然不行再看就好。
不过测试结果告诉我,我需要安装wsl2,因为报错:
1
2
PS C:\Users\Administrator> wsl --update
Invalid command line option: --update
而报错是因为在首次设置 WSL 2 时,系统需要一个特定的内核组件安装包,直接运行命令是不行的,所以我还得去手动安装一下WSL发行版,网址2。安装之后再执行
1
wsl --set-default-version 2
就不会报错了。
下载
接下来就是下载安装包,在同样的网址2下大家按照教程1找到自己中意的发行版下载即可,不过下载比较缓慢,大家耐心等待就好。
大家一定要记住自己的账户密码,后面还会用到的!
接下来仍然按照教程操作,不过我们第一步下载下来的直接就是.appx文件,这不是第二步我们需要的文件,这里我们还是需要手动更改文件为.zip后缀,正常进行教程的第一步,不过后面的步骤就是一样的了,这样我们就成功将一个Ubuntu虚拟机安装到了我们的电脑上,而且不是C盘。
控制
尽管我们后面要给虚拟机安装桌面,但是这里我觉得仍然有必要知道怎么控制虚拟机。
主要是两个操作,一个是打开虚拟机,任何时候打开虚拟机你都只需要运行安装的ubuntu.exe
文件(不过我的这个文件叫ubuntu2404.exe
,读者可以找一下自己的这个文件叫什么,应该是大差不差的);而关闭虚拟机只需要在PowerShell里运行wsl --shutdown
就可以关掉所有正在运行的虚拟机了。
配置镜像
配置镜像源是很重要的,不然下载东西可以痛苦死你。这里的步骤我主要参考了4,但是因为教程并不十分完全,所以还参考了Gemini的建议,经过我的安装,总结步骤如下:
首先强烈建议运行
1
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
源配置文件通常是 /etc/apt/sources.list
,命令的作用是备份这个文件,方便出问题更改。
然后执行
1
sudo nano /etc/apt/sources.list
进入编辑界面,编辑配置文件,但是这里不建议直接复制教程4的配置,我最开始就是这样做的,可是后面下载配置时会出错,我更建议的是去镜像站根据自己的版本生成对应配置文件,然后粘贴过去(补充:粘贴按键我还没有弄得很清楚,不过我感觉应该是右键粘贴,读者也可以试试)。配置完成后
- 按
Ctrl + X
保存退出。 - 输入
Y
确认保存。 - 按
Enter
确认文件名。
接下来执行
1
sudo apt update
让APT重新加载软件包列表,以便从新的镜像源获取信息,同时也可以检查一下镜像十分成功地加载了。检查完成之后也可以使用
1
sudo apt upgrade
把可用更新安装一下。
打开桌面
接下来我们需要打开虚拟机的桌面,不然我怎么使用该死的360呢😭,这部分主要参考5。 首先依次运行如下代码安装依赖,如果前面镜像配置准确则应该流程地就可以安装:
1
2
3
4
sudo apt-get install xorg
sudo apt install -y xrdp
sudo apt install -y xfce4
sudo apt install -y xfce4-goodies
接下来设置端口:
1
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
还有修改配置文件(我也不知道是干什么的,只不过参考链接4 5 都有):
1
sudo echo xfce4-session >~/.xsession
接下来重启服务
1
sudo service xrdp restart
还有获取ip:
1
ip a
我这一步的输出如下,记住第六个,参考5,具体地就是数字后面跟着eth0的那一个。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 4a:45:3e:36:fc:87 brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 76:02:63:dc:4d:f6 brd ff:ff:ff:ff:ff:ff
4: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:3c:43:53 brd ff:ff:ff:ff:ff:ff
inet 172.29.253.231/20 brd 172.29.255.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fe3c:4353/64 scope link
valid_lft forever preferred_lft forever
然后在远程桌面里链接,这里有两种方法,图像化地可以参考4,或者直接cmd
执行:
1
mstsc /v:172.29.253.231:3390
其中172.29.253.231
是我的ip,而3390
是我们前面设置的端口号。
值得注意的是,每次启动虚拟机都需要重新查看ip和设置端口号,每次启动ip都会变化,所以需要改变参数,而且设置完成仍然需要重启
xrdp
至此如果没有问题我们就应该可以链接进虚拟机的桌面了。至于更改语言,大家可以参考5中的设置过程,选择语言和编码方式时不用十分严谨,选几个基本上就够用了,UTF-8基本上就能对付大多数情况了。
安装360
不要忘了我们的主线任务——安装360浏览器,完成作业。最开始我想这么奇葩的需求,应该不会有教程吧,结果你猜怎么着,还真有!6 跟着教程,我们首先下载360的linux安装包,随后在虚拟机命令行使用如下命令将文件复制到我们的虚拟机中(!千万不要双击运行了,给你真实电脑装一个就好玩了😂)
1
2
cd /mnt/c/Users/Administrator/Downloads
cp browser360-cn-stable_13.4.1000.56-1_amd64.deb /home/linux-admin/Desktop/
其中/mnt/c/Users/Administrator/Downloads
是你下载的安装包的路径,\mnt
是固定的,c/
是C盘,后面路径就和真实路径相同。browser360-cn-stable_13.4.1000.56-1_amd64.deb
是360安装包的名称,而/home/linux-admin/Desktop/
是桌面路径,其中linux-admin
请换成你自己的用户名。
然后在虚拟机里运行
1
sudo dpkg -i /home/linux-admin/Desktop/browser360-cn-stable_13.4.1000.56-1_amd64.deb
运行安装包安装360,最后的参数仍然是安装包路径。
网络问题
到这一步理论上来说安装就完成了,可是我却遇到了下面的问题:明明虚拟机ping
可以访问网络,可是浏览器却无法打开网站。经过我的排查发现是https协议的问题,卡在TLS/SSL握手上了。AI给的解决方案也很简单,首先运行
1
sudo ip link set dev eth0 mtu 1350
临时放宽握手条件,经测试,这时就可以正常访问网站了。不过AI还告诉我可以使用配置文件永久更改,但是我怎么尝试也不行,遂放弃。不过对于我这种做一下作业,也完全没什么必要搞那么清楚,本来就是为了存放一些不想安装到电脑上的程序的 (当垃圾桶使)