一、前言
在一个老的Win笔记本上想装一个Linux虚拟机使用。
不过这次折腾了几次才完全安装好可以使用。
这台比较老的Win笔记本上之前没装过虚拟机,而且也是首次使用OpenEuler Linux发行版,因此碰到的问题挺多,因此完全安装好可以使用后,立马整理成这篇文章存档。
OpenEuler Linux我还动手安装了桌面环境使用,亲测成功,下面会详细说到。
二、虚拟机软件VBox
虚拟机软件使用以前用过多次的已经习惯了的Virtual Box。个人使用来说,免费,又好用。其它的包括VmWare我没怎么用过。
VBox官网下载地址:Downloads – Oracle VM VirtualBox
下载画红线的两个,如下:
一个是安装程序,一个是扩展包,安装后使用。扩展包后面就不再提到了,安装后使用即可。
三、几个Linux发行版的尝试
在考虑用哪个Linux发行版时,最开始想着OpenEuler我没正式使用过,要不下一个吧。
openEuler-24.03-LTS-everything-x86_64-dvd.iso
于是下了这个openEuler-24.03-LTS。
但在VBox中安装过程中选软件包时,发现这家伙,默认是不安装桌面环境的,OpenEuler安装界面可供选择的几个场景选择中,都没有桌面相关的包可供选择。意味着装完后,还得自己手动安装桌面。
这也太麻烦了。
于是不想用OpenEuler,选Ubuntu吧,以前用过。
但在下载Ubuntu时,竟然Ubuntu 24.04桌面版和23.10桌面版,都无法下载。
甚至找了个国内的镜像,下载时也一直显示为进度0。
不行了,于是想,找个CentOS Stream吧。
CentOS-Stream-9-latest-x86_64-dvd1.iso
于是又去下了给Stream 9。
但在VBox中安装过程中,后来碰到了一个错误,记得好像是自动安装内核那一步时“kmod-vdko"还是什么的没找到?不知道有没有记错名字,也没细究这是啥原因。和VBox相关?但以前我在VBox安装Stream时没碰到过这个情况啊,Stream9新版本为啥有这问题?
不管了。不用这个。甚至去找了Stream8、Stream7,硬是没找到下载的ISO。服了。不想细找了。
硬着头皮上OpenEuler了,手动安装桌面也不得不挑战一下了。
四、VBox为安装OpenEuler Linux虚拟机的设置项
就openEuler-24.03-LTS-everything-x86_64-dvd.iso它了。
OpenEuler官网下载地址:openEuler下载 | openEuler ISO镜像 | openEuler社区官网
1、常规-基本
类型、版本,选Linux 64位就行,不需要准确的发行版名称。
2、常规-高级
红框两项都选”双向“。若只共享粘贴板双向而没拖放没设双向,可能系统和虚拟机间仍然是无法做复制黏贴操作的。
3、常规-说明
略
4、常规-虚拟盘加密
不需要加密。
5、系统-主板
内存,1G或2G够了。Linux,而且是虚拟机里的Linux,对内存和CPU这些资源不讲究,即使少一点,也一点问题没有。
启动顺序,光驱然后硬盘。不需要软盘。现在基本不用软盘了。安装完后,顺序会自动变成硬盘和光驱。
TPM大多数情况下都不需要。
扩展特性的I/O APIC需要,因为后面CPU需要选2个,2个(或2核)还是需要的。多CPU就要选I/O APIC启用。
启用EFI这项,启用吧。不启用也没关系。以前都是Legacy Boot的,以后慢慢都uEFI了。
Secure Boot大多数情况下都不需要。
6、系统-处理器
前面已经提到,选两个(或两核)。
那两个扩展特性,大多数情况下都不需要。虚拟化主机才需要,这里安装的是虚拟化客户机,大多数情况下都不需要不需要勾选那些东西。
7、系统-硬件加速
同前面,大多数情况下都不需要虚拟化或半虚拟化的东西。虚拟化主机才需要,这里安装的是虚拟化客户机,大多数情况下都不需要不需要勾选那些东西。
8、显示
默认设置即可,一般都不需要启用特别的东西。
9、存储
控制器:IDE那里,就挂载OpenEuler安装光盘ISO。安装完成后,以后还可切换到VBox Addition ISO。
控制器:SATA。虚拟硬盘SATA端口可以选2个。
盘可以勾选固态驱动器,比如可以有SATA SSD特性。
挂载的虚拟盘OpenEuler64.vdi创建时,不需要预先分配空间,不然VBox在创建时速度太慢了。还是老版本的VBox在创建盘预先分配时,是非常快的。
后面OpenEuler安装或使用是,即使虚拟盘不是预先分配的,盘容量动态增长,速度不会感觉慢的。
当ISO安装完,桌面安装完后,硬盘实际容量大概8-10G。创建的容量一共60G,后面可以慢慢用。
10、声音、网络
声音可以不需要。网络设置里,就默认设置。那块网卡模式选择NAT,设置就足够了。其它不用动。
11、串口、USB设备
这两个默认设置就行。
12、共享文件夹
共享文件夹是需要的,使用起来很方便。
在Win主机建一个目录,比如shared目录,后续该目录可以被Win主机和OpenEuler虚拟机之间进行读写权限的共享访问。
13、一览
这就好了。
五、OpenEuler的安装
点VBox上面设置好的OpenEuler虚拟机启动。
安装界面第一屏,选第一条。不用选第二个,不需要测试介质的。
直接安装就行。
1、杂项设置
安装过程中,杂项设置都默认即可,比如,语言中文,加英文。
时区是上海。
网络可以默认不设置。
root用户启用吧。然后建一个常用的用户。OpenEuler安装时,不像别的,密码可以简单一点,OpenEuler密码有点复杂度的。WTF,我都是喜欢简单密码的。
2、硬盘分区
你可以选择硬盘自动分区,不影响大多数情况,包括后面的安装桌面和使用。
前面看到虚拟硬盘大小是60G。
我个人喜欢老式的硬盘自定义半手动分区。
- swap分区一个,256M大小。小一点可以的,有一个swap分区就行。
- /boot/efi分区一个,也是256M大小够了。
- /boot分区一个,稍大,320M大小够了。或者你可以512M吧。
- 剩下的都是”/"分区。
/boot和”/"分区文件系统,选ext4。【我个人的设置而已。】
安装重启后,如用parted命令去看了是这样的:
以及用lsblk命令看的结果如下:
一清二楚。
3、选安装包
安装类型有三个,分别是:最小、服务器、虚拟啥啥的,我忘了。
类型就选服务器。不用选虚拟啥啥的。
无论选三个的哪个,都没有桌面包选择项。
就选服务器吧。
然后选服务器下可继续选相应的详细所有项。都安装吧,全部选了。
同样,下面的所有可选项,也都没有桌面包选择项。
选好了后就执行安装。
剩下的安装,自动进行即可以了。
安装完成,按提示的选择重启,就好了。
六、完善虚拟机使用共享文件夹的设置
开启已安装好的OpenEuler虚拟机。开启了后,是仅命令行界面的,没有桌面。
先将OpenEuler安装光盘ISO去掉,再开吧。
开起来后,点VBox设备菜单。
点安装增强功能。
这样VBox会将Additions ISO挂到虚拟机的光驱,即OpenEuler的/dev/sr0上。
sudo mkdir -p /media/cdrom
sudo mount /dev/sr0 /media/cdrom
然后到/media/cdrom目录下,去执行一个命令。
cd /media/cdrom
sudo bash ./VBoxLinuxAdditions.run
执行了VBoxLinuxAdditions.run,它会安装VBox提供的Linux驱动、工具等。
因为前面设置了Win下的共享文件夹“shared”,这里安装驱动后,就可以在Linux挂载Win下的共享文件夹了。
mkdir -p /media/shared
这里创建的是Linux侧的共享文件夹挂载点/media/shared。
mount -t vboxsf shared /media/shared
然后,把这行命令mount -t vboxsf shared /media/shared,加在/etc/rc.d/rc.local文件的最后面。
把Win侧的VBox提供的名为shared共享文件夹,加载到Linux侧的/media/shared。
特别的,OpenEuler有个搞笑的地方,文件/etc/rc.d/rc.local可能是不可执行的,这样OpenEuler重启后,共享文件夹不会自动加载了。其它Linux发行版没这个Bug。
sudo chmod +x /etc/rc.d/rc.local
因此,需要为/etc/rc.d/rc.local加上可执行权限。
以上都好了后,重启OpenEuler。
可以把VBox Additions ISO去除了,换回OpenEuler安装光盘ISO。因为后续可能在安装桌面时,用到OpenEuler安装光盘中的安装包等内容。
再次开启OpenEuler虚拟机。
这时Linux侧的/media/shared,也就是Win侧的shared目录共享文件夹,已经可以用了。
可以在共享文件夹下随便建一个文件,然后Linux、Win两侧都对该文件进行读写试试。
一般没问题的。
这样有了共享文件夹,Linux、Win间就可以相互收发、共享文件了。
七、为OpenEuler虚拟机安装桌面系统
为OpenEuler安装桌面系统很简单,就一步。
sudo dnf install gnome-shell gdm gnome-session
这样就安装Gnome桌面系统了,安装中途如有交互需要选yes或no,就选yes。
sudo systemctl enable gdm.service
sudo systemctl set-default graphical.target
安装完了,执行这两条,让OpenEuler重启后默认就启动到桌面界面,而不是前面那样的重启到命令行界面。
另外一个小问题:桌面安装完能用前,是在命令行界面,那么敲这些命令不方便啊,鼠标暂时还不好用,复制黏贴Win侧的命令到Linux命令行界面还不方便?怎么办?一个方法是Win侧把命令复制粘贴在shared共享文件夹目录下的一个文件中,然Linux中可以用命令搞过来重命名,并用vim稍微编辑一下,可以当作执行shell命令文件了,不用一个一个纯手工敲命令。这算是有共享文件夹的好处之一吧。
当然桌面安装完能用了,Win、Linux桌面应用界面间就可以复制黏贴了。
重启,这样就好了家人们。如截图,重启后默认就启动到桌面界面。
点左上角活动,可以切换打开某个应用啥的。可以用了。
那时我以为可以用了。
但打开后却发现少了很多应用。
比如没有命令行终端窗口。
我开启一个Linux,进入了桌面,却无论如何找不到一个Linux命令行界面的应用可以打开使用,比如gnome-terminal,比如xterm,这些一个都没有。
这是何等的握草。
其它不需要的应用倒有些。
于是,需要修补一下安装。
八、修补桌面应用安装
开启一个OpenEuler Linux,进入了桌面系统,却无论如何找不到一个Linux命令行界面的应用可以打开使用。当然这也难不倒我。
Linux可以按“ctrl-alt-F3"切换到无桌面的纯命令行界面。
如截图这样的无桌面的纯命令行界面。
只不过,电脑键盘通常F2、F3这种键可能还有别的功能,因此,按“ctrl-alt-F3"其实需要按按“ctrl-alt-fn-F3",也是很握草的事情啊。
不过算了,毕竟只要能进命令行,去修补桌面应用的安装就行。
命令行桌面应用,我用gnome-terminal比较习惯。那就装gnome-terminal。
sudo dnf install gnome-terminal -y --nogpgcheck
安装gnome-terminal,也只需要这样一条命令。
安装完后,按“ctrl-alt-F2"可切换回桌面。
好了,这下总算快完成了。
看看效果。
红圈中这个,就是gnome-terminal。
这个gnome-terminal终端应用打开,可以开启多个命令行窗口界面,比如例子中有两个窗口,看红框中的区别,这是同一个应用的第一个命令行窗口。
这是同一个应用的第二个命令行窗口。
同一个应用新开一个命令行窗口,快捷键是ctrl-shift-t,很方便,不需要动鼠标。
要在这两个命令行窗口间来回切换,快捷键是ctrl-pageUp或ctrl-pageDown,由于前面提到过类似的原因,如果键盘是pageUp、pageDown有别的功能,可能需要按ctrl-fn-pageUp或ctrl-fn-pageDown,很方便,不需要动鼠标。
如要把第二个命令行窗口移到第一个命令行窗口前,也就是重新安排一下窗口顺序,快捷键是ctrl-shift-pageUp或ctrl-shift-pageDown,同样原因,可能需要按ctrl-shift-fn-pageUp或ctrl-shift-fn-pageDown,还算方便,不需要动鼠标。
【我刚安装好gnome-terminal后,打开,习惯性的用快捷键切换,发现不行,我都开始急眼了,折腾了不少时间,发现是需要多按-fn-的原因。握草,这个笔记本以前没装过Linux,不知道有坑啊。】
为什么希望不动鼠标就能操作呢,这不就同用vim作为写代码编辑器一样的道理吗。
另外,不是Win、Linux间可以复制黏贴吗,没错,在gnome-terminal也有方便的快捷键,用来Win侧复制,用于Linux终端侧粘贴,或者Linux终端侧复制,用于Win侧粘贴。
不多说了。
至于其它桌面应用,比如你想用不同的浏览器,你可以参考gnome-terminal安装方式,自己去增加安装需要的应用。
九、附,历史命令参考
本节内容是附录参考了。
第34-40行,是因为不知道OpenEuler文件/etc/rc.d/rc.local可能是不可执行的,这个坑,因此检查一下,为什么mount -t vboxsf shared /media/shared命令已经加到rc中,重启后却没自动挂载共享文件夹呢?
第68-70行,在/var/log/messages中,发现了原因,于是为/etc/rc.d/rc.local增加了可执行权限。填了坑。
第46-47行,我确实是在Win侧把桌面的安装命令复制粘贴在shared共享文件夹目录下的一个文件中,然Linux中可以用命令搞过来并用vim稍微编辑一下,可以当作执行shell命令文件,不用一个一个纯手工敲命令。
第54-57行,是从桌面按“ctrl-alt-F3"切换到无桌面的纯命令行界面,去安装gnome-terminal。安装时发现没有yum命令,那就dnf安装。第57行的exit是退出纯命令行界面,然后“ctrl-alt-F2"可切换回桌面。