首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Linux 创建文件系统及挂载文件系统流程详解(2)

Linux 创建文件系统及挂载文件系统流程详解(2)

三、挂载文件系统;
挂载文件系统,目前有两种方法,一是通过 mount 来挂载,另一种方法是通过/etc/fstab文件来开机自动挂载;
1、通过mount 来挂载磁盘分区(或存储设备)
mount的用法其实也简单,我们说几个常用的;
挂载文件系统的命令格式:
[root@localhost beinan]# mount  [-t  文件系统 ]  [-o  选项]  设备  目录
注: -t 通过这个参数,我们来指定文件系统的类型,一般的情况下不必指定有时也能识加,-t 后面跟 ext3 、ext2 、reiserfs、vfat 、ntfs 等,其中 vfat 是fat32和fat16分区文件系统所所用的参数;如果您忘记了文件系统,也可以在-t 后面加auto ; -o 这个选项,主要选项有权限、用户、磁盘限额、语言编码等,但语言编码的选项,大多用于vfat和ntfs文件系统;由于选项太多,还是请您看看 man mount ;这里不多说; 设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准;
1)对光驱和软驱的挂载;

举例:
[root@localhost beinan]# mount /dev/cdrom
[root@localhost beinan]# mount /dev/fd0
第一行是mount 光驱,至于mount 到哪了,我们可以通过查看 /etc/fstab来查看;同理软驱/dev/fd0设备也是如此;比如我们在/etc/fstab
/dev/hdc                /media/cdrecorder       auto    users,exec,noauto,managed 0 0
我们可以肯定的是光盘被mount 到了 /media/cdrecorder 目录; 但我们也可以自己来指定cdrom 挂载的位置 ;比如 /mnt/cdrom ,所以我们也可以这样来挂载光驱;
[root@localhost beinan]#mkdir /mnt/cdrom
[root@localhost beinan]# mount /dev/cdrom  /mnt/cdrom
我 们先建一个目录,然后执行mount 命令,这样cdrom 就挂在 /mnt/cdrom 中了;我们就可以在/mnt/cdrom 中查看光盘中资料和文件;这个目录您想怎么建就怎么建。用什么目录不是最重要的。重要的是您知道自己在做什么就行了。比如我们也可以把这个目录建成 dvdrom ;然后用 mount /dev/cdrom /mnt/dvdrom 来挂载; 有时我们的设备是COMBO的,有支持dvd cd 还能支持刻录的;我们最好查一下光驱设备的,主要有两个方法,一是通过查看 /etc/fstab ,二是通过ls -l 来查看;比如我们在/etc/fstab中查看到类似下面的一行;
/dev/hdc                /media/cdrecorder       auto    users,exec,noauto,managed 0 0
通过这个,我们能知道hdc 就是cdrom 也是dvdrom的设备 ,更是 cdrecorder的设备;为了验证我们的说法;请用ls -l 来列文件;
[root@localhost beinan]# ls -lh /dev/dvd*
lrwxrwxrwx  1 root root 3 2005-09-13  /dev/dvd -> hdc
[root@localhost beinan]# ls -lh /dev/cdrom
lrwxrwxrwx  1 root root 3 2005-09-13  /dev/cdrom -> hdc
[root@localhost beinan]# ls -lh /dev/cdwriter
lrwxrwxrwx  1 root root 3 2005-09-13  /dev/cdwriter -> hdc
这不一目了然了吗?dvd 、cdrom 、cdwriter 的文件名都链接到了hdc这个设备,所以光驱设备根源就是/dev/hdc ;所以我们也可以这样挂载光驱;
[root@localhost beinan]# mkdir /mnt/cdrom
[root@localhost beinan]# mount  /dev/hdc   /mnt/cdrom


2)挂载硬盘和移动硬盘的文件系统;
一个分区只有创建了文件系统后才能使用,前面我们说过了,我们在Linux大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;
[1]挂载Linux文件系统;
对于ext2 、ext3 、reiserfs 不需要指定文件系统的编码,其实mount 也没有这个功能;这些Linux文件系统,如果出现编码问题,一般是通过export LANG来指定;所以挂载这些文件系统比较简单; 首先我们得建一个文件系统挂载的目录;我们前面已经提到了;一个有文件系统的分区要挂到系统中,必须要有一个挂载点;这个挂载点就是一个目录;比如我们通过fdisk -l 得知hda5 是Linux分区,并且创建了文件系统,比如是reiserfs 文件系统吧;
[root@localhost beinan]# fdisk -l /dev/hda
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        9729    55617030    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/hda10           7752        9729    15888253+  83  Linux
我们先用fdisk -l 来查看一下分区情况:我们想要挂载/dev/hda5分区,比如hda5分区创建的是reiserfs文件系统;
[root@localhost beinan]# mkdir /mnt/hda5/   注:先创建一个挂载目录;
[root@localhost beinan]# chmod 777  /mnt/hda5/    注:设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入;
[root@localhost beinan]# mount -t reiserfs /dev/hda5 /mnt/hda5    注:通过-t reiserfs 来指定/dev/hda5是reiserfs 文件系统, 并且挂载到/mnt/hda5目录;
[root@localhost beinan]# mount  -t auto   /dev/hda5 /mnt/hda5   注:假如我们不知道hda5上reiserfs 文件系统,我们可以用 -t auto 让系统定夺,然后挂载到/mnt/hda5 ;
[root@localhost beinan]# mount /dev/hda5 /mnt/hda5   注:不加任何参数,直接 mount   /dev/hda5 到/mnt/hda5;系统自动判断分区文件系统;
是不是被挂载了,我们通过df -lh 来查看;
[root@localhost beinan]# df -lh
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda8              11G  8.5G  1.9G  83% /
/dev/shm              236M     0  236M   0% /dev/shm
/dev/hda10             16G  6.9G  8.3G  46% /mnt/hda10
/dev/hda5             7.9G  5.8G  2.1G  74% /mnt/hda5


