首页 > 代码库 > Linux分区
Linux分区
一、Linux 分区基础知识
Ubuntu已经取消了用hd和sd区分不同类型的硬盘的机制,取而代之的,用sda统一代表电脑中的第一块硬盘。
在Linux下,/dev/sdaX中的数字X的编号是有限的,最大的分区编号是16。因此,主分区和扩展分区编号占用1~4,逻辑分区占用5~16。即使你的硬盘中只有一个主分区(如,/dev/sda1)和一个扩展分区(/dev/sda2),剩下的两个主分区编号: /dev/sda3,dev/sda4也不会分配给逻辑分区。第一个逻辑分区一定是从/dev/sda5开始编号的。
文件系统:
Linux能够对FAT16/32和NTFS分区进行读写,常见的用于安装Linux的文件系统主要有ext3, ReiserFS, XFS, JFS等。通常我们都会使用ext3作为默认的文件系统。也许你会看到很多对ext3的负面评价,但ext3是最老牌、最久经考验的Linux文件系统,所以选择它没错。Ubuntu默认采用的是ext3文件系统。
最大分区大小:ext3是4TB,ReiseFS是16TB。FAT32在Windows下最大分区是32GB,而Linux中的FAT32可支持到2TB。
最大文件大小:ext3是2GB-4GB,ReiseFS是8TB,FAT32是4GB。
分区类型:
1、/分区。用于存储系统文件。
2、swap,即交换分区,也是一种文件系统,它的作用是作为Linux的虚拟内存。在Windows下,虚拟内存是一个文件:pagefile.sys;而Linux下,虚拟内存需要使用独立分区,这样做的目的据说是为了提高虚拟内存的性能。
3、/boot:包含了操作系统的内核和在启动系统过程中所要用到的文件。在很多老旧的教程中,都会让用户在/boot目录上挂载一个大小为100MB左右的独立分区,并推荐把该/boot放在硬盘的前面——即1024柱面之前。事实上,那是Lilo无法引导1024柱面后的操作系统内核的时代的遗物了。当然,也有人说,独立挂载/boot的好处是可以让多个Linux共享一 个/boot。其实,无论是基于上述的哪种理由,都没有必要把/boot分区独立出来。首先,Grub可以引导1024柱面后的Linux内核;其次,即使是安装有多个 Linux,也完全可以不共享/boot。因为/boot目录的大小通常都非常小,大约20MB,分一个100MB的分区无疑是一种浪费,而且还把把硬盘 分的支离破碎的,不方便管理。另外,如果让两个Linux共享一个/boot,每次升级内核,都会导致Grub的配置文件冲突,带来不必要的麻烦。而且, 不独立/boot分区仅仅占用了根目录下的大约20MB左右的空间,根本不会对根目录的使用造成任何影响。但值得注意的是,随着硬盘容量的增大,无法引导Linux内核的现象再次出现,这也就是著名的137GB限制。很遗憾,Grub是无法引导137GB之后 的分区中的Linux内核的。如果你不巧遇到了这样的情况,你就要考虑把/boot独立挂载到位于137GB前方的独立分区中,或者索性就把 Linux的分区都往前移动,让根目录所在分区位于137GB之前。
4、/usr/local:是 Linux系统存放软件的地方。使用Ubuntu时,我们一般都是使用系统的软件包管理器安装软 件,很少自己编译安装软件。而建议独立/usr,/opt,/usr/local的理由无非是为了重装系统时不再重新编译软件而直接使用早先编译的版本。 不过对于大多数普通用户来说,这个建议通常是没有意义的。
5、/var:是系统日志记录分区。
6、/tmp分区,用来存放临时文件。建议把/var和/tmp独立出来的教程通常是面向服务器的。因为高负载的服务器通常会产生很多日志文件、临时文件,这些文件经常改变,因此把/var,/tmp独立出来有利于提高服务器性能。但我们用Ubuntu是做桌面的,甚至有些用户根本从来没有关心过系统日志这玩意儿,所以根本没有必要独立的为 /var和/tmp挂载分区。
7、/home:是用户的home目录所在地。这可能是唯一一个值得独立挂载分区的目录了。/home是用户文件夹所在的地方。一个用户可能在/home/user中存放了大量的文件资料,如果独立挂载/home,即使遇到Ubuntu无故身亡的尴尬局面,也可以立刻重装系统,取得自己的文件资料。因此,/home是唯一可以考虑独立挂载分区的目录。有些老旧的教程中建议把Linux安装在主分区中,或在/boot下挂载一个主分区。事实上,这也是不需要的。Linux的所有分区都可以位于逻辑分区中。所以不要再为这些旧教程所误导了,不要再浪费有限的主分区了,放心的把Linux安装在逻辑分区中吧。
二、Linux 分区概念
在 Linux 中规定,每一个硬盘设备最多能有 4 个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。对于早期的 DOS 和 Windows(Windows2000 以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。
主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动或者称作是引导程序都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。我们在指定安装引导 Linux 的 bootloader 的时候,都要指定在主分区上。
Linux规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。因此,Linux 下面每一个硬盘总共最多有 16 个分区。
对于逻辑分区,Linux 规定它们必须建立在扩展分区上(在 DOS 和 Windows 系统上也是如此规定),而不是主分区上。因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。
三、开始分区
首先分一个100M的主分区(挂载boot),grub启动时需要的文件都在/boot目录。这样就算工作分区出了问题,只要这个分区没有问题,同样可以启动。因此最好的办法就是专门为根文件分一个区,大小一般最多64M,我为了保险给了 100M。
之后的分区全部以扩展分区形式存在,扩展分区下很多逻辑分区。
首先创建一个交换分区,大小是物理内存的一倍到两倍大,分区格式记着改成linux-swap。
然后创建一个尽量大的分区给/usr,因为这里存放有大部分的系统软件,包括X Server等图形界面程序。
接下来创建/home的挂载分区。