再谈fedora23下Virutalbox的安装. --问题的关键在于 安装kernel-devel包

首先, 要使用 virutalbox的 rpm 安装包 进行安装.
在安装的过程中, 如果提示 有一些包, 没有, dependencies not resolved, 比如libQt..libvpx等之类的依赖包, 那么安装这些依赖包就是了, 然后再安装.

安装这些依赖包, 是很容易的, 依次 使用 sudo dnf install libpython...等进行安装就好了.. 注意, 如果需要完整 的python程序,不只是某一个lib库的时候, 一样的使用dnf进行安装即可: sudo dnf install python...

其次, 安装好这些依赖包后, 再次使用 rpm -ivh virtual.....rpm(或直接运行 ./...run) . 会提示 vboxdrv.sh运行错误...提示. 这个要注意, 第一, 这个时候, 这个包其实已经安装好了, 如果你下次,再去用rpm安装时, 就会提示已经安装了. 第二, 这个是包含再 virtual..rpm包的安装过程中的动作 , 首先它会删除/etc/vbox/vbox.cfg这个旧的配置文件, 然后 "在安装的过程中" 会去运行/usr/lib/vboxdrv.sh脚本 文件去创建 virtualbox的 内核 驱动文件, 即/dev/vboxdrv这个文件. 这时候, 如果你的系统中, 没有安装 kernel的相关模块, 那么这个创建就会失败, 从而会报错.

没有 /dev/vboxdrv的后果是, 你还是可以运行 virutalbox这个软件的, 也可以创建虚拟机, 但是你无法启动 虚拟机, 根本就没有办法启动winxp虚拟机的安装和运行.

但是依然没有成功, 提示说 没有 virtualbox的 相关系统内核: kernel module. 也就是说, 虚拟机要运行, 需要fdora操作系统中, 要有相关的virtualbox的内核模块来支持它, 可能live的fedora系统, 没有包括virtualbox相关的kernel Module. 所以要额外的进行安装.
然而要安装那个kernel module 内核模块, 即要安装 kernel-core-devel包. kernel核心开发包. (但是, 它又提醒说, 要安装kernel-core-devel包, 必须要先更新系统??)

最后, 这里最重要的是, 你要安装 kernel的开发包, 这个包的名字, 你要注意, 系统给出的提示信息是 yum install kernel-core-devel 其实不是这个开发包, 并不是这个名字, 而是 kernel-devel这个名字! 所以 如果你的名字写错了, 在dnf中, 你是查不到这个包的, 报错说, no package matched.

在dnf search kernel-devel包的时候, 他就是明确的说, 是用来 build kernel module 的, 所以创建 kernel module的就是这个开发包中的函数/类/数据结构被需要. 但是 确实还有 kernel-core 这个 核心包. 前面的那个 kernel-devel 包可能是创建内核的一些 外设设备的驱动模块的, 而kernel-core可能是创建 linux 要跑起来的一些需要核心模块.

