colinux
Colinux是什么?
2004年,由一名21岁的以色列学生与几名日本的自由程序员合作开发出了一个名为“Cooperative Linux”即“CoLinux”的Linux程序,该程
序可使Linux的内核以交互的方式在基于微软的Windows操作系统上运行。
以色列的分析家们对这个程序大加赞赏,认为其将会改变整个软件世界的运行机制。但在国内,还很少有人对“CoLinux”进行详细的研究。
Cygwin是GNU的开发人员为了能将UNIX系统下一些强大应用移植到Windows环境下而开发的一套中间移植工具)Cygwin已经被证明是一套强大且
可靠的UNIX仿真工具;"CoLinux"呢,或许它的最大功能在于可直接在Windows环境下运行Linux的二进制代码而不用如同Cygwin那样要先行把
这些代码进行编译。
请记住Colinux不是Linux!
Colinux的由来
以色列国防军向来以为世界的无线技术诱发了整整一代的软件天才而闻名,而现在他显然又在孕育下一代能够改变整个世界的技术工程:在
Windows2000/XP上运行Linux的能力。
21岁的Dan Aloni是以色列国防军电脑部的毕业生,他开发了一个名叫“协作型Linux”(简称CoLinux)的Linux程序。它能使Linux的
内核以交互的方式运行在一部单机的另一个操作系统上。例如,它能够使用户在Windows上无缝的运行Linux而无需安装第三方的虚拟机软件
,这种做法无疑是一种经济而又高效的运行模式。
在以色列,要求能在同一台计算机上并行的运行Linux和Windows的呼声越来越高。不需要为每一套操作系统分别设置一台独立的机器能
为企业节省大笔的资金。以色列开源论坛的成员Shahar Shemesh介绍说。他认为这个开发成果是“突破微软垄断态势的重要武器。”
“随着Linux在企业中的日渐盛行,Aloni的开发成果是极富创新意识的。现在的问题就在于微软如何回应这个突破性进展的时候了。”
Colinux与竞品比较
在windows上模拟linux环境,目前主要有三种方法:
1.VMware, VirtualBox等虚拟机,缺点:占用系统资源多,运行速度慢,Vmware是商业版,VirtualBox的NAT仅能端口转化是致命的缺点
2.Cygwin等模拟环境,用windows下的程序模拟实现linux下的功能,缺点:与实际linux环境有差异,并且功能模拟不完全,容易出现冲突
3.colinux 通过使用一种特殊的驱动程序,使得模拟环境可以运行在ring0特权模式下,与windows交替使用CPU,这样运行模拟环境就像
运行本地系统一样,速度非常快,稳定性好。
Colinux下载与安装
官方网站:http://www.colinux.org/
Colinux基本配置参数
kernel=vmlinux
cobd0="base.vdi"
cobd1="swap.vdi"
cofs0="D:/share"
root=/dev/cobd0
ro
initrd=initrd.gz
mem=128
eth0=slirp,,tcp:22:22/tcp:8080:8080
eth1=tuntap,"tap-colinux“
cocon=120x25
Colinux支持三种方式启动
1.命令行方式
colinux-daemon.exe mem=1024 eth0=slirp kernel="vmlinux" cobd0="D:/ubuntu1204.ext3.4g.img" root=/dev/cobd0 ro --no-log
initrd="initrd.gz" eth1=tuntap,"tap-colinux" cocon=120x25 -t NT
2.批处理方式
set COLINUX_CONSOLE_FONT=Courier New:14
set COLINUX_CONSOLE_EXIT_ON_DETACH=1
colinux-daemon.exe @ubuntu124.conf
3.服务方式
colinux-daemon.exe -t nt @ubuntu124.conf --install-service "colinux"
Colinux虚拟镜像
单位换算 1G=1073741824 4G=4294967296
创建虚拟内存 fsutil file createnew swap.vdi 1073741824
手动挂载虚拟内存
mknod /dev/cobd1 b 117 1
swapoff /dev/cobd1
mkswap /dev/cobd1
swapon /dev/cobd1
自动挂载虚拟内存
在/etc/fstab中加入
/dev/cobd1 none swap sw 0 0
Colinux网络配置
1. 端口转发
跟Android模拟器类似,但比Android模拟器功能更强大 默认IP为10.0.2.15
2. NAT地址码转换
rm /etc/udev/rules.d/70-persistent-net.rules
rm -rf /lib/modules/*-co-*
vi /etc/network/interfaces
auto eth1iface eth1 inet static
address 192.168.0.22
network 192.168.0.0
netmask 255.255.255.0
3. 桥接
Colinux文件共享
文件系统,用于将宿主机 VFS(虚拟文件系统)和 Linux的 VFS进行绑定。这样就可以将宿主机中的文件夹 mount(挂载)到 Linux的文件系统
中,如此一来,宿主机和 Linux可以同时对该文件夹中的内容进行读写操作,方便了 Windows与 Linux之间的文件交换。
文件共享的配置如下:
在启动 coLinux的配置参数中添加如下内容:
cofs0=“E:/share”
重新启动 coLinux后,在控制台中执行如下命令,就会将 Windows中的“E:/share”文件夹挂载到 Fedora系统中的 /home/share文件夹下。
mount -t cofs cofs0 -o uid=dax,gid=dax /home/share
如此以来 Windows 和 Linux都可以完全访问该文件夹中的内容,详细参数可参考 coLinux自带的帮助文件 cofs.txt。Linux系统中所需要用
到的软件,可以用 Windows中的软件下载,保存到“E:/share”文件夹中,然后在 Linux系统中直接进行安装。也可把需要使用 Linux环境
进行编译的代码放到“E:/share”文件夹下,可在 Windows系统中用熟悉的编辑工具编辑源代码,而在 Linux系统中编译,编译的结果可以
使用 Windows下的工具进行下载调试等。
#vim /etc/fstab
mount windows system's shared folder
#cofs0:/ /home/share cofs defaults 0 0
Colinux文件共享
1. 通过cofs方式
cofsXX=host-pathname
mount -t cofs 0 /mnt/windows
mount -t cofs cofs0 -o uid=dax,gid=dax /mnt/windows
mount -t cofs cofs0:Share -o uid=dax,gid=dax,dmask=0775,fmask=0664 /mnt/windows
cofs0:Share /mnt/windows cofs defaults 0 0
2. 通过samba
apt-get install samba
vim /etc/samba/smb.conf
[root]comment=share's folder for windows
path=/opt
writable=yes
browseable=yes
create mask=0777
directory mask=0777
smbpasswd -a root
service smbd reload
service smbd restart
3. 通过ssh
Colinux根文件镜像扩容
# 4G = 4*1024*1024*1024 = 4294967296
fsutil file createnew ubuntu904.4g.ext3.img 4294967296
#在ubuntu1204.conf中加入cobd2="ubuntu904.4g.ext3.img“
#增加挂载点, 建立一个任意名的文件夹即可
mkdir /fs
#格式化文件系统,(比较费时间一点)
mkfs.ext3 /dev/cobd2
#挂载新建的文件系统,或是直接增加到 /ets/fstab 里面进行启动时自动挂载
mount /dev/cobd2 /fs
#查看一下,已经完成了df
#复制先前的所有文件到新的设备中,这个过程就更漫长了
cp -ax / /fs
#复制设备点if [ -d /dev/.udev ]; then cp -a /dev/* /fs/dev/; fi
检查一下新的文件中的 /fs/etc/fstab 中挂载的文件系统 只包含 /dev/cobd… 开头的, 使用df检查一下磁盘使用情况,确保没有异常
后进行下一步
#依次运行如下命令
sync
cd /
umount /dev/cobd2
shutdown -h now
Colinux安装Linux
//采用这种方式安装ubuntu12.04c:\coLinux\colinux-daemon.exe mem=512 eth0=slirp kernel="c:\coLinux\vmlinux" cobd0=root.fs
cobd1=swap.fs ro initrd=initrd.gz cobd2=ubuntu-12.04-server-i386.iso cocon=120x25
//安装步骤
Alt+F2, enter tty2
//mount cd
mkdir /cdrom
mount /dev/cobd2 /cdrom
//enable swap
mkswap /dev/cobd1
swapon /dev/cobd1
//install e2fsprogsu
dpkg -i /cdrom/pool/main/e/eglibc/libc6-udeb_2.11.3-3_i386.udebu
dpkg -i /cdrom/pool/main/e/e2fsprogs/e2fsprogs-udeb_1.41.12-4stable1_i386.udeb
//format
/dev/cobd0
mkfs.ext4 /dev/cobd0
Alt+F1 return tty1
配置:
ubuntu1210.bat
set COLINUX_CONSOLE_FONT=Courier New:14
set COLINUX_CONSOLE_EXIT_ON_DETACH=1
colinux-daemon.exe --no-log @ubuntu1210.conf
::colinux-daemon.exe -t nt --no-log @ubuntu1210.conf --install-service "colinux"
ubuntu1210.conf
kernel=vmlinux
#cobd1="D:/coLinux/ubuntu/swap.fs"
#cobd2="D:/coLinux/ubuntu/opt.fs"
cobd0="D:/coLinux/ubuntu/ubuntu1210.fs"
cofs0="D:\coLinux\data"
#cofs1="C:/cygwin/data"
root=/dev/cobd0
rw
rootfstype=ext4
barrier=off
initrd=initrd.gz
mem=512
eth0=slirp
#eth0=slirp,,tcp:22:22/tcp:8080:8080/tcp:80:80/tcp:177:177/udp:177:177
#eth0=slirp,,tcp:22:22/tcp:3306:3306/tcp:1984:1984/tcp:11211:11211
# Tuntap as private network between guest and host on second linux device
eth1=tuntap,"tap-colinux"
#,00:ff:e3:49:dc:64
cocon=120x25
#colinux-daemon.exe mem=1024 eth0=slirp kernel="vmlinux" cobd0="D:/ubuntu1204.ext3.4g.img" root=/dev/cobd0 ro --no-log initrd="initrd.gz" eth1=tuntap,"tap-colinux" cocon=120x25 -t NT --install-service linux
#sc create linux binPath= c:/colinux/quick.bat start= auto //注意=号之后必须有空格
colinux的更多相关文章
- Setting up Ubuntu in CoLinux–changing local/keyboard to be English
Today i installed the CoLinux with Ubuntu package, but the default locale setting of the system is G ...
- colinux安装指南
1.colinux的安装 首先下载colinux安装文件,去http://www.colinux.org/下载默认安装,目录选择G:\colinux(根据自己需要选择,建议放在分区根目录下).选择不下 ...
- Linux学习内容
Linux学习要点(转载自红联) 一.学习Linux的基本要求1. 掌握至少50个以上的常用命令. 2. 熟悉Gnome/KDE等X-windows桌面环境操作 . 3. 掌握.tgz..rpm等软件 ...
- Linux 知识框架
Linux要点 一.Linux的基本要求 1. 掌握至少50个以上的常用命令. 2. 熟悉Gnome/KDE等X-windows桌面环境操作 . 3. 掌握.tgz..rpm等软件包的常用安装方法 4 ...
- Linux的学习路线图
一.学习Linux的基本要求1. 掌握至少50个以上的常用命令. 2. 熟悉Gnome/KDE等X-windows桌面环境操作 . 3. 掌握.tgz..rpm等软件包的常用安装方法 4. 学习添加外 ...
- vmware中的bridge、nat、host-only的区别
概述: VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模 ...
- bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)-VMware下三种网络配置方式
VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1 ...
- 001-window下运行linux
一.概述 前提:有条件的情况下,自行安装 在windows上模拟linux环境,主要有三种方法: 1.VMware等虚拟机,缺点:占用系统资源多,运行速度慢. 2.Cygwin等模拟环境,用windo ...
- Linux ELF格式分析
http://www.cnblogs.com/hzl6255/p/3312262.html ELF, Executable and Linking Format, 是一种用于可执行文件.目标文件.共享 ...
随机推荐
- 杜教筛 && bzoj3944 Sum
Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每行两个用空格分隔的数ans1,ans ...
- [ext4]空间管理 - 查找块
在文件系统中,当需要执行写操作时,肯定是需要查找需要写入的块.那么如何查找块哪? 在Ext4系统中,有两个函数是可能执行查找操作的:ext4_getblk().ext4_get_block(). ...
- 手把手教做单点登录(SSO)系列之一:概述与示例
本系列将由浅入深的结合示例.源码以及演示视频,手把手的带大家深入最新的单点登录SSO方案选型与架构开发实战.文末附5个满足不同单点登录场景的gif动画演示(如果看不清请在图片上右键用新窗口打开),本系 ...
- Net分布式系统之五:微服务架构
因工作较忙,抽时间将框架遇到的问题和框架升级设计进行记录. 一.背景&问题 之前框架是一个基于SOA思想设计的分布式框架.各应用通过服务方式提供使用,服务之间通信是RPC方式调用,具体实现基于 ...
- 思考题:用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?(提示:是否对所有的应用领域都适用?使用的方便性?.......)
思考题: 用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?(提示:是否对所有的应用领域都适用?使用的方便性?.......) 简答: 一.用例解释: 在软件工程中,用例是一种在开 ...
- docker安装hadoop集群
docker安装hadoop集群?图啥呢?不图啥,就是图好玩.本篇博客主要是来教大家如何搭建一个docker的hadoop集群.不要问 为什么我要做这么无聊的事情,答案你也许知道,因为没有女票.... ...
- 为什么非全站升级HTTPS不可?
升级HTTPS已经是大势所趋,但仍有大量互联网企业犹豫是否要全站升级HTTPS,为此本文梳理了全站升级HTTPS与部分升级HTTPS的优劣势对比,来判断是否真的有必要进行全站HTTPS升级. HTTP ...
- js中new一个对象的过程
使用new关键字调用函数(new ClassA(-))的具体步骤: 1. 创建空对象{}: 2. 设置新对象的constructor属性为构造函数的名称,设置新对象的__proto__属性指向构造函数 ...
- How-to go parallel in R – basics + tips(转)
Today is a good day to start parallelizing your code. I’ve been using the parallel package since its ...
- cas4.2以下取消https
deployerConfigContext.xml增加参数p:requireSecure="false" <bean class="org.jasig.cas.au ...