Contents
  1. 1. 设备管理
  2. 2. 分区编号
  3. 3. 分区的作用
    1. 3.1. 主分区
    2. 3.2. 逻辑分区
  4. 4. 查看分区的常用命令
    1. 4.1. mount
    2. 4.2. df

这篇文章是介绍Linux各个分区的意义和作用。

设备管理

在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。
对于ide硬盘,驱动器标识符为“hdx”,其中“hd”表明分区所在设备的类型,这里是指ide硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个ide硬盘上的第三个主分区或扩展分区,hdb2表示为第二个ide硬盘上的第二个主分区或扩展分区。对于scsi硬盘则标识为“sdx~”,scsi硬盘是用“sd”来表示分区所在设备的类型的,其余则和ide硬盘的表示方法一样,不在多说。
例如,第一个 IDE 设备,Linux 就定义为 hda;第二个 IDE 设备就定义为 hdb;下面以此类推。而 SCSI 设备就应该是 sda、sdb、sdc 等。

分区编号

要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE 或 SCSI)设备,Linux 分配了一个 1 到 16 的序列号码,这就代表了这块硬盘上面的分区号码。

  • 例如,第一个 IDE 硬盘的第一个分区,在 Linux 下面映射的就是 hda1,第二个分区就称作是 hda2。
  • 对于SCSI 硬盘则是 sda1、sdb1 等。

分区的作用

在 Linux 中规定,每一个硬盘设备最多能有 4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。

对于早期的 DOS 和 Windows(Windows 2000 以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区>>的方法,进一步地细化分区。

主分区

主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。我们在指定安装引导 Linux 的 bootloader 的时候,都要指定在主分区上,就是最好的例证。
Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。因此,Linux 下面每一个硬盘总共最多有 16 个分区。

###扩展分区
除了主分区占用的空间,余下的空间划分出来的分区都被称为扩展分区。

逻辑分区

对于逻辑分区,Linux 规定它们必须建立在扩展分区上(在 DOS 和 Windows 系统上也是如此规定),而不是主分区上。因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为 操作系统 的引导。 除去上面这些各种分区的差别,我们就可以简单地把它们一视同仁了。

##分区指标  
对于每一个 Linux 分区来讲,分区的大小和分区的类型是最主要的指标。分区的类型规定了这个分区上面的文件系统的格式。
Linux 支持多种的文件系统格式,其中包含了我们熟悉的FAT32、FAT16、NTFS、HP-UX,以及各种 Linux 特有的 Linux Native和 Linux Swap分区类型。在 Linux 系统中,可以通过分区类型号码来区别这些不同类型的分区。可以参考我的另外一篇博文来了解Linux分区的类型(也可以称为文件系统类型)Linux文件系统类型

##常用分区介绍

  • /boot分区,它包含了操作系统的内核和在启动系统过程中所要用到的文件,建这个 分区是有必要的,因为目前大多数的pc机要受到bios的限制,况且如果有了一个单独的/boot启动分区,即使主要的根分区出现了问题,计算机依然能够 启动。这个分区的大小约在50mb—100mb之间。但是如果想用lilo启动red hat linux系统的话,含有/boot的分区必须完全在柱面1023以下。又由于8gb后的数据lilo不能读取,所以red hat - linux要安装在8gb的区域以内。
  • /usr分区,是red hat linux系统存放软件的地方,如有可能应将最大空间分给它。
  • /home分区,是用户的home目录所在地,这个分区的大小取决于有多少用户。如 果是多用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普 通用户访问哪些文件等。其实单用户也有建立这个分区的必要,因为没这个分区的话,那么你只能以根用户的身份登陆系统,这样做是危险的,因为根用户对系统有 绝对的使用权,可一旦你对系统进行了误操作,麻烦也就来了。
  • /var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日志文件出现了问题,它们也不会影响到操作系统的主分区。
  • /tmp分区,用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。 这样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的操作,文件系统的其它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写操 作,所以它通常会比其它的部分更快地发生问题。
  • /bin分区,存放标准系统实用程序。
  • /dev分区,存放设备文件。
  • /opt分区,存放可选的安装的软件。
  • /sbin分区,存放标准系统管理文件。

上面介绍了几个常用的分区,一般来说我们需要一个swap分区,一个/boot分区,一个/usr分区,一个/home 分区,一个/var/log分区。当然这没有什么规定,完全是依照你个人来定的。但记住至少要有两个分区,一个swap分区,一个/分区。

查看分区的常用命令

mount

mount命令用来查看那些已经分配了mountpoint的文件系统

:~$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro,user_xattr)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debugtype debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/runtype tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
none on /var/lib/ureadahead/debugfs type debugfs (rw,relatime)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/kysnail/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=kysnail)

df

df命令可以查看文件系统的分区大小, 使用-l参数可以只参看本地文件系统。

:~$ df -lhT
文件系统      类型    容量  已用 可用 已用% 挂载点
/dev/sda1     ext4     19G   11G  7.8G  57% /
none      devtmpfs    498M  248K  497M   1% /dev
none         tmpfs    502M  252K  501M   1% /dev/shm
none         tmpfs    502M   96K  502M   1% /var/run
none         tmpfs    502M     0  502M   0% /var/lock
none         tmpfs    502M     0  502M   0% /lib/init/rw
none       debugfs     19G   11G  7.8G  57% /var/lib/ureadahead/debugfs
Contents
  1. 1. 设备管理
  2. 2. 分区编号
  3. 3. 分区的作用
    1. 3.1. 主分区
    2. 3.2. 逻辑分区
  4. 4. 查看分区的常用命令
    1. 4.1. mount
    2. 4.2. df