CoLinux(Cooperative Linux 的縮寫)是第一種免費(fèi)使用和開源的解決方案,它讓Linux更好的運(yùn)行在Microsoft Windows 本機(jī)系統(tǒng)下。可以引導(dǎo)啟動(dòng)LINUX鏡像系統(tǒng),也可啟動(dòng)本地的LINUX系統(tǒng),速度比VMWARE快很多。
通常的, colinux是Linux內(nèi)核使自己友好的和其它操作系統(tǒng)共同運(yùn)行在一臺(tái)機(jī)器上的一條通道。例如,我們不需要第三方的商業(yè)虛擬機(jī)軟件(例如vmware)就可以自由的在windows 2000/xp/vista/7上運(yùn)行Linux,這是不使用虛擬機(jī)軟件的最佳方式。
CoLinux(Cooperative Linux)的簡(jiǎn)稱,是一個(gè)虛擬化工具,但是和VMware、VirtualBox、Qemu等不同,它是標(biāo)準(zhǔn) Linux 內(nèi)核的一個(gè)端口。換句話說(shuō),它就是一個(gè) Linux 內(nèi)核,它經(jīng)過(guò)修改,以與另一個(gè)操作系統(tǒng)協(xié)作運(yùn)行。主機(jī)操作系統(tǒng)(Windows 或 Linux)控制操作系統(tǒng)的物理資源,而訪客操作系統(tǒng)獲得硬件的虛擬抽象。它并不是模擬一臺(tái)電腦,而是通過(guò)對(duì)linux內(nèi)核的改造,使linux可以直接 運(yùn)行在windows下,使用windows的硬件資源,所以它的速度特別快,就像在真實(shí)機(jī)器上運(yùn)行一樣。
CoLinux 的優(yōu)點(diǎn):
它是使用和試驗(yàn) Linux 的一種好方法。與 Cygwin 相似,它允許在Windows操作系統(tǒng)上開發(fā)和執(zhí)行 Linux 應(yīng)用程序。還可以用apt-get安裝、更新或刪除應(yīng)用程序,從而維護(hù)Linux操作系統(tǒng)。
與 Cygwin 不同的是,在 coLinux 上執(zhí)行 Linux 應(yīng)用程序不需要重新構(gòu)建。從這個(gè)角度來(lái)說(shuō),coLinux 是與 Windows 操作系統(tǒng)協(xié)作的真正的 Linux 操作系統(tǒng)。
它另一個(gè)令人感興趣的優(yōu)點(diǎn)是可移植性?梢栽谝粋(gè)Windows主機(jī)上建立一個(gè)它的發(fā)行版,并在根文件系統(tǒng)中安裝一套定制的應(yīng)用程序。然后,可以將根文件 系統(tǒng)轉(zhuǎn)移到另一個(gè)主機(jī),并重新啟動(dòng)。這樣就有了一個(gè)可移動(dòng)的開發(fā)平臺(tái),壓縮后的根文件系統(tǒng)完全可以放在一個(gè)標(biāo)準(zhǔn) USB 記憶棒中。
最后,它的速度很快,因?yàn)樗举|(zhì)上是在本機(jī)硬件中運(yùn)行的。
主要缺點(diǎn):
是它有可能導(dǎo)致整個(gè)機(jī)器崩潰(包括所有進(jìn)行協(xié)作的操作系統(tǒng)),因?yàn)樵L客操作系統(tǒng)以特權(quán)模式在主機(jī)內(nèi)核中運(yùn)行。它的正常操作還依賴于外部軟件(窗口和連網(wǎng)支持)。除此之外,它的安裝和配置非常容易。在我使用它期間,沒(méi)有遇到過(guò)崩潰。
coLinux怎么用?
coLinux 是標(biāo)準(zhǔn) Linux 內(nèi)核的一個(gè)端口。換句話說(shuō),coLinux 就是一個(gè) Linux 內(nèi)核,它經(jīng)過(guò)修改,以與另一個(gè)操作系統(tǒng)協(xié)作運(yùn)行。主機(jī)操作系統(tǒng)(Windows 或 Linux)控制操作系統(tǒng)的物理資源,而訪客(guest)操作系統(tǒng)(coLinux)獲得硬件的虛擬抽象。主機(jī)操作系統(tǒng)必須提供以特權(quán)級(jí)別(ring 0)執(zhí)行驅(qū)動(dòng)程序的方法,并提供分配內(nèi)存的方法(見圖 3)。
coLinux 作為主機(jī)操作系統(tǒng)的一個(gè)進(jìn)程執(zhí)行
coLinux 的根文件系統(tǒng)是主機(jī)操作系統(tǒng)中的一個(gè)常規(guī)文件。對(duì)于 Windows,它只是一個(gè)常規(guī)文件;但是對(duì)于 coLinux,它是一個(gè)可讀可寫的 ext3 文件系統(tǒng)。
Linux 內(nèi)核所需的其他特性(比如連網(wǎng)或視頻訪問(wèn))通過(guò)外部代理來(lái)實(shí)現(xiàn)。coLinux 可以通過(guò) TUN/TAP 驅(qū)動(dòng)程序訪問(wèn)連網(wǎng)特性(在下面的 “連 網(wǎng)” 一節(jié)中討論)。簡(jiǎn)單地說(shuō),這個(gè)驅(qū)動(dòng)程序提供對(duì)以太網(wǎng)設(shè)備的用戶空間訪問(wèn),這樣就可以發(fā)送和接收數(shù)據(jù)包。對(duì)顯示器的訪問(wèn)也要通過(guò)代理。X Window System 是一種協(xié)議,按照這種協(xié)議在主機(jī)之間發(fā)送視頻輸出。因此,通過(guò)在主機(jī)操作系統(tǒng)上使用 X Window System 服務(wù)器,可以將視頻輸出轉(zhuǎn)發(fā)到可用的 X 服務(wù)器。
下面,我們就來(lái)安裝 coLinux 并配置連網(wǎng)特性和視頻顯示。
安裝 coLinux 非常容易。這包括幾個(gè)步驟(具體取決于您的需要),但是這些步驟都很簡(jiǎn)單,而且在我的 Windows XP 機(jī)器上安裝時(shí)沒(méi)有出現(xiàn)任何問(wèn)題。本節(jié)討論如何安裝 coLinux 并啟用連網(wǎng)等服務(wù)。
第一步是下載 coLinux 發(fā)布版。訪問(wèn) http://www.colinux.org 并在左側(cè)欄中選擇 Downloads。如果瀏覽器沒(méi)有進(jìn)入 SourceForge,那么選擇頁(yè)面上的鏈接。頁(yè)面的中間有 coLinux-stable 包的鏈接。下載 coLinux 可執(zhí)行文件(至編寫本文時(shí),最新版本是 coLinux-0.6.4.exe)。coLinux 的 0.6.4 版本是 2.6.11 Linux 內(nèi)核。完成下載之后,雙擊這個(gè)文件開始安裝。
在接受許可協(xié)議之后,詢問(wèn)您希望安裝哪些組件。保持這些設(shè)置不變(應(yīng)該選擇了所有組件),包括下載根文件系統(tǒng)映像。為了使 后面的操作更容易,將安裝 coLinux 的目標(biāo)文件夾改為 c:\colinux\,因?yàn)閺呐渲梦募慕嵌葋?lái)看,colinux 是標(biāo)準(zhǔn)的安裝子目錄。
當(dāng)安裝程序要求選擇根文件系統(tǒng)映像時(shí),選擇 Debian 發(fā)布版,因?yàn)樗亲钚〉陌l(fā)布版,解壓后只有 1GB。選擇 Install 來(lái)執(zhí)行安裝和根文件系統(tǒng)下載。
安裝完成之后,還有工作要做。下一步是在安裝子目錄中打開一個(gè)文件夾,以便對(duì)根文件系統(tǒng)進(jìn)行解壓。
coLinux 的 README 文件包含許多關(guān)于其他安裝選項(xiàng)的信息。這個(gè)文件可以在安裝子目錄(c:\colinux)中找到。這里有一個(gè)以 .bz2 結(jié)尾的怪名字的文件。將這個(gè)文件重命名為 root_fs(這是配置中默認(rèn)的根文件系統(tǒng)文件)。
現(xiàn)在,coLinux 的安裝基本完成了?梢杂靡韵旅钤 Windows XP 中啟動(dòng) coLinux 守護(hù)進(jìn)程(通過(guò)命令提示窗口執(zhí)行):
$ colinux-daemon.exe -c default.colinux.xml
在執(zhí)行 colinux-daemon 之后,顯示引導(dǎo)窗口(見圖 4)。這里提供與傳統(tǒng) Linux 引導(dǎo)過(guò)程中相同的引導(dǎo)信息。注意,coLinux 的引導(dǎo)非?。
圖 4. coLinux 引導(dǎo)窗口
還會(huì)顯示一個(gè)控制臺(tái)窗口(見圖 5),它連接到 colinux-daemon。在這個(gè)窗口 中,可以登錄 coLinux 并與 shell 交互。默認(rèn)的用戶名和密碼是 root/root。
圖 5. coLinux 虛擬控制臺(tái)(shell)
在圖 5 中可以看到,coLinux 控制臺(tái)由兩個(gè)部分組成:傳統(tǒng)的控制臺(tái)和虛擬控制臺(tái),后者提供關(guān)于監(jiān)視器的信息。
連網(wǎng)
從 Linux 的角度來(lái)看,當(dāng)安裝完成時(shí),coLinux 的連網(wǎng)支持已經(jīng)可用了。在安裝過(guò)程中已經(jīng)裝載了 TAP 驅(qū)動(dòng)程序。TAP 驅(qū)動(dòng)程序是一個(gè)到主機(jī)操作系統(tǒng)所管理的以太網(wǎng)設(shè)備的用戶空間連接。TAP 驅(qū)動(dòng)程序使訪客操作系統(tǒng)能夠?qū)⒃家蕴W(wǎng)幀寫到一個(gè)虛擬以太網(wǎng)設(shè)備(用戶空間的擴(kuò)展)。然后,用戶空間中的虛擬以太網(wǎng)設(shè)備將以太網(wǎng)幀傳遞給主機(jī)操作系統(tǒng)中 真實(shí)的以太網(wǎng)設(shè)備。讀取的過(guò)程正好相反。注意,TAP 驅(qū)動(dòng)程序傳遞的是以太網(wǎng)幀,而 TUP 驅(qū)動(dòng)程序處理的是 Internet Protocol(IP)幀。
為了支持 TAP 驅(qū)動(dòng)程序,主機(jī)操作系統(tǒng)必須共享可用的以太網(wǎng)設(shè)備。為了在 Windows XP 中啟用共享,從 Control Panel 打開 Network Connections 面板。選擇活動(dòng)的局域連接,然后打開屬性。選擇 Advanced 選項(xiàng)卡,選中復(fù)選框允許其他網(wǎng)絡(luò)用戶通過(guò)此計(jì)算機(jī)的互聯(lián)網(wǎng)連接來(lái)連接(見圖 6)。
圖 6. 啟用網(wǎng)絡(luò)設(shè)備共享的局域連接屬性
啟用網(wǎng)絡(luò)共享之后,可以啟動(dòng) coLinux 并像往常一樣使用網(wǎng)絡(luò)。圖 7 顯示執(zhí)行 ping 命令的結(jié)果,這說(shuō)明網(wǎng)絡(luò)是正常的。
圖 7. 通過(guò)使用 TAP 驅(qū)動(dòng)程序,使用共享網(wǎng)絡(luò)設(shè)備的過(guò)程對(duì)于 coLinux 是透明的
只需稍加配置,coLinux 就可以提供連網(wǎng)特性。關(guān)于用 TUN/TAP 進(jìn)行連網(wǎng)的更多信息,請(qǐng)參閱 參 考資料 一節(jié)。