当然, 你可以同时安装 kernel, kenel-headers包, 跟kernel-devel一同安装 通常前面两个包已经是安装了的. 只有后面这个devel开发包没有安装... ![](http://images2015.cnblogs.com/blog/821299/201706/821299-20170608220429262-1133433763.png)

最后, 我们看到, virtualbox的安装, 问题的根源, 其实并不出在 软件 的版本上, 也不出在 软件的格式上, 不管是 .run格式的, .rpm格式的 还是编译安装的, 设置直接从 virtualbox的官网上下载下来的: https://www.virtualbox.org/wiki/Linux_Downloads, 等等, 这些都没有关系, 真正出问题 的是, vboxdrv.sh要去创建 virutalbox的驱动/dev/vboxdrv, 需要kernel-devel kernel kernel-headers这些核心的依赖包. 所以 只要把这些核心的依赖包安装好了之后( 创建 vboxdrv驱动, 需要用到 kernel-devel中的一些库和函数功能???) 自然一切问题就都解决了.

如下图所示: 重新以 root身份, 运行 vboxconfig命令后, 就能创建kernel module核心模块了, 而且也能启动 virtualbox这个服务了.

创建/dev/vboxdrv这个设备, 运行的命令是 /sbin/vboxconfig , 它会去调用vboxdrv.sh 这个命令脚本, 然后由这个脚本 首先停止vbox服务, 然后创建vbox的kernel modules, 然后再启动 vbox服务...

![](http://images2015.cnblogs.com/blog/821299/201706/821299-20170608221657293-1960239200.png)

原来没有vboxdrv,后来就有了:


linux的sh脚本的第一句话, 说明执行脚本的命令, (原来说 #! 和 /bin/bash之间不可以有空格, )其实 在 #! 和 /bin/sh(bash) 之间是可以有空格的. 这里就有一个例子

linux中的搜索, 除了使用命令 find之外, 也有 "可视化"的搜索, 只不过是"集成"在nautilus中的,不是弹出一个对话框之类的东西


### 更重要的是, 要想保证xp系统能够安装成功的话,必须按下面的方式来进行: 在使用virtualbox进行安装winxp的时候, 一定要使用 “进入Win8 PE "进入系统, 然后格式化虚拟磁盘, 然后再用ghost安装, 这样才能安装成功。 但是不要用其他任何选项, 比如:不要用PQ, GM等去格式化什么的(会出现死机, 无任何反应的现象), 也不要用”第一个选项“安装到第一个分区” , 因为此时还没有格式化磁盘, 无active分区, 无mbr。所以, 唯一的方式就是要通过进入 PE系统后, 来安装。

如何安装fedora23中的virutalbox虚拟机的winxp的分辨率,不能调整到笔记本的全屏状态?

  1. 本身vbox软件安装完成后, 会自动在/usr/share/virtualbox/目录中, 有copy软件: VBoxGuestAdditions.iso这个iso文件.如果某些vbox简化版, 没有这个文件,可以从网上下载它
  2. 如何启动安装这个iso呢? **在启动虚拟机的winxp系统机器后, 在菜单 /device中, 看到: "Insert Vbox Guest Additions CD Image", 单击它, 就会将这个iso加载到winxp系统中.

安装好VBoxGuestAdditions后, 客户机的分辨率就可以跟host主机的分辨率调整到一样的了. 都可以设置到笔记本的最大分辨率: 1366*768

如何调整到seamless模式?

the virtual machine window will be now switched to seamless mode. you can press Host+L to switch to windowed mode at any time.
note that the Host key is right "CTRL"
And seamless mode will hide the virtualbox main window!
就是说, 使用 host+L 在无缝模式和 窗口模式之间切换.

  1. 要隐藏virutalbox的mini-toolbar, 只要取消勾选mini-toolbar的复选框就好了.
  2. seamless无缝模式非常有意思, 无缝模式并不是不显示mini-toolbox, 那个mini-toolbox你只要取消显示就可以了. 无缝模式是不显示主窗口, 你看到的还是linux的桌面, 但是, 此时, 实际上你还是在虚拟机里面. 你的所有操作都是对虚拟机winxp的操作. 但是你要切换到linux host, 只要单击 Right "CTRL" 就好了.这样就可以在linux主机和winxp虚拟机之间 自由的 "无缝"的切换了. 所以实际上, 使用 "host+L" 确实就能做到无缝 切换了. 在linux和winxp之间 同时 工作, 非常方便.感觉毫无障碍!!
  3. 那么如何判断当前是处于host中还是 winxp虚拟机中呢? 实际上 看鼠标 指针的颜色就可以了. 黑色的鼠标指针就表示在linux host主机中,而白色的 鼠标指针就表示在 winxp中.
  4. 而且通过设置 双向的 "共享"文件夹, 以及 双向的拖放, 在host和guest之间 共享文档就更方便了.

  1. 当然, 毕竟是虚拟机, 像这种 共享文件夹以及拖放都是非常 耗费系统资源, 很缓慢的. 更好的方式是 通过u 盘来转移或共享.

posted @ 2017-06-08 21:39  noitanym  阅读(6875)  评论(0编辑  收藏  举报