fdisk分区与挂载

   1 分区
                 2 格式化
                 3 挂载

---------------------------------------
我们先来看下分区指令
fdisk

比如我这里,我的硬盘是挂载在/dev/hda上

1 分区 装系统时可以看到
2 fdisk -l

那么可以
fdisk /dev/hda   (注意了,我这后面没有数字)
然后按m 可以查看帮助
我说几个常用的````

d 删除一个硬盘分区
n 新增一个硬盘分区
p 将当前磁盘分区列出来
q 不保存退出
w 保存后退出(不要随便按这个)

查看目前所有的分区有哪些
fdisk -l
注意了 列表有个ID一项,是分区格式的代码,
可以在fdisk里 用l参数看到

提醒一下:这个fdisk命令 只有root才能执行
还有一个要注意的地方,/dev/hda后面不要加数字,因为它是针对整个硬盘
而不是某个分区

-----------

下面我们来看下具体的操作

删除一个硬盘分区

新增一个硬盘分区
         按N后,系统会提示你,
         如果你已经有扩展分区(extended)时,系统会提示:要新增主分区(Primary)
         还是逻辑分区(Logical)
         如果你还没有扩展分区,那么系统会提示你要新增主分区还是扩展分区
        
         如果这里你已经用完了4个主分区+扩展分区的话,那么就只有逻辑分区
         可以选择了(这里要是还不大了解的话,可以去复习下第二讲)

         如果是选择的primary的话,按p
         否则按e(extended) 或 l(logical)


2 磁盘格式化
这个没什么可讲的````为了突出通常所说的分区其实是2个步骤
1 分区        
2 格式化
一般的工具 比如PQ 就是分区的时候 同时格式化了,其实这是2个步骤

好了,我这随便举个分区例子
         将分区/dev/hda3格式化为ext3
[root@localhost ~]mke2fs -j -L "new" /dev/hda3
这里注意了,执行这个命令之前,要先把机器重启,不然会提示错误
我这里就不重启了,节约大家时间
执行的结果是这样的:
------------
[root@localhost ~]# mke2fs -j /dev/hda4
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
12048 inodes, 48192 blocks
2409 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=49545216
6 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
         8193, 24577, 40961

Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.   Use tune2fs -c or -i to override.
------------

3 挂载与卸载

我们现在来看下怎么将上面建立的分区在linux下能使用,
需要将他挂载在linux上,所谓的 挂载点 则是该分区的目录

这里说个需要注意的地方,如果你挂载的目录里面不是空的
那么挂载后,原目录下的东西就会消失。不用担心,只是暂时的消失
举个例子来说,假设你的/home原来是属于/根目录下的分区所有,
这个目录里有/home/test,/home/test2 这2个目录,然后你挂载新的硬盘
并且想直接挂载/home下,那么当你挂载上新的硬盘时,则/home目录下
显示的是这个新硬盘的内容,原来的test和test2就被暂时的隐藏掉了。
不是会覆盖掉,只是暂时的隐藏起来。等你的新的硬盘umount后,该目录的内容
就可以再次跑出来了

那怎么挂载呢~~
指令是:mount [参数] 盘符代号 挂载点

参数:我这里只介绍2个,其他的用到的不多

-t          你的linux的支持的文件格式,比如,挂载/ext3/格式,就写上-t ext3
         用来告诉系统,用ext3的格式来挂载这个分区

         常见的格式有
         linux                 :         ext2         ext3
         windows         :         vfat(就是fat32)
         光盘                 :         iso9660

         系统默认支持的格式在/lib/modules/`uname -r`/kernel/fs里可以找到
         若你mount后面没有加-t,linux在默认的情况下,会用/etc/filesystems这个文件
         内的规范来一个个试

