导读 关于加载ntfs和fat文件系统的文章极多,但写的不太明确,新手上路还是有点困难,重新实验以及一些比较常用的命令一起解说,希望对新手有所帮助。
最基本的几个命令
查看磁盘分区情况的命令fdisk -l

比如:

[root@localhost beinan]# /sbin/fdisk -l

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 7751 39728745 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux

通过上面的我们可以知道 /dev/hda1 是NTFS格式;/dev/hda2是FAT32格式;

mount 命令

就是磁盘分区的挂载命令,如果内核支持的话,mount 命令能挂载几乎所有的文件系统,比如 reiserfs;ext2;ext3;ntfs;fat32;jfs等等;在Linux系统中,我们常用的主要有reiserfs;ext3; ext3;在Windows系统中,我们主要用的是NTFS;FAT32;FAT等;
mount 挂载磁盘分区的用法:

mount -t 文件格式 -o 选项参数 磁盘分区 挂载点目录名

这样说可能新手不太明白,什么是文件格式,什么是挂载点目录名,我们要把一个分区加载到Linux,是不是得有个存放在地方?比如我们把 /dev/hda1 挂载到/mnt/winc目录中;首先我们要看是不是winc是否存在于/mnt目建录中;如果没有winc,我们必须建一个;当然挂载点目录名是自己随便起命名的,最好用英文;例子在后面举了,新手弟兄先知道有这回事就行了;

df -lh 磁盘使用情况的命令
[root@localhost beinan]# df -lh
Filesystem 容量 已用 可用 已用% 挂载点
/dev/hda8 11G 5.9G 4.5G 57% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/hda1 5.9G 3.2G 2.7G 55% /mnt/winc
/dev/hda2 16G 8.1G 7.7G 52% /mnt/wind
/dev/hda5 7.9G 5.8G 2.1G 74% /mnt/slack
文件和目录的权限

这个在论坛中,我写过,有时间整理上来;知道umask=000是任何用户都能读写执行的就行了。有些东西慢慢就明白了,多执行几个命令就OK了。

内核的版本
[root@localhost beinan]# uname -a
Linux localhost.localdomain 2.6.11-1.1369_FC4 #1 Thu Jun 2 22:55:56 EDT 2005 i686 i686 i386 GNU/Linux

通过上面得知我目前用的内核的版本是 2.6.11-1.1369_FC4

获取root用户的命令是su
[beinan@localhost ~]$ su
Password: 在这里输入您的root密码,即使输入了,也不会显示出来;我们要安装RPM包,要用到root的超级权限;
[root@localhost beinan]#
NTFS文件系统的加载
我们要首先确认系统的内核;我们要根据系统的内核版本来下载支持ntfs的内核补丁

我们在前面已经通过fdisk -l 得知/dev/hda1 是NTFS分区;我们如何加载它呢?在Fedora core 4.0 中,系统默认是不支持NTFS加载的;我们只能安装第三方kernel的ntfs插件或者编内核来实现,相对于编译内核来说,插件是最方便的,也是最简单的;

[root@localhost beinan]# uname -a
Linux localhost.localdomain 2.6.11-1.1369_FC4 #1 Thu Jun 2 22:55:56 EDT 2005 i686 i686 i386 GNU/Linux

一定要看仔细,是2.6.11-1.1369_FC4,是i686的,没有带smp字样的,smp是支持多处理器的内核,如果您用这样的内核,就要下载相应版本的smp的;
我们到哪去下载呢?
kernel ntfs 项目在 http://linux-ntfs.sourceforge.net
Fedora core 4.0的kernel NTFS的RPM包在:
http://linux-ntfs.sourceforge.net/rpm/fedora4.html
根据上面内核的信息,我们要下载:2.6.11-1.1369_FC4 i686的,下载的应该是:
kernel-module-ntfs-2.6.11-1.1369_FC4-2.1.22-0.rr.6.0.i686.rpm
地址: http://prdownloads.sourceforge.net/...rr.6.0.i686.rpm
在这里选一个镜像下载。
安装kernel ntfs模块:

[root@localhost beinan]# rpm -ivh kernel-module-ntfs*
判断哪个分区是NTFS格式,加载NTFS分区
[root@localhost beinan]# /sbin/fdisk -l

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 7751 39728745 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux

我们已经把kernel ntfs的模式安装好了,现在进入NTFS的分区的加载过程;通过上面的查看,我们知道/dev/hda1是NTFS格式的;

  • 我们要建一个挂载点的目录,比如是在/mnt/目录下建一个winc的目录:
