就如同我暗恋Katherine一般,接触Linux的时间越久,就越发的难以自拔。遗憾的时,某些原因导致我每天必须不情愿的离开Linux,而返回Window。
第一.实验室的很多消息是在QQ群中发布的,由于腾讯的垃圾政策,所有Linux下的QQ客户端现在都无法登录QQ。
第二.我的机器上安装了打印机HP Deskjet 3743,并共享之。在使用7.04 beta时,打印机在Linux下可以正常工作,但是在提供共享时却总是出错;换到7.04正式版后,情况更糟糕,安装驱动后却只是打印出空白页。各种方 法都尝试过,但却总是无法解决问题。
就在这样的郁闷境地下,听闻VirtualBox在Linux,特别是Debian系的Linux发行版中,有非常出色的表现,不禁又涌起希望——借助VirtualBox,彻底投入Linux的怀抱。
1.安装VirtualBox
可以到VirtualBox的主页(http://www.virtualbox.org)下载最新版本,或者更省事的在终端下输入命令:
sudo apt-get install virtualbox
从源中下载virtualbox的deb包并自动安装,安装过程无非是要求用户同意使用协议等等,值得留意的时可能会提示需要Virtualbox的正常工作需要某个内核模块而目前并不存在,询问用户是否现在编译。
因此,在安装VirtualBox之前,最好现确认是否配置了基本的编译环境:
sudo apt-get install build-essential
sudo apt-get install linux-headers
2.创建新的VM
过程和Vmware很类似,就不多说了,值得注意的是为VM分配多少内存,由于VirtualBox在位VM分配内存时所采取的策略是在VM启动是就分配固定数量的内存,因此不宜设置过大。我的机器内存512M,分配给VM(Win XP SP2)192M的内存,就跑得相当流畅了。
3.安装VBoxGuestAdditions
在VM的设置对话框中选择CD/DVD-ROM,并mount VBoxGuestAdditions.iso,再启动VM,安装 VBoxGuestAdditions,这样就可以实现Host与Guest OS 之间鼠标的自由切换,并增加了Host和Guest之间的共享功能。
5.让VM可以检测到USB设备
在VM的设置对话框中选择USB,点击"Add from",可以添加希望VM能够访问的USB设备。这里我选择添加了接在USB口上的HP打印机。
4.VM的网络设置
VirtualBox的默认设置是通过NAT方式来实现Guest OS的网络功能。然而NAT的方式无法解决我的问题;要使同一局域网内的其他机器可以通过Guest OS访问打印机,必须使用桥接方式(Bridge)。
我的网络环境如下:
网卡 eth0 ,静态IP 192.168.1.29 网关192.168.1.254
需要安装以下两个软件包:tunctl(uml-utilities)、brctl (bridge-utils)
sudo apt-get install uml-utilities bridge-utils
整个过程如下:
Host的设置:
1.sudo tunctl -t tap0 -u jekyll #建立一个tap设备, 名字为tap0 所有者为jekyll
2. sudo brctl addbr br0 #创建一个网桥
3. sudo ifconfig eth0 0.0.0.0 promisc #使eth0进入promiscuous模式
4. sudo brctl addif br0 eth0 #将eth0加入br0
5. 此时Host应该已经失去了联网能力,不要紧张。对于非DHCP的情况,需要将br0配置的和原来的 eth0一模一样,具体的说,相同IP,并且取代eth0作为默认路由的出口。
sudo ifconfig br0 192.168.1.29 up
sudo route del default
sudo route add default gw 192.168.1.29 dev br0
6.sudo brctl addif br0 tap0 #将tap0加入br0
7.sudo ifconfig tap0 up #激活tap0
Guest的设置:
1.在VirtualBox的VM Setting的network标签中,选择"Host interface",并在下面的Interface中填上"tap0"
2.启动VM,将Guest OS的网络连接设为静态IP 192.168.1.XX
OK,现在Host和Guest就处于对等的网络条件,可以通过同一子网内的IP互访,子网内的其他机器也可以通过IP使用Guest提供的打印共享服务。
5.其他问题
很ft的是,在Guest OS中运行QQ居然导致VM崩溃,Google之,发现原因是新版QQ在启动时捕获键盘中断以防止木马偷取用户帐号的行为。解决方案,删除 QQ 安装目录下的 npkcrypt.sys 和 npkcusb.sys。
经过上面的设置,我终于可以不离开Linux完成所有工作了,Yeah,我爱Linux,我爱Ubuntu!