再谈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的分辨率,不能调整到笔记本的全屏状态?
- 本身vbox软件安装完成后, 会自动在/usr/share/virtualbox/目录中, 有copy软件: VBoxGuestAdditions.iso这个iso文件.如果某些vbox简化版, 没有这个文件,可以从网上下载它
- 如何启动安装这个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 在无缝模式和 窗口模式之间切换.
- 要隐藏virutalbox的mini-toolbar, 只要取消勾选mini-toolbar的复选框就好了.
- seamless无缝模式非常有意思, 无缝模式并不是不显示mini-toolbox, 那个mini-toolbox你只要取消显示就可以了. 无缝模式是不显示主窗口, 你看到的还是linux的桌面, 但是, 此时, 实际上你还是在虚拟机里面. 你的所有操作都是对虚拟机winxp的操作. 但是你要切换到linux host, 只要单击 Right "CTRL" 就好了.这样就可以在linux主机和winxp虚拟机之间 自由的 "无缝"的切换了. 所以实际上, 使用 "host+L" 确实就能做到无缝 切换了. 在linux和winxp之间 同时 工作, 非常方便.感觉毫无障碍!!
- 那么如何判断当前是处于host中还是 winxp虚拟机中呢? 实际上 看鼠标 指针的颜色就可以了. 黑色的鼠标指针就表示在linux host主机中,而白色的 鼠标指针就表示在 winxp中.
- 而且通过设置 双向的 "共享"文件夹, 以及 双向的拖放, 在host和guest之间 共享文档就更方便了.
- 当然, 毕竟是虚拟机, 像这种 共享文件夹以及拖放都是非常 耗费系统资源, 很缓慢的. 更好的方式是 通过u 盘来转移或共享.