Linux 內核支持讀寫Fat、NTFS、Vfat、Fat32、Hfs 等文件系統(至少可以讀),因此在 Linux 下訪問 Windows 要比在 Windows 下訪問 Linux 方面的多,不需要使用專門的軟件,直接使用 Linux 命令即可。
Fat/Fat32分區時 Linux 訪問 Windows 分區
Linux 將系統中所有的設備都看作文件,所以在 Linux 下訪問 Windows 分區非常方便,只要使用 mount 命令將 Windows 分區掛接成 Linux 的一個文件夾即可。
mount 命令的使用格式是(必須以 root 用戶身份登陸):
mount [-afFhnrvVm] [-|<標簽>] [-o<選項>] [-t<文件系統>] [設備名稱] [掛接點]
若我們要將 Windows 的某一分區(如D盤)掛接到 Linux 的 /mnt/win 這個目錄下,首先請在 /mnt下建立 win 文件夾,然後啟動 Console 終端模式,輸入命令“mount /dev/hda5 /mnt/win”,再進入 /mnt/win 目錄,您就能看到 Windows 中 D 盤的內容了。
可能有的朋友要問了,為何要輸入上面的命令,特別是那個 /dev/hda5 是什麼東西呢?這是 Linux 下分區的一種表示方式,在 Linux 下看 Windows 分區一般是:hda1 為C盤,hda5為D盤,hda6為E盤,以此類推。。。
不過用上面的方法加載 Windows 分區後,另一個麻煩的事情出現了,就是 Windows 中所有的中文文件名和文件夾名全部顯示為問號,英文卻能正常顯示,這計算機也有民族歧視啊!反對這種歧視,就要充分利用我們手中的武器,在 mount 命令中加入一些參數讓它正確顯示中文。這時,只要將上述命令改為“mount -t vfat -o iocharset=cp936 /dev/hda5 /mnt/win”,運行就可以了。
加載了這個分區,在不使用時我們還可以將它卸除,而卸除的命令為 umoun,若是卸除上述分區,只要輸入“umount /mnt/win”即可。
另外,我們還可以讓 Linux 在啟動時自動加載分區,這樣就不用每次使用 Windows 分區時都要輸入命令加載了。
首先請以 root 用戶登陸,進入圖形界面後通過 Linux 的文件管理器找到 /etc 目錄下的 fstab 文件,單擊右鍵選擇一個文字編輯軟件打開此文件,在內容的最下方添加一行命令“/dev/hda5 /mnt/win vfat codepage=936,iocharset=cp936 1 1”,然後在 /mnt 目錄下建立 win 文件夾,重新啟動計算機後,再訪問 /mnt/win 目錄就是 Windows 分區的內容了。您也可以通過此種方法加載多個分區,而編輯時也可以在命令行方式下使用 vi 等編輯器。
NTFS 分區時 Linux 訪問 Windows 分區
若是使用 Mandrake 或者紅旗 Linux,並且在安裝時硬盤中已經存在 NTFS 分區,則安裝後不需要重新編譯內核就可以實現對硬盤 NTFS 分區的訪問;若是安裝時硬盤中沒有 NTFS 分區,或者使用的是 RedHat Linux,則必須重新編譯內核,添加 NTFS 模塊才能正常訪問 NTFS 分區。
首先以 root 用戶登陸,然後將 RedHat Linux 的第二張安裝盤插入光驅中,在 /redhat/RPMS 目錄下找到 kernel-source-2.4.xx-x.i386.rpm(這裡x代表數字)文件,若是圖形界面,直接雙擊安裝,若是命令行,請輸入“rpm -ivh kernel-source-2.4.xx-x.i386.rpm”命令。
再進入 /usr/src/linux-2.4.xx-x/configs 目錄,這裡有許多編譯內核需要的培植文件,一般選擇“kernel-source-2.4.xx-x.i686.config”即可。將此文件復制到 /usr/src/linux2.4.xx-x 目錄,用文本編輯器打開,將“#CONFIG_NTFS_FS is not set”行改為“CONFIG_NTFS_FS=m”。
在終端模式下,進入 /usr/src/linux-2.4.xx-3 目錄,運行“make modules”命令來編譯想要的 NTFS 模塊,在編譯的過程中不需要理會與 NTFS 模塊,在編譯的過程中不需要理會與 NTFS 無關的內容,編譯完成後,在 /usr/src/linux-2.4.xx-x/fs/ntf 目錄下可以找到一個 ntfs.o 文件,將其復制到 /lib/modules/2.4.xx-x/kernel/fs 目錄,然後回到 /usr/src/linux-2.4.xx-3 目錄,輸入命令:
#depmod
#modprobe ntfs
剩下的工作和前面 Fat/Fat32分區時 Linux 訪問 Windows 分區相同。
最新讓linux訪問ntfs分區方法
[聲明]本文是參考:劉軍民先生的《你的Linux快速編譯所需要的模塊》一文,因為這篇文章太老了,對於老手來說可能只是改動一下就能用了,但對於新手,就顯得不太適合了。
[致謝]多謝劉軍民先生。
[問題]這個方法不能向ntfs格式的磁盤寫入數據,如果有弟兄們有問題可向劉先生發電子信。他的電子信箱是[email protected]。
[操作環境]
RedHat7.2(Engma);Kernel 2.4.7-10
[正文]
1、在/usr/src/linux-2.4.7-10/configs目錄下有若干編譯內核所用的配置。選擇我們想要的配置,如果你的機器是i686的,你就要選擇kernel-2.4.7-i686.config,
並把它復制到/usr/src/linux-2.4.7-10目錄下,改名為.config。
[注] 如果你的機器是其它的,你就要選相應的了。這個可以在你關機時,或啟動機器時就能看到。在關機時,有一個i686的,那你就選i686吧。如果是i386 的,你就選擇i386,其它的以此類推。因為我還不知道怎麼來選擇相應的文件,所以就用這個比較笨的辦法了。如果你也不知道,那你就
也用這個方法吧。哈。。。。。。。。。。
2、修改.config文件,去掉不用的模塊,加上自己想要的模塊。
打開.config,有許多XXXX=m的項,這些都是要被編譯為模塊的項,因為我們不希望編譯這些模塊,所以要把XXXX=m的項統統去掉。然後再加上我們想要的模塊,將
# CONFIG_NTFS_FS is not set 改為
CONFIG_NTFS_FS=m
CONFIG_NTFS_RW=m
[注]記住要把#號也去掉,這個步聚可用編輯器來修改,當然,可以用你熟悉的工具來做這件事。
3、編譯NTFS模塊。
在/usr/src/linux-2.4.7-10目錄下運行命令,來編譯我們想要的NTFS模塊。
#make modules
注意:千萬不能運行命令make modules_install,否則將帶來嚴重的後果,它會刪除你系統中的所有模塊。
4、安裝NTFS模塊。
編譯後得到的ntfs.o在/usr/src/linux-2.4.7-10/fs/ntfs目錄下,手動將它復制到/lib/modules/2.4.7-10/kernel/fs目錄下。
5、載入NTFS模塊;
在這個目錄下/usr/src/linux2.4.7-10,運行命令:
#depmod
#modprobe nfts
6、修改/etc/fstab文件,這個只好以我的機器上的配制方法來說了,請按如下方法填加,這樣做的目的是機器啟動時就能自己加載分區。
/dev/hdc1 /mnt/WinC ntfs iocharset=cp936 0 0
/dev/hdc5 /mnt/WinD ntfs iocharset=cp936 0 0
/dev/hdc6 /mnt/WinE ntfs iocharset=cp936 0 0
/dev/hdc7 /mnt/WinF ntfs iocharset=cp936 0 0
7、在/mnt/目錄下創建文件夾:在/mnt中創建文件夾,要和加載的分區一樣的文件夾,以我的機器的為例。
WinC
WinD
WinE
WinF
[注]注意大小寫。
8、重新啟動機器。如果在桌面上沒有你要加載的分區,象硬盤一樣的圖標,你可以按下面的方法做;
在KDE下的桌面的空白處按鼠標的右鍵,選擇[新建]-》[硬盤]-》
在[常規]中取一個與加載的硬盤機對應的名字。然後在[設備]中選擇你要加載的分區。
9、如果不想加載到桌面上,你可以直接到/mnt/下訪問你的ntfs格式的磁盤。