原文地址::http://hi.baidu.com/usen68/blog/item/e9a84995569b1043d0135e18.html
Colinux (Cooperative Linux)可使在Windows2000/XP上同時運行Linux成為可能並不藉助第三方的虛擬機器軟體(VMware,VitualPC).它不是一種虛擬機器,而是Linux核心的移植,使得Linux 可以natively 運行在Windows上。Colinux的格言是:如果Linux 可以運行在任何一種體系架構(i386,PowerPC,...)。Linux也應該可以運行在另外一種作業系統上(Windows,
Linux,...)
使用Colinux有如下好處:
1)CoLinux 的安裝簡單:不用理解Linux 下的分區格式(/dev/hda1 ...),對新手來說,總是膽顫心驚,擔心遺失資料。
2)CoLinux 的網路設定簡單:理論上,你的windows能夠上網,那麼你的Linux就可以上網,因為CoLinux 共用了你的Windows網路連接。
3)CoLinux 的X 設定簡單 : 理論上,你的windows能夠正常顯示,那麼你的Linux的X就
可以正常運行,因為用的是windows上的X Server (x-manager , exceed, x-win32, c
ygwin/X..)
4) 最有意思的是,你同時還在運行著Windows!
5)Colinux 啟動linux 很迅速,大概十秒鐘吧(具體還得視機器配置了...)
下面看看Colinux 是如何?虛擬化的吧,Windows 和 Linux 在 coLinux 中共同作業圖表如下:
Colinux通過使用核心驅動程式,還可以共用網路介面等實體資源。CoLinux 是標準 Linux 核心的一個連接埠。換句話說,coLinux 就是一個 Linux 核心,它經過修改,以與另一個作業系統協作運行。主機作業系統(Windows 或 Linux)控制作業系統的實體資源,而訪客(guest)作業系統(coLinux)獲得硬體的虛擬抽象。主機作業系統必須提供以特權層級(ring 0)執行驅動程式的方法,並提供分配記憶體的方法(如所示:coLinux
作為主機作業系統的一個進程執行)。
coLinux 的根檔案系統是主機作業系統中的一個常規檔案。對於 Windows,它只是一個常規檔案;但是對於 coLinux,它是一個可讀可寫的 ext3 檔案系統。Linux 核心所需的其他特性(比如連網或視頻訪問)通過外部代理來實現。coLinux 可以通過 TUN/TAP 驅動程式訪問連網特性。簡單地說,這個驅動程式提供對乙太網路裝置的使用者空間訪問,這樣就可以發送和接收資料包。對顯示器的訪問也要通過代理。X Window System 是一種協議,按照這種協議在主機之間發送視頻輸出。因此,通過在主機作業系統上使用
X Window System 伺服器,可以將視頻輸出轉寄到可用的 X 伺服器。
下面,我們就來安裝 coLinux 並配置連網特性和視頻顯示。
安裝 coLinux 非常容易。這包括幾個步驟(具體取決於您的需要),但是這些步驟都很簡單,而且在我的 Windows XP 機器上安裝時沒有出現任何問題。本節討論如何安裝 coLinux 並啟用連網等服務。
第一步是下載 coLinux 發布版。訪問 http://www.colinux.org 並在左側欄中選擇Downloads。如果瀏覽器沒有進入 SourceForge,那麼選擇頁面上的連結。頁面的中間有 coLinux-stable 包的連結。下載 coLinux 可執行檔(至編寫本文時,最新版本是 coLinux-0.6.4.exe)。coLinux
的 0.6.4 版本是 2.6.11 Linux 核心。完成下載之後,雙擊這個檔案開始安裝。
在接受許可協議之後,詢問您希望安裝哪些組件。保持這些設定不變(應該選擇了所有組件),包括下載根檔案系統映像。為了使後面的操作更容易,將安裝 coLinux 的目標檔案夾改為 c:\colinux\,因為從設定檔的角度來看,colinux 是標準的安裝子目錄。
當安裝程式要求選擇根檔案系統映像時,選擇 Debian 發布版,因為它是最小的發布版,解壓後只有 1GB。選擇
Install 來執行安裝和根檔案系統下載。
安裝完成之後,還有工作要做。下一步是在安裝子目錄中開啟一個檔案夾,以便對根檔案系統進行解壓。
coLinux 的 README 檔案包含許多關於其他安裝選項的資訊。這個檔案可以在安裝子目錄(c:\colinux)中找到。這裡有一個以 .bz2 結尾的怪名字的檔案。將這個檔案重新命名為 root_fs(這是配置中預設的根檔案系統檔案)。
現在,coLinux 的安裝基本完成了。可以用以下命令在 Windows XP 中啟動 coLinux 守護進程(通過命令提示視窗執行):
$ colinux-daemon.exe -c default.colinux.xml
在執行 colinux-daemon 之後,顯示引導視窗(如所示:coLinux 引導視窗)。這裡提供與傳統 Linux 引導過程中相同的引導資訊。注意,coLinux 的引導非常快。
還會顯示一個控制台視窗(如:coLinux 虛擬控制台(shell)
),它串連到 colinux-daemon。在這個視窗中,可以登入 coLinux 並與 shell 互動。預設的使用者名稱和密碼是
root/root。
在中可以看到,coLinux 控制台由兩個部分組成:傳統的控制台和虛擬控制台,後者提供關於監視器的資訊。
連網
從 Linux 的角度來看,當安裝完成時,coLinux 的連網支援已經可用了。在安裝過程中已經裝載了 TAP 驅動程式。TAP 驅動程式是一個到主機作業系統所管理的乙太網路裝置的使用者空間串連。TAP 驅動程式使訪客作業系統能夠將原始乙太網路幀寫到一個虛擬乙太網路裝置(使用者空間的擴充)。然後,使用者空間中的虛擬乙太網路裝置將乙太網路幀傳遞給主機作業系統中真實的乙太網路裝置。讀取的過程正好相反。注意,TAP 驅動程式傳遞的是乙太網路幀,而 TUP 驅動程式處理的是
Internet Protocol(IP)幀。
為了支援 TAP 驅動程式,主機作業系統必須共用可用的乙太網路裝置。為了在 Windows XP 中啟用共用,從 Control Panel 開啟 Network Connections 面板。選擇活動的局域串連,然後開啟屬性。選擇 Advanced 選項卡,選中複選框允許其他網路使用者通過此電腦的互連網串連來串連(見:啟用網路裝置共用的局域串連屬性)。
啟用網際網路共用之後,可以啟動 coLinux 並像往常一樣使用網路。顯示執行
ping 命令的結果,這說明網路是正常的。 通過使用 TAP 驅動程式,使用共用網路裝置的過程對於 coLinux 是透明的。
只需稍加配置,coLinux 就可以提供連網特性。
X Window System
有控制台視窗是很不錯,但如果有圖形化視窗管理器就更好了。通過使用開放源碼的 X 伺服器,比如 Xming,可以在 coLinux 上建立 xterms 或使用其他圖形化應用程式。有許多可行的辦法,比如 Virtual Network Computing(VNC),但是我將講解如何使用 Xming。
第一步是 從 SourceForge 下載 Xming。安裝之後,在安裝子目錄中有一個需要更新的檔案,X0.hosts。它包含允許訪問 X 伺服器的遠程主機。只需添加運行 coLinux 進程的機器的 IP 位址。啟動 Xming X 伺服器和 coLinux,然後在 coLinux 中執行以下命令:
colinux:~# export DISPLAY=192.168.1.3:0.0colinux:~# xterm & |
注意,這裡指定的 IP 位址是 coLinux 主機的 IP 位址。在執行 xterm 命令之後,出現一個新的 xterm 視窗,見:
擴充 coLinux
無論下載哪個根檔案系統,它可能不包含您需要的所有東西。但是,可以輕鬆地擴充根檔案系統。例如,在使用 Debian GNU/Linux 時,可以使用 Advanced Packaging Tool(APT,一個包管理系統)來安裝新的包或更新現有的包。第一步是更新 APT 中繼資料,這些資料維護關於安裝的包(包括新提供的包以及獲得它們的位置)的管理資訊:
現在,可以用您需要的其他封裝更新根檔案系統。例如,如果希望在根檔案系統中添加 Ruby 語言,那麼可執行以下命令:
按照這種方式,可以使用現有的根檔案系統並根據自己的需要進行調整。如果 coLinux 缺少您需要的某些東西,還可以從原始碼重新構建 coLinux。
coLinux 的優點
coLinux 是使用和實驗 Linux 的一種好方法。與 Cygwin 相似,coLinux 允許在 Windows 作業系統上開發和執行 Linux 應用程式。還可以用
apt-get 安裝、更新或刪除應用程式,從而維護 Linux 作業系統。
與 Cygwin 不同的是,在 coLinux 上執行 Linux 應用程式不需要重新構建。從這個角度來說,coLinux 是與 Windows 作業系統協作的真正的 Linux 作業系統。
coLinux 另一個令人感興趣的優點是可移植性。可以在一個 Windows 主機上建立一個 coLinux 發行版,並在根檔案系統中安裝一套定製的應用程式。然後,可以將根檔案系統轉移到另一個主機,並重新啟動。這樣就有了一個可移動的開發平台,壓縮後的根檔案系統完全可以放在一個標準 USB 記憶棒中。
最後,coLinux 的速度很快,因為它本質上是在本機硬體中啟動並執行。
coLinux 的問題
coLinux 的主要缺點是它有可能導致整個機器崩潰(包括所有進行協作的作業系統),因為訪客作業系統以特權模式在主機核心中運行。它的正常操作還依賴於外部軟體(視窗和連網支援)。除此之外,coLinux 的安裝和配置非常容易。在我使用 coLinux 期間,沒有遇到過崩潰。
結束語
coLinux 採用的方式和提供的功能很新穎,它 本身在 Windows 之上提供一個虛擬化的Linux。再加上其他一些開放源碼工具,就可以建立一個完全成熟的 Linux 開發系統,包括連網和圖形化使用者介面。coLinux 並不完美,但它是在標準 Windows 案頭電腦上使用 Linux 的一個好方法。