DISK
在Linux中,所有的装置是用挂载的方式连结到系统。
系统必须为装置建立一个目录,经由将装置挂载(Mount)到指定的目录上,使用者才可以存取装置。
而这个目录在Linux中称为挂载点(Mount Point)。
就像货轮上的货物,必须停靠在港口后才可以搬运。
货轮就是硬碟,货物就是资料,港口就是目录,把货轮停靠到指定的港口就是挂载。
有别于Windows系统中硬体是以代号的方式辨识,Linux则是以目录。
在IDE介面中,若主机板上有两个IDE插槽,每个排线可连结到两个IDE装置。
则Linux会分别为这些装置建立目录以便于挂载。
IDE5装置的目录是固定的,例如只有Secordary的Master有连接装置,目录依旧是/dev/hdc。
而在SATA介面上,装置目录的命名则是以系统侦测到的顺序依序而定。
例如若在SATA1、SATA5以及USB上各有一颗硬碟,则系统给予的目录会分别为。
DISK PARTITION
跟磁碟最有关系的就是磁碟分割,而管理磁碟分割的就是MBR中的分割表(Partition Table)。
分割表纪录分割区起始以及结束磁柱的号码,档案则利用分割表写入指定的磁碟中。
分割表有64bytes,每组分割需使用16bytes,所以一个硬碟总共可以有四组分割。
分割后的磁区会以硬碟目录档名后面加上号码作为区分。
以上面IDE的硬碟为例,IDE1的Master硬碟切了两个分割区,则分别为/dev/hda1和/dev/hda2。
虽然分割表只能纪录四组分割区,但并不代表只能有四个分割区。
分割区主要分为主要分割(Primary)、延伸分割(Extended)以及逻辑分割(Logical)。
而一个分割表中,主要分割以及延伸分割总合必小于四组。
如果使用者希望有大于四组的分割区,则必须在延伸分割区上建立逻辑分割区。
主要分割区:
主要分割区可以格式化,一个主要分割区可以存在一个作业系统,以及任意数目的档案资料。
延伸分割区:
延伸分割区不可格式化,所以也无法建立任何资料,延伸分割区主要是用以建立逻辑分割区。
一颗硬碟中最多只能有一个延伸分割区。
逻辑分割区:
逻辑分割区可格式化,可存在可以逻辑分割区开机的作业系统,以及任意数目的档案资料。
逻辑分割区必须建立在延伸分割区上。
IDE硬碟可以建立59个(5~63号)逻辑分割,SATA硬碟可建立11个(5~15号)逻辑分割。
逻辑分割区的编号之所以从5号开始,是因为1~4号必须保留给主要以及延伸分割区。
所以,假设一颗在IDE的Master硬碟中,切出了两个主要分割和一个逻辑分割,则分割区编号如下。
FILE SYSTEM
Windows中,一个分割完并格式化,可用以存取资料的分割区我们通常称为「槽」。
在Linux中,我们则称为档案系统(File System)。
建立一个档案系统最主要有几个步骤:1.切割分割区,2.格式化,3.挂载。
必须要经过这三个步骤你的资料才可以在档案系统中存取。
这边介绍基本的档案系统建立,假设要在/dev/sda下建立一个ext4档案系统,并挂载到/fstest下。
1.首先先用 #fdisk -cul /dev/sda 查询一下硬碟目前空间的使用情况。
-c表示关闭DOS相容模式,-u表示显示磁区的大小,而不是磁柱的大小,-l表示列出分割表 。
2.确认空间后,以#fdisk -cu /dev/sda (Red Hat官方建议加上-cu进行磁区分割)进行分割。
进入fdisk之后,可以先按m查询基本命令,简单介绍几个命令。
n:新增分割区。d:删除分割区。p:列出分割区。
q:不储存分割设定离开。w:储存分割设定离开。
3.按n建立新的分割区,在主要跟延伸分割未满四组,或延伸分割仍有空间的情况下,才可建立分割。
决定完分割种类之后,系统会问起始磁区,直接使用预设就好。
(若fdisk未输入参数-cu,则会以磁柱为单位分割。)
接着系统会问结束磁区或磁柱编号,或者输入「+size」,假设要切500M就输入「+500M」。
此时系统会自动帮使用者寻找最接近500M的磁区并进行切割的动作。
最后可以按p就会列出刚才切出的分割区了,确定无误之后按下w写入到分割表中并且离开fdisk。
之后需要重新启动系统, #partprobe 可以重新载入无须重新启动,但这个命令因bug已失效。
4.接着建立档案系统格式,假设刚才建立的分割区为/dev/sda1,要将它建立为ext4格式。
则输入 #mkfs -t ext4 /dev/sda1 。
5.档案系统建立完成之后,就输入 #mkdir /fstest 可建立挂载点让档案系统可以挂载。
6.挂载的方式可以手动挂载以及自动挂载,手动挂载的方式为输入#mount /dev/sda1 /fstest。
或者可以编写/etc/fstab,加入/dev/sda1 /fstest ext4 default 0 0这行,并储存离开。
然后再输入 #mount -a 进行重新挂载,若没有出现错误讯息表示设定成功。
如此便可利用/fstest目录进行对/dev/sda1分割区的资料存取。