-o         这个参数可以设置权限
         ro, rw         :让该扇区以可擦写或者是只读的型态挂载上来,如果是 vfat 之
                         类的非 Linux 传统扇区,您不想让 Linux 变更的话,
                         那么使用 ro也不错!能够提供有效的保护呢!
         async,sync         :是否允许磁盘与内存中的数据以同步写入的动作?,默认是async
                         (使用 async 这个异步写入的方式会比较快速一些。)
         auto,noauto         :在开机的时候是否自动挂载该扇区?
                        
         dev,nodev         :是否可以建立文件?dev为可以
         suid,nosuid         :该档案系统是否允许 SUID 的存在?一般而言,
                         如果不是 Linux系统的扇区,而是一般数据
                         的 partition ,那么设定为 nosuid 确实比较安全一些。
                         毕竟有 SUID 是蛮夸张的一件事。
         exec,noexec         : 限制在此档案系统内是否可以进行『执行』的工作?
                         如果是纯粹用来储存资料的, 那么可以设定
                         为 noexec 会比较安全,相对的,会比较麻烦!
         user,nouser         :是否允许使用者使用 mount 指令来挂载呢?一般而言,
                         我们当然不希望一般身份的 user 能使用 mount ,
                         因为太不安全了,因此这里应该要设定为 nouser
         defaults         :默认的是:rw, suid, dev, exec, auto, nouser, async
         remount         :重新挂载,这个在系统出错,或重新更新参数时,很有用

例1:把我们新建的/dev/hda4挂载在mnt/hda4上面
         [root@localhost ~]# mkdir /mnt/hda4        
         [root@localhost ~]# mount -t ext3 /dev/hda4 /mnt/hda4
         执行成功后不会有显示,错误了就会有了- -

例2:将/重新挂载,并加入参数为rw
         [root@localhost ~]# mount -o remount,rw /

例3:将系统所有的挂载数据列出来
         [root@localhost ~]# mount

注意了:1 挂载的时候需只有root才能执行,
           2 挂载前要知道你需要挂载的分区格式,可以:fdisk -l 查看

卸载的指令是:umount
         格式:umount 硬盘代码 或 挂载点

         我们把例1的挂载卸载就是
         [root@localhost ~]# umount /dev/hda4         或者是
         [root@localhost ~]# umount /mnt/hda4


---------
好了 我们再来看下其他几个常用的挂载

挂载WIN盘符
         1 fdisk -l 看下你要挂载的盘的符号是什么 是什么格式
         2 [root@localhost ~]# mkdir /mnt/win2000e
         3 [root@localhost ~]# mount -t vfat /dev/hda1 /mnt/win2000e
         我这里是随便假设的的格式

挂载USB
         现在的大多数USB插上去后都可以识别
         1 再次用fdisk -l列出所有分区信息,你会发现你的系统
                 多了一个/dev/sda[??]的代号,第一个USB代号为/dev/sda
                 假设我们这里是sda1,通常都是这个,而且是WIN下fat32的格式
         2 [root@localhost ~]# mkdir /mnt/usb
         3 [root@localhost ~]# mount -t vfat /dev/sda1 /mnt/usb

开机自动挂载/etc/fstab 与 /etc/mtab
         我们可以在开机的时候将我要的分区挂好,这样就不用每次进入系统挂载一次了
         直接修改/etc/fstab
         这里又要说几个要注意的地方
         1 根目录是必须挂载的,而且一定要比其他挂载点先挂载进来
         2 其他挂载点必须为已建立的目录,
         3 所有分区,在同一时间类,只能挂载一次
         4 如果要卸在,必须先将工作目录移动到挂载点的目录之外

我们先来看下/etc/fstab这个文件
[root@localhost ~]# cat /etc/fstab
#Device                 Mount point                         filesystem         parameters         dump         fsck
LABEL=/                 /                     ext3     defaults         1 1
devpts                   /dev/pts               devpts   gid=5,mode=620   0 0
tmpfs                   /dev/shm               tmpfs   defaults         0 0
proc                     /proc                 proc     defaults         0 0
sysfs                   /sys                   sysfs   defaults         0 0
LABEL=SWAP-hdc4         swap                   swap     defaults         0 0

