需要了解的linux 加载ntfs和fat32分区

嵌入式技术

1330人已加入

描述

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

Linux


1、查看磁盘分区情况的命令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格式;

2、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,我们必须建一个;当然挂载点目录名是自己随便起命名的,最好用英文;

例子在后面举了,新手弟兄先知道有这回事就行了;

3、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



4、文件和目录的权限;

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

5、内核的版本;

代码:
[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

6.获取root用户的命令是su

代码:
[beinan@localhost ~]$ su
Password: 在这里输入您的root密码,即使输入了,也不会显示出来;我们要安装RPM包,要用到root的超级权限;
[root@localhost beinan]#



二、NTFS文件系统的加载;

1、我们要首先确认系统的内核;我们要根据系统的内核版本来下载支持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*



2.判断哪个分区是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格式的;

1]我们要建一个挂载点的目录,比如是在/mnt/目录下建一个winc的目录:

代码:
[root@localhost beinan]# mkdir /mnt/winc



2]把/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



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

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

代码:
/dev/hda1 /mnt/winc ntfs umask=000,nls=utf8



4]如何将这个磁盘分区放在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的支持是可读可写的,所以没有必要再安装什么模块之类的;

1.我们要建一个挂载点的目录,比如是在/mnt/目录下建一个wind的目录:

代码:
[root@localhost beinan]# mkdir /mnt/wind



2.挂载 /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 网际快车



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

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

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

代码:
/dev/hda2 /mnt/wind ntfs umask=000,nls=utf8



4]如何将这个磁盘分区放在GNOME或者KDE的桌面上呢?

在KDE下,只需要点一下鼠标,在桌面的空白处按鼠标右键就可以找得到了;不多说了,太简单;

在GNOME下也是极简单的:

比如我是以beinan这个用户登入的系统,想在放在 beinan 这个用户的GNOME桌面上;

代码:
[beinan@localhost ~]$ ln -s /mnt/wind/ ~beinan/Desktop/wind



三、对于文本文件乱码处理;

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

后记:虽然写的详细,但我不敢保证所有初学者都能会操作,但我感觉80%初学者还是按步骤操作不会有问题;

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分