歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux文化

Linux和Windows 9X的資源共享


  Linux以其穩定和高效贏得了不少人的青睐,可是在目前,Linux下的中文支持軟件,尤其是和MicroSoft Office一樣好用的中文辦公軟件還是偏少。不過這種情況估計很快就會大有改觀,市場上已經出現了兩套中文Linux系統,一套是國內行天海公司出的Xteam Linux,包括一張光盤和一本手冊,優惠售價大約是58元;另一套是太平洋高科技公司(Pacific HighTech,http://www.pht.com或http://www.turbolinux.com)出的Turbo Linux 3.02中文版,筆者目前還沒有看到銷售的,但可以從國內很多FTP服務器下載。此外,4月19日出版的《微電腦世界》周刊同時贈送一張TurboLinux光盤,價格僅僅6元!還包括了一本雜志!那一期《微電腦世界》發行後,在北京街頭的報刊零售市場引起了類似"洛陽紙貴"的現象,據攤主說,有人一買就是七、八本,因此很快就賣光了。筆者本人在一個多月前就試用過從網絡上下載的TurboLinux 3.02測試版,感覺就象以前用英文Windows時有了帶新拼音的中文之星一樣爽!但總的而言,由於Linux下中文支持還遠遠不能說完美,因此現在不少玩家的解決辦法是雙管齊下:在自己的硬盤上既安裝了Linux,也安裝了Windows 9X(或者DOS,:-)),筆者就是這些玩家中的普通一員。

  既然"雞兔共籠",筆者現在談談如何讓Linux和Windows 9X共享硬盤資源的問題。以下是筆者的系統配置情況。

  硬件配置:聯訊EXP8661主板,64M EDO內存,Intel Pentium 200 CPU(無MMX,是用166超頻得到的),IBM 6.4G DeskStar硬盤(接在IDE1的Master上)+Quantum 1.7G沙漠風暴硬盤(接在IDE2的Master上),8倍速維用光驅(接在IDE2的Slave上),NE2000兼容ISA網卡,ESS1868 PnP聲卡,聯訊DSV3365E顯示卡(S3 765芯片,2M顯存)。

  軟件配置:MicroSoft Windows 98英文版安裝在C盤(/dev/hda1,FAT16),系統中D盤(/dev/hda5)是數據盤,采用了FAT32分區,RedHat Linux 5.2安裝在/dev/hda6,DOS的E盤(在1.7G硬盤的擴展分區上,采用FAT32文件系統,1.7G硬盤只分了擴展分區。/dev/hdc5)也是數據盤,Turbo Linux 3.02中文版安裝在/dev/hdc6,兩個Linux的SWAP分區是共用的,在/dev/hda7上(大約96M)。二者內核均升級到了最新的2.2.9。F是Windows下的光驅盤符。

  一 Linux下共享Windows 9X的資源

  Linux下面讀寫Windows 9X/Windows 3.X/DOS的邏輯盤是相當容易的,無需安裝任何其他軟件,Linux自身就帶有mount命令。讀寫前只要Mount上相應的分區就可以了。

  假設在TurboLinux下要使用上述系統中Windows 98的某個文件,則只要以root身份運行以下命令:

  #mount /dev/hda1 /mnt

  位於Linux根目錄下面的/mnt默認應該是空的,當然你也可以建立其他的空目錄如DOS_D之類來方便掛接其他設備。RedHat5.2和Turbo Linux3.02的內核均是2.0.36穩定內核,不過TurboLinux使用的是Final版,而RedHat使用的是Pre-0.7。不過這兩個內核均已經支持FAT32分區和Windows下的長文件名。mount後進入/mnt目錄,就可以讀寫DOS的C盤中的任何內容了。不過讀者會發現,這樣做沒有長文件名。如果想在Linux下mount Windows分區後看到長文件名,需要額外指定一下分區或文件系統類型,即運行以root運行mount -t vfat /dev/hda1 /mnt命令(如果你剛剛已經mount了,請先運行umount將其卸載再mount。實際上,mount時應該指定分區類型的,不過現在的Linux也越來越傻瓜化了。),這樣就可以看到長文件名了。mount後,我們可以開始安裝在Windows下面下載的Linux軟件,也可以用Linux下面的GTK see來看看Windows盤中的圖形圖象……,由於是可讀可寫的,因此幾乎可以"為所欲為"。假設Linux分區中剩余空間少,而Windows中剩余空間還有一大堆,則我們可以將需要下載的大文件下載到Windows的分區中,然後再安裝/使用。

  如果在Linux下面用vi編輯一個DOS/Windows下的文本文件如CONFIG.SYS,可以發現在文件的每一行的最後面都有一個^M。這也是Linux下面的Enter和DOS/Windows下按Enter的不同之處。DOS下的Enter/Return不但換行,而且回車(Carriage Return,即光標回到最前面),而Linux下面的Enter只是換行。熟悉vi的玩家應該很容易就解決這個問題,只要做一下全程的替換就行了。除此以外,還有fromdos之類的命令可以處理這個問題。

  如果你的內核是2.0.34(RedHat Linux 5.1所帶的內核),則應該是不支持FAT32的,但是如果你的Windows/DOS所在的硬盤采用的是FAT16格式,則仍然可以用-t msdos方式進行mount,不過會喪失諸如長文件名等一些功能。要改進也很容易,只要自己編譯一個高版本的內核即可。對熟手來說,編譯內核相當簡單,在這裡就不多說了。(順便說一句,Linux下面要檢驗除顯示方面以外的硬件的穩定程度,最好的辦法就是編譯內核。如果你的系統連續編譯內核20次毫無問題,可以認為是穩如磐石的。)

  假如經常要在Linux下面使用DOS分區的內容,最好讓Linux啟動後自動將相應的分區mount上,只要修改/etc/fstab即可達到這個效果,下面是筆者某台Linux/Windows系統中Linux的/etc/fstab文件的內容,其中最後兩行是筆者增加的,啟動後,系統將自動mount Windows 9X的D盤和E盤。

# cat /etc/fstab
/dev/hda3 / ext2 defaults 1 1
/dev/hda2 swap swap defaults 0 0
/dev/fd0 /mnt/floppy ext2 noauto 0 0
none /proc proc defaults 0 0
/dev/hda5 /dos_d vfat defauts 1 1
/dev/hda6 /dos_e vfat defauts 1 1
  順便說一句,在Linux下面,不但可以讀寫DOS/Windows 3.X/Windows 9X分區,還可以讀Windows NT的NTFS分區。不過目前對NTFS分區還只能讀,不能寫(如果你大膽,也可以試試寫,編譯2.2.X的內核時有選項--盡管它不推薦,且說這很危險。)

  二 如何在Windows系統中使用Linux分區的資源

  目前在Windows 9X系統中使用Linux的ext2分區的內容還只限於只讀,且需要安裝額外的軟件。筆者安裝的是fsdext2,它是基於GPL版權的,可以從http://www.globalxs.nl/home/p/pvs下載最新版本,作者的Email地址是[email protected]。國內許多有Linux資源的ftp服務器上都有這個軟件,一般在LetWindowsReadLinux或WorkWithOtherOS之類的目錄裡面。這個軟件相當小,安裝使用也極其方便。

  1 安裝:

  從網上下載的應該是一個zip文件,用unzip/pkunzip或winzip將其解壓到一個目錄內(如c:\mntlinux目錄。用命令行的解壓命令時,不要忘記加上"-d"參數以便恢復目錄結構),然後進入此目錄,運行裡面的intall.bat即可完成安裝。打開install.bat可以發現,install過程只是簡單拷貝vext2d.vxd 到 win9X的system目錄,拷貝tsdext2.vxd 到win9X的system\iosusbsys 目錄。為使用方便,最好在autoexec.bat中將c:\mntlinux加入搜索路徑中。然後只要將系統再重新啟動一次就可以使用了。

  2 使用:

  假設筆者要在Windows 98中使用RedHat Linux分區下的內容,則只要在運行以下命令即可:mount /dev/hda6 h:

  此時打開My Computer(我的計算機), 或者按一下F5對此進行刷新,我們可以看到F盤後面多了一個盤符H,這就是RedHat Linux分區的內容。用explorer打開看看,所有的文件都歷歷在目,甚至包括平時只有root 才能讀寫的/etc/shadow文件(想不想偷偷拷貝下來passwd和shadow文件,然後找台機器算算密碼?)。不過要記住,目前fsdext2對Linux分區還只是只讀的,不能改寫Linux分區中文件的內容,也不能往Linux分區中加入其他文件。

  運行mount命令時,也可以不指定盤符,此時系統會自動找第一個空余的盤符,在筆者的系統中,此時RedHat Linux分區將被mount為G盤。

  如何使用TurboLinux所在的分區的內容呢?讀者可能很快想到命令行應該是mount /dev/hdc6,可是如此運行以後,我們會發現fsdext2提示一個錯誤:

Ext2 file system mount for Windows 95
Version 0.17 by Peter van Sebille

No drive specified, trying drive H:

Error, device is not a linux partition
  重新刷新My COmputer或explorer也不能發現新的盤符。怎麼回事?原來目前fsdext2還不能分辨IDE盤在哪個IDE控制器上,它只是根據Windows 9X內核中的管理方式進行管理。因此,雖然Linux將上述兩個物理硬盤稱做/dev/hda和/dev/hdc,但是fsdext2將它們分別叫做/dev/hda和/dev/hdb,mount 上述系統的TurboLinux 分區時必須將命令行改為mount /dev/hdb6 。此時刷新後就可以讀TL分區的內容了。

  如果想要卸載(umount),也很容易,只要在命令行上運行mount /u g:或mount g /u就可以將G盤卸載掉。如果提示出錯,則看看是否打開了G盤中的文件,或者當前某個DOS窗口在還G盤的某個目錄內,總而言之,此時需要卸載的盤不能處於"忙"的狀態。檢查一下,修正錯誤後可以立即再umount。

  如果你想幫助軟件作者改正錯誤,你還可以使用fsdext2的debug版。其安裝和使用參見裡面的faq即可,也相當簡單。筆者發現mount Linux光驅後,讀寫軟驅和讀光盤可能有一些問題。

  有了上述工具,我們再也沒有必要將一套數據重復放到Linux分區和Windows分區了,玩Linux和Windows就可以更爽了。


——摘自:http://www.pcworld.com.cn/99/script/9907/072601a.asp


Copyright © Linux教程網 All Rights Reserved