我这里多了一行,注释,方便看清楚,好了,我们来具体看下

1     硬盘代号或该硬盘的 Label:
         这个就是装置代号啦, 将您需要的硬盘代号给他填上去吧。
         这个提一个,我们格式化盘的时候用到一个-l参数
         我们也可以利用 Label 来挂载档案系统
         例如上表当中的特殊字体的第一行, 根目录 (/) 就是以 Label 名称为 / 的磁盘分割槽来挂载的
         利用 label 挂载时,您必须要知道您的磁盘内的 label 名称,
         可以利用 e2label 来更改标头名称啊。 在知道了 label 名称后,最后就可以利用
         LABEL=(your label name) 来设定您的盘

         e2label指令
         格式:e2label 硬盘代号   新的Label名称
         [root@localhost ~]# e2label /dev/hdb5 new

2           挂载点 (mount point)::
         这里一定要是目录才行。要注意了


3         磁盘分割槽的档案系统:
         就如同我们在这个章节一开始就谈到的, Linux 在传统上面,使用的是 ext2/ext3 等档案系统,
         目前则加入了很多日志式档案系统,例如 reiserfs 及 XFS 等档案系统的支持。 此外,存在已
         久的 Windows vfat, msdos 及 iso9660 的光盘档案系统,
         还有网络档案系统如 nfs, smbfs 等等,都可以被支持。这个字段就是写这些档案系统的地方

4         通常情况下这里用默认的就行了defaults

5          是否被dump备份
         在 Linux 当中,可以利用 dump 这个指令来进行系统的备份的。
         而 dump 指令则会针对/etc/fstab 的设定值,去选择是否要将该 partition 进行备份的动作
         0 代表不要做 dump备份, 1 代表要进行 dump 的动作。 2 也代表要做 dump 备份动作,
         不过,该 partition 重要度比 1 小。

6         是否以 fsck 检验扇区:
         开机的过程中,系统预设会以 fsck 检验我们的 partition 内的 filesystem 是否完整。
         不过,某些 filesystem 是不需要检验的,例如虚拟内存 swap ,或者是特殊档案系统,
         例如 /proc 与 /sys 等等。所以,在这个字段中,我们可以设定是否要以 fsck 检
         验该filesystem。
         0 是不要检验, 1 是要检验, 2 也是要检验,不过 1 会比较早被检验
         一般来说,根目录设定为 1 ,其它的要检验的 filesystem 都设定为 2 就好了。

--------
好了,所以说,我们要把上面例子的/dev/hda4/这个 ext3 的 filesystem
挂载到 /mnt/hdb4时, 并且在开机的时候就已经自动的挂载好,
那么就可以将底下这一行写入到 /etc/fstab 当中了:

/dev/hdb5 /mnt/hdb5 ext3 defaults 0 0

所以说,以后您自己建立的磁盘档案系统想在开机的时候挂载好时,
就在 /etc/fstab 加入
当我们编辑 /etc/fstab 后,为了避免可能的错误,通常就会以 mount -a 这个指令来测试看看。

这里还提醒一个小技巧:

/etc/fstab 是开机时的设置文件,不过,实际 filesystem 的挂载是记录到
         /etc/mtab 与 /proc/mounts这两个档案当中的。每次我们在更动 filesystem 的挂载时,
         也会同时更动这两个档案。但是,万一发生您在 /etc/fstab 输入的数据错误,导致无法顺利
         开机成功,而进入单人维护模式当中,那时候的 / 可是 read only 的状态,    
         当然您就无法修改 /etc/fstab ,也无法更新 /etc/mtab ~那怎么办?
         可以利用底下这一招:
         [root@linux ~]# mount -n -o remount,rw /
         加上 -n 则不更新 /etc/mtab ,加上 -o 则提供额外的参数设定。 利用这一动作,
         您的 / 就可以读写,那么自然就能够更新档案内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值