1. 准备工作

virtualbox下载地址:

https://www.virtualbox.org/wiki/Downloads

这里下载的是VirtualBox 6.1.30 for Windows hosts  x86/amd64

同时还需要下载 (在安装以后的文件夹里面如果已经有了VBoxGuestAdditions.iso,那就不用单独下载了)

VBoxGuestAdditions_4.3.18.iso

地址http://download.virtualbox.org/virtualbox/4.3.18/

Ubuntu:

Ubuntu 12.04.5 LTS (Precise Pangolin)

http://releases.ubuntu.com/precise/

下载64-bit PC (AMD64) desktop CD

宿主机:64位Win7

必须先打开宿主机器的虚拟化技术,否则VirtualBox无法安装64位系统。可以通过CPU-V查看。

开机进入Bios,进行设置

2. 安装Linux

在Virtualbox中,点击新建,选择Linux, 64bit Ubuntu,分配好内存和硬盘,创建完成。点击主菜单里的启动,进入虚拟机,选择下载好的ubuntu的iso镜像,然后进入安装。

3. 安装增强功能

安装完以后启动Ubuntu,在外层虚拟机菜单中,选择"设备"->“分配光驱" -> 选择VBoxGuestAdditions_4.3.18.iso

如果Linux有图形界面:

在左边栏菜单选择加载后的光驱,双击“autorun.sh”安装。安装完以后,重启虚拟机,此时ubuntu可以占满屏幕。如果宽度仍然不能占满,可以在桌面右键调整桌面背景。

如果Linux没有图形界面,可以按照如下方式安装增强功能:

$ sudo mkdir -p /mnt/cdrom
$ sudo mount /dev/cdrom /mnt/cdrom
$ cd /mnt/cdrom
$ sudo ./VBoxLinuxAdditions.run

安装完增强功能以后reboot

4. 如何使用命令行

点击Ubuntu左边栏最上方菜单"Dash Home",如果terminal没有显示,可以在搜索框中输入terminal. 点击terminal可以进入命令行模式

5. 设置宿主机与虚拟机共享文件夹

在windows上新建一个目录作为共享文件夹,比如E:\VirtualBox_Share

在VirtualBox中选择 “设备”-> "共享文件夹",选择上面创建的共享目录。勾选“自动挂载” “固定分配”

选择自动挂载会在/media下创建sf_共享文件夹名称,比如上面的共享文件夹名称为share,那么会在/media下创建sf_share的目录,需要将用户加入vboxsf组才能查看里面内容,

sudo adduser 用户名 vboxsf  (对于CentOS, 执行 usermod -a -G vboxsf 用户名

可以在windows或者ubuntu的这个目录下创建文件测试。如果未生效,可以重启虚拟机测试。

6. 设置宿主机与虚拟机互相拷贝粘贴文字

参考http://jingyan.baidu.com/article/cbf0e500f88a4f2eaa289338.html

点击VirtualBox软件的“设备”,在弹出设备菜单里点击“共享粘贴板“,在其弹出菜单栏点击“双向”

7.设置命令行或者界面启动系统

root的身份登陆,然后执行:
#cd /etc
#vi inittab

更改"id:5:initdefault:"语句即可。
其中5表示默认图形启动界面,3表示默认文字启动界面
注:在启动之后,还可以通过下面的语句进行切换:
#init n
如果在图形界面下,输入#init 3,则进入文字界面。
如果在文字界面下,输入#init 5,则进入图形界面。

8. Host-Only模式下宿主机访问Guest虚拟机

在宿主机上查看IP地址,会发现有一个虚拟机IP地址,如下图所示。在Guest机器上配置一个同网段的IP,比如192.168.192.2,那么就可以访问了。

Ethernet adapter VirtualBox Host-Only Network #2:
   IPv4 Address. . . . . . . . . . . : 192.168.192.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

9. NAT模式下宿主机访问Guest虚拟机

为了支持guest虚拟机上网,通常配置成NAT方式,同时为了在宿主机访问虚拟机,需要使用端口转发。比如:

其中,10.0.2.15是Guest虚拟机NAT方式下获得的IP地址。这样,在宿主机上通过ssh 127.0.0.1:2222就可以访问虚拟机了。

【常见问题】

1. 在操作VBox的“设备”->“安装增强功能”时,出错:Error: unable to find the sources of your current Linux kernel。

解决方案(以CentOS为例):

先升级内核,以免后续的内核模块不一致:

===========================================

1) 查看当前和可升级版本

yum list kernel

2) 升级

yum update kernel -y 

3) 重启并检查

# reboot   

# uname -r

===========================================

yum install -y gcc make perl kernel-devel kernel-headers

如果升级kernel以后旧的还在,可以考虑将旧的卸载,通过yum list installed|grep kernel* 查看,

然后通过rpm -e卸载即可。比如:

rpm -e kernel-core-4.18.0-348.el8.x86_64

然后reboot。重启之后,就可以进行virtualbox增强工具安装了

2. Host-Only的网络模式无法启动,报错没有Host-Only网络界面,解决方式:

VirtualBox选择“管理”-> “全局设定”->“网络”->“仅主机(Host-Only)网络”选项卡

点击右侧加号按钮,创建一个Host-Only的网络接口。

3. .vdi占用过大磁盘空间

清理步骤:

1)sudo dd if=/dev/zero of=zero.fill
      sudo rm -f zero.fill

2)关闭虚拟机

3)在宿主机上cd到VboxManage所在目录,比如:cd /d C:\Program Files\Oracle\VirtualBox

执行 VboxManage modifymedium disk C:\CentOS8\CentOS_8\CentOS_8.vdi --compact

4. 安装vbox additions.iso时如果报kernel-headers未安装或者版本不对,那么需要安装相应的

   kernel-devel以及kernel-header,然后reboot

5.安装vbox additions.iso如果报:gcc make perls未安装,那么可以执行:

yum groupinstall "Development Tools" -y

6. 安装vbox additions.iso如果报:ValueError: File context for /opt/VBoxGuestAdditions-xxx/other/mount.vboxsf already defined

 参照:https://www.pc-freak.net/blog/centos-8-redhat-8-insert-additional-guests-additions-vm-enable-fullscreen-copy-paste/

执行:

# semanage fcontext -d /opt/VBoxGuestAdditions-XXX/other/mount.vboxsf
# restorecon /opt/VBoxGuestAdditions-XXX/other/mount.vboxsf

7. 如果虚拟机默认无法上网,查看设置-网络里面发现网络没有打开,那么,可以修改配置文件:

/etc/sysconfig/network-scripts/ifcfg-enp0s3: 将ONBOOT设置为yes

8. 命令行模式切换到图形界面:sudo systemctl isolate graphical.target

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