共计 4395 个字符,预计需要花费 11 分钟才能阅读完成。
其实经过前文的安装,当前的 Ubuntu 系统已基本能满足日常需求了。但仍有少部分场景使用的应用程序,无法在 Linux 中使用,因此本文介绍下 Ubuntu 20.04 中如何安装虚拟机,做为整个双系统安装系列的完结篇。本文最终会在虚拟机中安装一个 Windows 10 的系统。一切回到了原点,仿佛又进入了循环。
常用免费的虚拟机软件有 VirtualBox 和 VMware Workstation Player,笔者习惯使用 VirtualBox,故这里以 VirtualBox 为例说下虚拟机的安装过程。
VirtualBox 的安装会使用到三个包:
- VirtualBox: 虚拟机安装包
- VirtualBox Extension Pack:虚拟机增强包,提供了支持诸如 USB 2.0、USB 3.0、VRDP、主机摄像头和网卡等功能。
- VirtualBox GuestAdditions:客户端扩展包,能解决缩放比例不协调、共享文件夹、共享粘贴板等功能。
可以在下载页面选择最新版本,然后下载上述三个文件。
安装 VirtualBox
- 点击下载的 VirtualBox 安装包,安装即可。
- 启动 VirtualBox,安装 VirtualBox Extension Pack:点击 Tools/Preferences/Extensions,点击 Add new package,添加 Oracle_VM_VirtualBox_Extension_Pack-version.vbox-extpack,点击 OK,会弹出来如下对话框:
- 点击 Install 即可。
安装 Windows
目前较新的 Windows 版本为 Win10 和 Win11,不过两者对系统的最低要求差距较大,如下:
版本 | CPU | 内存 | 磁盘 | 显卡 |
---|---|---|---|---|
Windows 10 | 1GHz 以上 | 1GB(32 位)/2GB(64 位) 以上 | 16GB(32 位)/20GB(64 位)以上 | DirectX 9 以上 |
Windows 11 | 1Ghz 以上 | 4GB 以上 | 64GB 以上 | DirectX 12 以上 |
由于虚拟机空间有限,故笔者这里安装 Windows 10 的虚拟机。
下载系统镜像
在官网下载页面下载镜像,若下载速度慢,可在 I Tell You 中的操作系统下载镜像。下载完成后,校验下载包的 sha256 值是否与官网相同(在终端执行 sha256 Win10_VERSION.iso
即可)来判断镜像文件被修改。Windows 10 中文版本的 sha256 值如下:
- 家庭中文版 32-bit: 51FA399CBEC444DCF842AA45C17D94B788516F21C6B40CD5B2A0BBEF9BAE40EF
- 家庭中文版 64-bit: 367C188F254270A9F8FED635E3EB6AD849B5AFCAE3408AB087382D9DEEBE0098
- 简体中文 32-bit: E763A26D1B7C3540C5865636CB6FF008089A630EF407A595A8F2F6316F6FBEBA
- 简体中文 64-bit: 1BC4224DAD6AD37847990EE4B153530EE5620AAA398C7F16A25DA018024153E2
创建虚拟机
-
打开 VirtualBox,点击 New:
-
设置虚拟机名字和版本等信息:
- Name: Windows10
- Type: Microsoft Windows
- Version: Windows 10(64 bit)
-
设置内存大小:
根据机器配置设置虚拟机运行时的内存大小,一般可将虚拟机内存大小设置为机器物理内存的 1/4 ~ 1/3。
-
创建虚拟硬盘:
- 选择立即创建虚拟硬盘:
- 设置硬盘文件类型,选择默认的 VDI。
- 选择是动态分配硬盘空间大小,还是固定大小。选择默认的动态分配。
- 设置硬盘文件存储位置和大小,硬盘大小根据需求设置,前文说到 Win10 系统要求的硬盘大小至少为 20G,再加上用户使用的空间,建议至少配置为 30G。
- 点击 Create。
- 选择立即创建虚拟硬盘:
-
点击刚创建成功的 Windows 10 虚拟机,点击 Settings,修改如下项:
- General
- Advanced
- Shared Clipboard: Bidirectional
- Drag’n’Drop: Bidirectional
- System
- Motherboard
- Boot Order: 勾选 Hard Disk 和 Opitcal
- Processor
- Processors: 根据需要配置,建议设置为总核数的 1/8~1/4 大小
- Storage
点击 Storage Devices 中的 Empty,点击右边的小圆按钮,选择 Choose a disk file…,然后选择下载好的 Win10_VERSION.iso 镜像,勾选 Live CD/DVD:
- USB
Enable USB Controller,选择 USB 3.0 - Shared Folders
点击 Add 按钮,添加共享文件夹,设置为 Auto-mount - User Interface
勾选 Show at Top of Screen
设置完后,保存。
- General
-
点击 Start 启动虚拟机,进入 Windows 10 的安装页面。
输入安装序列号,这里粘贴几个从网上搜到的序列号(不保证一定可用):- KH2J9-PC326-T44D4-39H6V-TVPBY
- 87VT2-FY2XW-F7K39-W3T8R-XMFGF
- TFP9Y-VCY3P-VVH3T-8XXCC-MF4YK
- 6K2KY-BFH24-PJW6W-9GK29-TMPWP
- RHTBY-VWY6D-QJRJ9-JGQ3X-Q2289
- 236TW-X778T-8MV9F-937GT-QVKBB
安装时选择自定义安装。
-
选择系统安装位置:
点击下一步继续安装,最终安装结束后效果如下:
使用时可以发现缩放比例不正常,接下来安装 VirtualBox GuestAdditions 来解决这个问题。 -
安装 VBoxGuestAdditions:
- 点击虚拟机左上角顶部的 Devices,选择 Optical Drivers -> Choose/Create a disk image,选择 VBoxGuestAdditions.iso。
- 在 Windows 中,打开文档,找到 CD 驱动器:
- 右键点击“从媒体安装或运行程序”,开始安装 VirtualBox Guest Additions:
点击下一步安装。
安装成功后,会自动重启虚拟机。重启后再通过 Host 键(默认为右边的Ctrl
)+F
切换为全屏模式,可以看到显示正常了。切换屏幕的三个快捷键:
HOST
+F
:全屏模式HOST
+C
:自动缩放模式HOST
+L
:无缝模式
- 点击虚拟机左上角顶部的 Devices,选择 Optical Drivers -> Choose/Create a disk image,选择 VBoxGuestAdditions.iso。
至此整个 Windows 安装完成。
激活 Windows
打开 Windows 设置,选择更新与安全/激活,可以看到系统尚未激活。
点击下方的“更改产品密钥”开始激活系统。
输入 Windows10 专业版密钥(NPPR9-FWDCX-D2C8J-H872K-2YT43
),不过可能会出现:“我们无法在此设备上激活 Windows,因为没有有效的数字许可证或产品密钥”的报错:
按如下操作来解决这个问题:
-
以
Win
+X
打开开始菜单,执行Ctrl
+A
以管理员身份打开 PowerShell。 -
打开命令提示符之后请依次输入:
slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 slmgr /skms kms.03k.org slmgr /ato
-
运行完成后,可以看到系统已激活成功:
激活成功后,对于 Linux 无法很好处理的场景,如微信,公司聊天软件等,均可在虚拟机中完成。
优化
在使用虚拟机过程中,总会遇到一些意外问题,如下。
Windows 虚拟机磁盘扩容
在使用一段时间后,Win10 虚拟机磁盘空间不足,需对其扩容。
按如下过程操作:
-
关闭 Win10 虚拟机。
-
重置虚拟机磁盘容量。
在 Ubuntu 命令行中通过 VirtualBox 提供的VBoxManage
命令将虚拟机磁盘扩容到 40G:// 1. cd 到虚拟机磁盘目录 ❯ cd ~/software/VirtualBox/vms/Windows10 // 2. 查看 vdi 文件信息,可以看到目前为 30G ❯ VBoxManage showhdinfo Windows10.vdi UUID: 59765c08-0e10-472d-94bc-2a3ffc7776a1 Parent UUID: base State: locked write Type: normal (base) Location: software/VirtualBox/vms/Windows10/Windows10.vdi Storage format: VDI Format variant: dynamic default Capacity: 30865 MBytes Size on disk: 24612 MBytes Encryption: disabled Property: AllocationBlockSize=1048576 In use by VMs: Windows10 (UUID: 528a968e-585a-460a-b133-fef326c1b0f6) // 3. resize 调整为 40G,单位为 MB ❯ sudo VBoxManage modifymedium --resize 40960 Windows10.vdi 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% // 4. 查看 vdi,容量已为 40G ❯ VBoxManage showhdinfo Windows10.vdi UUID: 59765c08-0e10-472d-94bc-2a3ffc7776a1 Parent UUID: base State: created Type: normal (base) Location: software/VirtualBox/vms/Windows10/Windows10.vdi Storage format: VDI Format variant: dynamic default Capacity: 40960 MBytes Size on disk: 24615 MBytes Encryption: disabled Property: AllocationBlockSize=1048576 In use by VMs: Windows10 (UUID: 528a968e-585a-460a-b133-fef326c1b0f6)
-
启动 Windows 10 虚拟机,对刚增加的 10G 空间新建卷。若能与相邻卷合并,也可以合并到相邻卷中。
启动“磁盘管理”,对未分配的分区点击右键,选择新建卷,创建新分区:
-
将 C 盘中数据移动到新建卷中。
后记
至此整个双系统安装完成,总体而言,过程还是蛮繁琐的。就笔者使用 Linux 系统的感觉而言,偶尔仍会遇到一些兼容性的问题,另外国内外不少应用对 Linux 的支持也不太完善,所以不得不搭配个虚拟机。不过整个 Linux 系统优化完成后,基本已能满足大部分需求。对于程序员而言,有台 Linux 机器做为 MacOS 的备份机器,也是一个不错的选择。