热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

FreeBSD系统中使用Qemu虚拟机安装WindowsXP/2003系统

安装:cd/usr/ports/emulators/qemumakeinstallclean#nokqemu加速模块或者makeWITH_KQEMUyesinstallclean#包含kqemu加速模块配置:如果安装时包含了kqemu加速模块,则修改/boot/loader.conf,加入以下一行kqemu_loadY
安装:
cd /usr/ports/emulators/qemu
make install clean # no kqemu 加速模块
或者
make WITH_KQEMU=yes install clean # 包含kqemu加速模块

配置:
如果安装时包含了kqemu加速模块,则
修改/boot/loader.conf,加入以下一行
kqemu_load="YES"
测系统启动时自动记载kqemu内核模块
使用:
qemu-img # 创建磁盘影像
如qemu-img create windows2003.img 10240M
将创建一个20G的名字为windows2003.img的磁盘影像文件在当前目录

qemu # 虚拟机
如qemu -hda windows2003.img -cdrom /dev/acd1 -boot d
将启动虚拟机并将windows2003.img磁盘影像作为第一个硬盘,/dev/acd1作为光驱,并从光驱启动。
-cdrom 选项可以后面跟iso文件

虚拟机启动后,按照普通的机器安装操作系统即可

网络配置:
有两种方式可以使虚拟机上的系统联上网
一是使用默认的tap/tun方式
二使用-user-net选项(此选项的用户方式在第一种方式失效的情况下将是默认的)
两者的区别是tap/tun方式上网host机和guest机将是同等地存在于网络中,而第二种方式是建立一个host机和guest机之间的小型局域网络,guest机通过host机作为网关上网的。
第一种上网方式的网络设置与平常无异
第二种方式需要按照以下的拓扑结构设置网络
QEMU Virtual Machine <------> Firewall/DHCP server <-----> Internet
(10.0.2.x) | (10.0.2.2)
|
----> DNS server (10.0.2.3)
|
----> SMB server (10.0.2.4)

资料来源:http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC21

smb配置
虚拟机在启动时加上-smb 选项可以实现host机和guest机共享目录的通信
这时guest机可以通过\\smbserver\qemu访问中的资源
这要求在windows 2003中的system32/drivers/etc/lmhost文件中加入这一行
10.0.2.4 smbserver
并且在freebsd中建立symbol link
ln -s /usr/local/sbin/smbd /usr/sbin/smbd
当然前提是freebsd中安装了samba

驱动程序问题
qemu模拟的网卡是realtek8029兼容的ne2000,windows2003下是无法找到驱动程序的,所以在安装的时候应该找到一张具有该网卡驱动程序的光盘。

以下为安装redhat过程

首先创建磁盘镜像文件:
[root@LFS distro]#qemu-img create redhat.img 6G
Formating 'redhat.img', fmt=raw, size=6291456 kB
[root@LFS distro]#
这样就创建好了一个名为redhat.img的6G磁盘镜像。
注意:创建的磁盘镜像文件大小最好小于你实际分区剩余空间。

开始安装RHEL4:
[root@LFS ~]#qemu -boot d -cdrom /rhel4/EL_disc1.iso -hda redhat.img --enable-audio
-boot d :从光驱引导 a(软盘引导) c(硬盘引导) d(光驱引导)
-cdrom : ISO文件,也可以直接使用光驱设备(/dev/cdrom)...别忘了插入光盘 :)
-hda : 就是虚拟机里的硬盘啦,也就是刚才qemu-img创建出的东东。
-enable-audio : 声卡支持

安装过程中,要求换盘:
在qemu中按ctrl+alt+2切换到qemu monitor模式 输入?或help可以查看可用命令及使用说明。
(在其他版本的qemu中,运行qemu加载OS后,这个shell就会自动变成qemu monitor模式)
change device filename -- change a removable media
看来它就是用来换盘的了 : change cdrom /rhel4/EL_disc2.iso

monitor下还有几个常用的命令:
savevm filename 将整个虚拟机当前状态保存起来
loadvm filename 恢复 (最初我没用change换盘时,就是先savevm->重新运行qemu->loadvm :( )
sendkey keys 向VM中发送按键,例如你想在虚拟机里切换到另一个终端,按下了ctrl-alt-F2
不幸的是,切换的却是你的主系统,所以就需要用 sendkey了 sendkey ctrl-alt-f2
还有其他几个命令,自己看看啦。

经过N久终于装好了,现在可以启动试试:
[root@LFS distro]#qemu redhat.img -enable-audio -user-net -m 64
-user-net 相当于VMware的nat,主系统可以上,虚拟机就可以
-m 64 使用64M内存,缺省下使用128M

ctrl-alt-f 全屏
ctrl-alt 主机/虚拟机鼠标切换
qemu还有一些其他参数,输入qemu可以查看其相关说明。


推荐阅读
  • 自动化运维工具Ansible的部署步骤详解
    本文来源于http:sofar.blog.51cto.com3535721579894,主要是看到这样一篇好文章,想留下来供各位同僚一起分享。一、基础介绍1、简介ansible是新 ... [详细]
  • 前一段是公司的一个项目环境,由以前的单节点环境升级到到现在集群环境,并且服务器都在同一个机房,考虑部署了一套zabbix监控系统,由于第一次部署的服务器有点多,所以将安装流程写成了 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • SAPC/4HANA与人工智能和增强现实(AR)技术结合的又一个创新案例
    今天这篇迟到的文章,来自我的同事Aviva。去年SAPC4HANA发布之后,SAP的从业者们可能或多或少都读过一些来自SAP官方渠道,比如微信公众号&amp;quot;SA ... [详细]
  • ndk开发!34岁安卓开发大叔感慨,不吃透都对不起自己
    前言众所周知,移动开发已经来到了后半场,为了能够在众多开发者中脱颖而出,我们需要对某一个领域有深入地研究与心得,对于And ... [详细]
  • AndroidWeeklyhttp:androidweekly.net这份免费的周报里面应有尽有,包括文章、教程、视频和Git ... [详细]
author-avatar
LinHrU
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有