[2]挂载Windows文件系统;
请参考: 《在Fedora core 4.0 加载NTFS和FAT32分区详述》
3)卸载文件系统umount ;

命令用法:
[root@localhost beinan]# umount  设备或挂载目录

举例:
[root@localhost beinan]# mount -t auto /dev/hda5 /mnt/hda5   注:挂载/dev/hda5;
[root@localhost beinan]# df -lh       注:查看/dev/hda5是否被挂载;
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda8              11G  8.5G  1.9G  83% /
/dev/shm              236M     0  236M   0% /dev/shm
/dev/hda10             16G  6.9G  8.3G  46% /mnt/hda10
/dev/hda5             7.9G  5.8G  2.1G  74% /mnt/hda5
[root@localhost beinan]# umount /dev/hda5  注:卸载/dev/hda5
[root@localhost beinan]# df -lh        注:看是否卸载了/dev/hda5;
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda8              11G  8.5G  1.9G  83% /
/dev/shm              236M     0  236M   0% /dev/shm
/dev/hda10             16G  6.9G  8.3G  46% /mnt/hda10
[root@localhost beinan]#umount /dev/cdrom  注:卸载cdrom ;
[root@localhost beinan]#umount  /dev/fd0   注:卸载软驱;
... ... 再说一个查看分区是否被挂载了的命令,直接用 mount -s
[root@localhost beinan]# mount -s
2、通过/etc/fstab文件来开机自动挂载文件系统

1)理解fstab
上面我们说了mount挂载存储设备文件系统的办法;现在我们再来说一说在/etc/fstab 中实现开机自动挂载文件系统的办法;首先我们要查看 /etc/fstab ;主要看他的规划写法;
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/1                /                       ext3    defaults        1 1
/dev/devpts             /dev/pts                devpts  gid=5,mode=620  0 0
/dev/shm                /dev/shm                tmpfs   defaults        0 0
/dev/proc               /proc                   proc    defaults        0 0
/dev/sys                /sys                    sysfs   defaults        0 0
LABEL=SWAP-hda7         swap                    swap    defaults        0 0
/dev/hdc                /media/cdrecorder       auto    users,exec,noauto,managed 0 0
第一字段:设备名,在这里表示是文件系统; 有时我们把挂载文件系统也说成挂载分区; 在这个字段中也可以用分区标签;在例子中/LABEL=/1就是Fedora 系统安装分区的标签,至于是在哪个分区,可以用 df -lh 来查看;
[root@localhost beinan]# df -lh
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda8              11G  8.5G  1.9G  83% /
/dev/shm              236M     0  236M   0% /dev/shm
/dev/hda10             16G  6.9G  8.3G  46% /mnt/hda10
我们可以知道 LABEL=/1是/dev/hda8的标签;那我们用什么命令来创建硬盘分区的标签呢? 对于ext3和ext2文件系统,我们可以用 e2label 来设置
e2label device [newlabel]
比如我们想把文件系统为ext3 的分区/dev/hda5的标签设备为 /5 ,我们应该执行如下的命令:
[root@localhost beinan]# e2label /dev/hda5  /5  
[root@localhost beinan]# mkdir /mnt/hda5  注:创建挂载/dev/hda5分区的目录;
[root@localhost beinan]# chmod 777 /mnt/hda5  注:打开权限,所有用户可读可写可执行;
然后我们要改/etc/fstab 中加一行
/5         /mnt/hda5                    ext3     defaults        0 0
警告: 请不要在您的Linux的安装分区(也就是Linux系统/ 所在的分区)实践,会导致您的Linux系统崩溃;如果想实践,请在其它分区测试; 如果是reiserfs文件系统,我们应该用 [root@localhost beinan]# reiserfstune -l 标签 设备 举例:比如我为reiserfs 文件系统 /dev/hda10设置标签为 /10 ;
[root@localhost beinan]# reiserfstune -l /10 /dev/hda10
我们在/etc/fstab中加入一行;
/10              /mnt/hda10              reiserfs defaults       0 0
警告: 请不要在您的Linux的安装分区(也就是Linux系统/ 所在的分区)实践,会导致您的Linux系统崩溃;如果想实践,请在其它分区测试; 第二字段:文件系统的挂载点;
继承事业,薪火相传
返回列表