联系我们
  • 成才热线:
                0531-86996651  86996089
  • 地理位置:
                济南市山大路201号创展中心
                文化东路北100米
  • 乘车路线:
                16路、48路、K94路、112路
                文化东路站
  • PEAQQ群:
                39852963  25515397
  • Linux下磁盘分区管理
    发布时间:2008-04-24 11:15:20    作者:匆匆     类别:Linux技术    访问次数:294

        在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb,依此类推。SCSI接口设备是用sd命名的,第一个设备是sda,第二个是sdb,依此类推。分区是用设备名称加数字命名的。例如hda1代表hda这个硬盘设备上的第一个分区,hda2代表hda这个硬盘设备上的第二个分区。linux下对分区的编号,第一个主分区为1,其次为2,3,最大为4,扩展盘上的逻辑分区从5开始。

        新添加的硬盘可以在/dev下找到,下面以新加的一块SCSI硬盘/dev/sdb为例说明。首先用fdisk进行分区。

    #fdisk /dev/sdb 

        进入fdisk模式。可以用m命令来看fdisk命令的内部命令;n命令创建一个新分区;d命令删除一个存在的分区;p命令显示分区列表;t命令修改分区的类型ID号;l命令显示分区ID号的列表;a命令指定启动分区;w命令是将对分区表的修改存盘让它发生作用。

    Command (m for help):p  //查看新硬盘的分区
    Command (m for help):n  //创建新分区

    Command action
       e   extended   //输入e为创建扩展分区
       p   primary partition (1-4)   //输入p为创建主分区,这里我们选择p
    Partion number(1-4):1  //第一个扩展分区,按你需求可以最多分4个主分区
    First Cylinder(1-1014,default 1):  1  //第一个主分区起始的磁盘块数
    Last cylindet or +siza or +sizeM or +sizeK: +1024MB  //可以是以MB为单位的数字

        这样我们就创建完一个分区,如果要创建更多分区可以照上面的步骤继续创建。如果要创建扩展分区,就按n,e。扩展分区本身没有办法使用,必须要在扩展分区内再建逻辑分区,操作是n,l。经过多步操作,硬盘被划分成如下分区状况:

       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1         100      102384   83  Linux
    /dev/sdb2             101         200      102400   83  Linux
    /dev/sdb3             201         307      109568    5  Extended
    /dev/sdb5             201         260       61424   83  Linux
    /dev/sdb6             261         307       48112   83  Linux

        其中sdb1,sdb2都是主分区,sdb3是扩展分区,在扩展分区中建了两个逻辑分区,分别是sdb5和sdb6。创建完后用w保存分区。 

    Command (m for help): w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.

        这样就分区完,我们还要进行格式化:

    mkfs.ext3 /dev/sdb1

        或者

    #mkfs -t ext3 -c /dev/sdb1  //如果有多个分区,则分区修改为sdb2这样

        扩展分区不能直接格式化,需要单独格式化各个逻辑分区。格式化完后我们需要进行挂载分区。
     
    #mkdir /var/www //创建/www目录,我们将把新的分区挂到www下
    #mount /dev/sdb1 /var/www  //将/dev/sdb1挂载到/var/www

    # df  //用df命令进行查看
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/sda2              3771316   1388956   2190788  39% /
    /dev/sda1               101089      9463     86407  10% /boot
    none                     62988         0     62988   0% /dev/shm
    /dev/sdb1               485906      8239    452580   2% /var/www  //看到了,这就是我们刚才新挂载的分区

        要挂载其他分区操作同上。到这里我们工作已接近尾声了,不过我们如果这样就结束的话,我们每次重新启动服务器后都要进行手工挂载,这样很麻烦,我们需要修改/etc/fstab文件来进行自动挂载。

    vi /etc/fstab

        添加

    /dev/sdb1   /var/www   ext3    defaults  1 1


    附分区表/etc/fstab格式简介:

        linux在引导过程中用该表来按不同的方式装载分区和目录。每个文件系统有几个相干的参数,这些参数确定文件系统如何读取、文件系统有哪些相关用户权限等。
        该表一般包含6个字段。
       <file system>(有的系统用label表示) 要装载的分区(如/dev/hda2)和文件系统(如/usr)
       <dir> (或者mount point等) 要装载的分区和文件系统所在目录
       <type>(或format等) 文件系统格式类型,如ext3,vfat
       <options>(mount options等) 其值为defaults时,即默认选项,包括参数rw(读写)、suid(SUID权限)、exec(二进制可执行文件)、auto(系统起动时自动装载)、nouser(只有根用户可以装载,相反为user)、async(数据异步读写)),其它的参数还有umask,unhide(hide), iocharset(语言环境)等,当然你可以自己指定各个值。
       <dump>(dump value) dump(英文意为倾倒垃圾)时是否需要BACKUP的标志位,其内定值是0。1表示文件系统自动写入磁盘。
       <pass>(Filesystem Check Order) 设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。
       
        例子:如果你有windows分区(fat32)在/dev/hda1处,你想在系统启动时就自动挂载该分区,并且挂载过来之后一般用户可读可写,并且可以显示中文。则在fstab中添加:
        /dev/hda1  /mnt/c       vfat umask=000,iocharset=gb2312 0 0

     




    回复:

    请输入验证码: 点击重置图片