[root@localhost beinan]# mkdir /mnt/winc
  • 把/dev/hda1 挂载到 /mnt/winc中,这样我们如果查看/dev/hda1磁盘内容时,就会在/mnt/winc中找得到;
[root@localhost beinan]# mount -t ntfs -o nls=utf8,umask=000 /dev/hda1 /mnt/winc

注:-t ntfs 说明文件系统的格式是ntfs的;-o是选项 ,选项有什么呢?有nls=utf8 ,意思是Native Language Support(本地语言支持)是utf8,也就是大家常说的语言编码;Fedora core 4.0 默认的语言编码就是utf8的,这样能显示出中文来;umask=000表示所有的用户组都可读可写,但因为NTFS在Linux中写入不安全,所以只能读,不能写入;如果想写入,只能自己编内核来实现;但意义并不是太大;
是不是挂载好了呢?

[root@localhost beinan]# df -lh
Filesystem 容量 已用 可用 已用% 挂载点
/dev/hda8 11G 5.9G 4.5G 57% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/hda1 5.9G 3.2G 2.7G 55% /mnt/winc

看来是挂载好了;我们进入 /mnt/winc就知道是不是有内容了;

[root@localhost beinan]# cd /mnt/winc
[root@localhost beinan]# ls
  • 如何开机自动加载NTFS文件系统的分区;

我们要根据磁盘的位置,上面我们看到了是/dev/hda1,对不对?所以我在/etc/fstab文件中找加如下的一行;

/dev/hda1 /mnt/winc ntfs umask=000,nls=utf8
  • 如何将这个磁盘分区放在GNOME或者KDE的桌面上呢?

在KDE下,只需要点一下鼠标,在桌面的空白处按鼠标右键就可以找得到了;不多说了,太简单;
在GNOME下也是极简单的:
比如我是以beinan这个用户登入的系统,想在放在 beinan 这个用户的GNOME桌面上;

[beinan@localhost ~]$ ln -s /mnt/winc/ ~beinan/Desktop/winc
FAT32文件系统的分区的加载

通过fdisk -l ,我们也知道了 /dev/hda2是FAT32格式的;

/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)

Linux对FAT32的支持是可读可写的,所以没有必要再安装什么模块之类的;

我们要建一个挂载点的目录,比如是在/mnt/目录下建一个wind的目录
[root@localhost beinan]# mkdir /mnt/wind
挂载 /dev/hda2 到/mnt/wind上
[root@localhost beinan]# mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/wind/

看一下是不是挂载好了?

[root@localhost beinan]# df -lh
Filesystem 容量 已用 可用 已用% 挂载点
/dev/hda8 11G 5.9G 4.5G 57% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/hda1 5.9G 3.2G 2.7G 55% /mnt/winc
/dev/hda2 16G 8.1G 7.7G 52% /mnt/wind

看来是挂载好了;应该进去看看;

[root@localhost beinan]#cd /mnt/wind
[root@localhost beinan]#ls -lh

drwxrwxrwx 3 root root 8.0K 7月 27 11:45 抓图
drwxrwxrwx 2 root root 8.0K 8月 12 10:21 测试文件
drwxrwxrwx 4 root root 8.0K 7月 27 11:45 电脑硬件
drwxrwxrwx 5 root root 8.0K 7月 27 11:45 网际快车

中文支持没有问题;这是我机器中的;

如何开机自动加载NTFS文件系统的分区

我们要根据磁盘的位置,上面我们看到了是/dev/hda1,对不对?所以我在/etc/fstab文件中找加如下的一行;

/dev/hda2 /mnt/wind ntfs umask=000,nls=utf8
如何将这个磁盘分区放在GNOME或者KDE的桌面上呢

在KDE下,只需要点一下鼠标,在桌面的空白处按鼠标右键就可以找得到了;不多说了,太简单;
在GNOME下也是极简单的:
比如我是以beinan这个用户登入的系统,想在放在 beinan 这个用户的GNOME桌面上;

[beinan@localhost ~]$ ln -s /mnt/wind/ ~beinan/Desktop/wind
对于文本文件乱码处理

比如我们看到有些文本文件内容是乱码,我们可以用gedit 打开,然后另存为utf8格式就OK了;

总结

虽然写的详细,但我不敢保证所有初学者都能会操作,但我感觉80%初学者还是按步骤操作不会有问题;希望大家多点耐心,戒骄戒躁能够成为这个领域的佼佼者。

原文来自:http://www.embeddedlinux.org.cn/emb-linux/file-system/201704/08-6507.html

本文地址:http://www.linuxprobe.com/linux-ntfs-fat32.html编辑:王显灿,审核员:逄增宝