wsl2使用hyper-v,以前不能与其他虚拟机软件共存,VirtualBox6.0版本已经可以共存了
wsl2与hyper-v的关系,wsl2能否与其他虚拟化产品共存:有关适用于 Linux 2 的 Windows 子系统的常见问题 | Microsoft Docs
注意:此文档使用virtualbox6.18
安装VBoxGuestAdditions
VBoxGuestAdditions只需要安装一次,再开其他虚拟机不用再次安装
VBoxGuestAdditions能解决的问题:
- 虚拟机桌面缩放
- 虚拟机与主机共享clipboard,共享文件
- 时钟同步
- 鼠标集成
- 更多参见https://www.virtualbox.org/manual/ch04.html#guestadd-intro
共享clipboard,还需要在如下设置
我的安装环境,host : win10 virtual machine : debian 10.9
注意:需要已经安装了guest系统到虚拟机,只是在虚拟机里使用liveCD系统无法安装
官方安装指南:https://www.virtualbox.org/manual/UserManual.html#additions-linux
https://www.virtualbox.org/manual/UserManual.html#additions-linux
直接使用VirtualBox菜单Device-> Insert Guest Additions CD Image 出错提示:
这是因为已经插入了其他光驱
官方提示安装前的三项准备
- GNU compiler (GCC)
- GNU Make (make)
- Kernel header files
前两条安装build-essential包就行
1 | sudo apt-get install build-essential |
什么是Kernel header files,如何安装?
解决办法:https://superuser.com/questions/1200087/virtualbox-guest-additions-on-kali-linux
1 | sudo apt-get install linux-headers-`uname -r` dkms |
上述链接中提到要mount VBoxGuestAdditions的虚拟光驱,再运行VBoxLinuxAdditions.run,也可以直接复制VBoxLinuxAdditions.run到home目录下执行,如下图所示
1 | chmod +x VBoxLinuxAdditions.run #提升可执行权限 |
安装完后重启虚拟机就行
如果重复安装会有如下提示:
查看增强功能的内核模块信息(以manjaro为例)
有三个模块
查看模块信息
modinfo vboxvideo
debian添加用户到sudo
debian不像ubuntu,新建的普通用户不属于管理员,即不在sudo用户里,不能使用sudo提升权限
先进入root用户
1 | su |
添加到sudo
1 | adduser user-name sudo |
用户logout之后重新登录生效,用groups查看是否有sudo权限
1 | groups |
debian恢复.bashrc文件
进入debian系统后,cli里执行 echo $SHELL 查看当前正在使用的shell,如果不是bash,输入bash切换
在给.bashrc添加alias和PATH时弄乱了,由于没有备份,需要恢复
1 | cp /etc/skel/.bashrc ~/.bashrc |
/etc/skel/.bashrc是初始文件,和home目录下的.bashrc内容相同
debian显卡开源驱动
https://wiki.debian.org/zh_CN/NvidiaGraphicsDrivers
查询有哪些开源驱动
slitaz的安装指南
https://zhuanlan.zhihu.com/p/64391039
https://blog.csdn.net/weixin_47473923/article/details/105943362
第二个不知道如何使用menu.lst,采用第一个安装slitaz到虚拟机
slitaz中如何安装VB增强功能
gdesilva on “Installing VirtualBox Guest Additions in Slitaz 5.0”” (rssing.com)
我用slitaz-rolling-core64.iso安装的,安装后xorg-server的版本为
在启动时发现不能加载vboxvideo模块
为什么不能load virtualbox的模块vboxvideo 查看模块信息,命令modinfo
https://www.virtualbox.org/wiki/LinuxAdditionsDebug
How do you install VirtualBox Guest Additions in Slitaz running in a VirtualBox « SliTaz Forum
the vboxvideo module should not be used on systems with X.org later than 1.16 or Linux kernels older than 3.11
安装显卡驱动。如果不执行这一步,进入slitaz后,桌面的界面是一帧一一帧刷新的
https://www.cnblogs.com/meetrice/p/3682509.html
运行tazx命令
尝试了slitaz的各种版本iso,从U盘启动无法进入live的安装界面,只有命令行
在virtualbox上可以进入slitaz live界面,安装slitaz到虚拟硬盘,但是没有大于1.16的Xorg-server版本,也就不能使用VB的增强功能
错误
VB安装slitaz后直接进入了命令行,而不是图形界面
增大虚拟机的显存容量就行
could not find kernel image: Vesamenu.c32
安装slitaz时,分区表使用了gpt,启动虚拟机时出现这个问题,改为使用msdos
参见https://forum.slitaz.org/topic/slitaz-installer-doesnt-work-on-a-gpt-partition#post-43305
linux发行版的livecd
linux发行版一般提供livecd镜像,这种镜像可以从cd里启动系统,也可以放入bootable usb来启动,试用系统过程中可以安装系统。livecd也支持载入virtualbox来试用。
https://help.ubuntu.com/community/LiveCD
https://help.ubuntu.com/community/Installation/FromUSBStick
debian提供了多种iso镜像,其中的livecd镜像通过usb就可启动,启动后也有debian-installer
虚拟机安装manjaro卡住不动
在这一步卡主,原因是分配的内存不够,从1G调整为2G就可以了
debian系统启动过程
grubhttps://zh.wikipedia.org/wiki/GNU_GRUB
linux启动日志
debian启动时命令行输出飞快的翻页,这些输出保存在/var/log/boot.log里
share folder
virtualbox需要安装增强功能,设置windows的某个文件夹与guest共享以及挂载点,此时这个挂载点目录属于vboxsf group,当前用户没有访问权限,还需要把当前用户添加到vboxsf组
sudo usermod -aG vboxsf account-name
查看模块vboxsf信息
modinfo vboxsf
虚拟机开启ssh服务
debian虚拟机默认没有安装ssh-server服务,需要安装
sudo apt install ssh
ssh-server服务的进程名是sshd,查看是否启动
ps -A | grep ssh
如果没有启动,用以下命令启动
service sshd start
然后可以在本地host ssh登录到虚拟机,但是不能用root用户登录,因为默认root远程登录时禁止的
scp复制host文件到虚拟机
scp使用ssh来复制文件到远程主机
scp file-name user-name@ip:dir,复制需要输入远程主机的密码
从本地到远程主机: scp .\风行2.jpg hcf@192.168.0.101:/home/hcf/
从远程主机到本地: scp hcf@192.168.0.101:/etc/ssh/ssh_config ./
获取远程主机的公钥和fingerprint
获取远程主机公钥:ssh-keyscan github.com
计算公钥的fingerprint:ssh-keyscan github.com | ssh-keygen -E sha256 -lf -
对比计算结果与第一次登录时提示的远程主机公钥
第一次登录远程主机,会把远程主机的公钥加入到本地的known_hosts
ssh-keyscan 192.168.0.101
扫描到三种类型的公钥:RAS ECDSA ED519,对应文件如下
ssh-keyscan 192.168.0.101 | ssh-keygen -E sha256 -lf -
1 | ssh-keyscan -t ECDSA 192.168.0.101 #指定只扫描这种类型的公钥 |
整个登录和获取公钥过程都是用ip地址做参数的
apt包管理器的工作原理
运行 apt update会同步源到本地的包索引文件,如
https://mirrors.tuna.tsinghua.edu.cn/debian/dists/buster/main/binary-amd64/下的
Packages.gz解压为一个文本文件,包含了包的meta information, debian /var/lib/apt/lists下的这个文件与其内容相同,shasum计算hash值比较是否内容相同,或者用diff命令
以0ad这个包为例,元信息如下
apt-cache show pkgname 比apt show pkgname 显示更多信息
包的下载地址:https://mirrors.tuna.tsinghua.edu.cn/debian/pool/main/0/0ad/,即包本地都在pool目录下
已下载的包 /var/cache/apt/archives/
包的元数据目录 /var/lib/apt/lists/
对apt search如何在缓存中搜索包的介绍:Apt Search Command: Search & Find Package Details in Ubuntu (itsfoss.com)
apt与apt-get apt-cache区别:Difference Between apt and apt-get Explained - It’s FOSS (itsfoss.com)
apt比apt-get 和apt-cache多出两个命令 apt edit-sources 和apt list
win10更新C盘空间不足,创建链接文件
先把C:\Program Files\MATLAB剪切到F:\Matlab,再创建syboml link,matlab原有的start menu快捷方式仍可以正常工作
mklink /D “C:\Program Files\MATLAB” “F:\Matlab”
virtualbox6.18不能安装 CentOS-8.3.2011
6.18引导CentOS-8.3.2011-x86_64-dvd1.iso时会黑屏(blank screen)
VB6.1.20修复了这个bug
Changelog – Oracle VM VirtualBox
把VB更新到6.1.20后,可以安装CentOS-8.3.2011-x86_64-dvd1.iso
google 搜索 centos 8.3.2011 virtualbox black screen
如果windows开启了hyper-v,再使用virtualbox,就是嵌套虚拟化,导致VB里的虚拟机变慢
virtualbox.org • View topic - HMR3Init: Attempting fall back to NEM (Hyper-V is active)
如何关闭hyper-v(避免影响VM性能)
在virtualbox6.1.20中安装了puppy linux fossapup64-9.5,结果表现是boot很慢,启动后整个系统卡住,cpu load 高达99%
google搜索”puppy” virtualbox cpu load too high
问题原因还是virtualbox.org • View topic - HMR3Init: Attempting fall back to NEM (Hyper-V is active),搜索vm的log “Attempting fall back to NEM”
帖子里另有两个link,介绍了如何开启hyper-v和关闭它
How to Disable Hyper-V Completely in Windows 10 - Petri
Run Hyper-V, VirtualBox and VMware on same Computer | Tutorials (tenforums.com)
要关闭hyper-v不需要这个帖子如此复杂的步骤,只需要运行以下命令后重启系统
1 | bcdedit /set hypervisorlaunchtype off |
输入bcdedit,显示信息可能如下
hypervisorlaunchtype AUTO,Hypervisor is ON and enabled
hypervisorlaunchtype OFF, Hypervisor is OFF and disabled
输入systeminfo ,显示如下信息表上系统支持虚拟化,且hyper-v没有开启
wsl2依赖hyper-v,此时wsl2不能启动
关闭hyper-v后重启virtualbox 和vm puppylinux,运行截图正常如下
在开启hyper-v时,virtualbox右下角这只龟是green turtle,会影响vm的性能