Chinaunix首页 | 论坛 | 博客
  • 博客访问: 203370
  • 博文数量: 51
  • 博客积分: 2505
  • 博客等级: 少校
  • 技术积分: 595
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-20 16:59
文章分类

全部博文(51)

文章存档

2010年(5)

2009年(39)

2008年(7)

我的朋友

分类: LINUX

2009-04-11 10:25:56

转自:http://blog.163.com/wangjq_nanjing/blog/static/5049056020083254281334/

也许你看到下面密密麻麻的文字时,就开始头大了——这算哪门子零命令啊!不过请允许我在这里啰唆一番,也许你对下面即将介绍的知识已经了如指掌,但是我还是 建议你简单的浏览一番,或者就当是为我挑错。而如果你是第一次安装Ubuntu,下面的这些准备知识是对于顺利地安装Ubuntu必要的。本文并不打算成 为百科全书式的介绍,因此下面涉及到很多内容是非常粗略的。想深入了解更多知识,你可以请教搜索引擎,而我的唯一建议是,请尽量看新的文章。的发展日新月异,老旧的Linux文档很可能会对读者认识Linux产生误导。

1. 硬盘分区
一块硬盘可以分为四个主分区,或三个主分区加上一个扩展分区。扩展分区其实只是一个容器,我们实际上并不直接使用扩展分区。在扩展分区内,我们可以继续划分逻辑分区。一般的认为在一个扩展分区内,能分出无数个逻辑分区。正因为有了逻辑分区,一块硬盘才能被分成很多个分区。

另一个可能涉及的概念是活动分区。电脑加电启动时,BIOS会寻找硬盘上有活动分区标识的分区寻找操作系统引导程序。如果一块硬盘上没有活动分区, 则即使这块硬盘上有引导程序和完好的操作系统,也将无法成功启动。(关于什么是引导程序将在后面介绍。)一块硬盘上只能有一个活动分区,而且只有主分区才 能成为活动分区。

2. Linux中的硬盘分区
与Windows不同,Linux并不是用C, D, E, F等盘符来标识每一个分区的,而是用一系列设备文件来标识——Linux把一切硬件设备都当成文件。比如,Linux下,四个主分区分别对应/dev /sda1, /dev/sda2, /dev/sda3, /dev/sda4。其中/dev是设备文件所在的目录(即,文件夹,下同),sd代表SCSI Disk,a代表第一个SCSI设备,数字1,2,3,4分别代代表了四个主分区。如果你不知道什么是SCSI Disk,不用担心,因为你并不需要知道它究竟是什么。通常,如果你的电脑中只有一块硬盘,那么,这块硬盘一定是/dev/sda。

可能你以前接触过Linux,或曾经在一些老旧的资料中看到过/dev/hda代表第一个主IDE通道上的硬盘,……你现在已经无需知道这些了。因为Ubuntu已经取消了用hd和sd区分不同类型的硬盘的机制,取而代之的,用sda统一代表电脑中的第一块硬盘。

Linux下,/dev/sdaX中的数字X的编号是有限的。在Linux下,最大的分区编号是16。因此,主分区和扩展分区编号占用 1~4,逻辑分区占用5~16。即使你的硬盘中只有一个主分区(如,/dev/sda1)和一个扩展分区(/dev/sda2),剩下的两个主分区编号: /dev/sda3, dev/sda4 也不会分配给逻辑分区。第一个逻辑分区一定是从/dev/sda5开始编号的。这点与Windows下盘符的编制类似。如:A盘一定是3.5英寸软驱,B 盘一定是5.25英寸软件,而从C盘开始才是硬盘分区。即使电脑上没有软驱,第一个硬盘分区的编号也是C,而不是A。

3. 引导程序与MBR
引导程序是负责将操作系统的内核从硬盘上加载到内存中的程序。在使用Windows的时候,我们似乎从没有关心过引导程序。不过安装过双Windows系 统的读者一定认识Windows的引导程序——即使你从来没有意识到这一点。Windows的引导程序叫做OS Loader,即操作系统加载器,负责在启动的时候根据boot.ini中的配置信息,在屏幕上显示操作系统选择菜单,然后根据用户的选择引导合适的操作 系统。

Linux下有两种引导程序:一种叫做Lilo,一种叫做Grub。Lilo是一个非常经典的引导程序。最初因为它不支持引导位于1024柱面后的 Linux内核,而被Grub所取代。新版的Lilo已经能够支持引导1024柱面后的Linux内核了。现在,几乎所有的主流发行版都使用Grub作为 默认的引导程序。Linux的引导程序与Windows的OS Loader类似。比如,Grub的作用就是负责读取配置文件(menu.lst),显示操作系统的选择菜单,并根据用户的选择引导合适的操作系统。

MBR,又称主引导记录,位于硬盘的第一个柱面的第一个磁道的第一个扇区中。大小为512B,引导程序就位于MBR中。BIOS在开机过程中,会读 取并运行MBR中的引导程序,由它来加载操作系统内核。同样位于第一个柱面的第一个磁道的第一个扇区中的还有主分区表。因为主分区表的大小有限,因此只能 存下四个分区的信息,这也是一块硬盘只能分为四个主分区的原因。也许你也猜到了,还有一个叫做“扩展分区表”的东东,位于扩展分区的最前面,保存了逻辑分 区的信息。

Linux安装时,通常会把Grub安装到MBR。这样,你就可以用Grub同时引导Linux和Windows了。

4. 文件系统和SWAP
在一个硬盘分区可以使用之前,必须格式化成特定的文件系统。Windows下常见的文件系统有FAT32和NTFS。一些U盘的文件系统还可能是 FAT(16)格式的。关于FAT(16),FAT32和NTFS这三种文件系统之间的区别,你只要知道FAT(16)支持的最大单文件为 2GB,FAT32支持的最大单文件为4GB,而NTFS则可以支持大于4GB的单个文件。

Linux支持很多种不同类型的文件系统。Linux能够对FAT16/32和NTFS进行读写。但是因为这两种文件系统不支持Linux文件权 限,因此Linux操作系统无法安装在这两种文件系统的分区中。常见的用于安装Linux的文件系统主要有EXT3, ReiserFS, XFS, JFS等。关于Linux支持的文件系统,我可以列出常常的一串来。不过你知道这4种文件系统就足够了。通常我们都会使用EXT3作为默认的文件系统。关 于各种文件系统孰优孰劣的争论,实在是太多了,我不想对加评论。我的个人看法是,我们使用Ubuntu是作为桌面系统来使用的,大多数情况下,文件系统的 性能并不是我们所需要考虑的大问题。也许你会看到很多对EXT3的负面评价,但是我可以告诉你,EXT3是最老牌,最久经考验的Linux文件系统,所以 选择它没错。事实上,如果这篇文章介绍的是Gentoo Linux,我会推荐ReiserFS的。因为ReiserFS处理大量小文件的性能非常出众。(你可能还会见到一种叫做EXT2的文件系统。正如其名字 所暗示的那样,EXT3是EXT2的升级版本。)

Linux Swap,即Linux交换分区,也是一种文件系统,它的作用是作为Linux的虚拟内存。在Windows下,虚拟内存是一个文件: pagefile.sys,而Linux下,虚拟内存需要使用独立分区,这样做的目的据说是为了提高虚拟内存的性能。通常,虚拟内存的大小设置为物理内存 的1~2倍。(下面的分区建议中会更多的讲述Linux交换分区的问题。)

5. Linux文件结构,挂载与分区建议
Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如:C,D,E,F等。Linux的文件结构是单个的树状结构。最顶部的 为根目录,即 / 。在根目录下,分为多个子目录,包括/bin,/boot,/dev,/etc,/home,/lib,/media,/mnt,/opt,/proc, /root,/sbin,/tmp,/usr,/var等。这些目录的具体作用我就不做详细介绍了。磁盘分区都需要挂载到目录树中的某个目录上才能进行读 写。

显然,根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区。上面还提到,Linux交换分区也需要独立使用一个分区,因此,安 装一个Linux至少要两个分区。(事实上只使用一个分区安装Linux也是可能的,而且,如果电脑的物理内存足够大,交换分区并不是必须的。不过本文不 打算介绍这个高级话题。)

在不同的Linux安装教程中,不同的作者阐述了各种不同的分区建议,本教程也不例外。以下的一些建议有很多包含了强烈的个人喜好,因此读者并不一定要完全按照我的建议进行分区,选择最适合自己的方案才是最好的。尽管如此,我还是希望读者能够参考一些我下面的一些建议。

  • /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之前。
  • /usr/local:建议把/opt,/usr或/usr/local独立出来的教程,基本上也是非常老的了。使用Ubuntu时,我们一般都 是使用系统的软件包管理器安装软件,很少自己编译安装任何软件。而建议独立/usr,/opt,/usr/local的理由无非是为了重装系统时不再重新 编译软件而直接使用早先编译的版本。不过对于大多数普通用户来说,这个建议通常是没有意义的。
  • /var:建议把/var和/tmp独立出来的教程通常是面向服务器的。因为高负载的服务器通常会产生很对日志文件,临时文件,这些文件经常改 变,因此把/var,/tmp独立出来有利于提高服务器性能。我们用Ubuntu是做桌面的,甚至有些用户根本从来没有关心过系统日志这玩意儿,所以根本 没有必要独立的为/var和/tmp挂载分区。
  • /home:这可能是唯一一个值得独立挂载分区的目录了。/home是用户文件夹所在的地方。一个用户可能在/home/user中存放了大量的 文件资料,如果独立挂载/home,即使遇到Ubuntu无故身亡的尴尬局面,也可以立刻重装系统,取得自己的文件资料。因此,/home是唯一可以考虑 独立挂载分区的目录。

看了上面的一些介绍,你可能已经知道我的建议了:

双分区方案:
/ :至少3GB,建议根据实际情况,尽可能多分一些——特别是喜欢玩各式软件的读者。
swap:物理内存小于等于 512MB,建议分配实际物理内存容量2倍大小的SWAP;物理内存大于512MB,建议分配与物理内存等容量的SWAP。

三分区方案:
/ :至少3GB,建议根据实际情况,尽可能多分一些——特别是喜欢玩各式软件的读者。
/home:根据实际需要分配1GB~100GB或更多,酌情处理。
swap:物理内存小于等于 512MB,建议分配实际物理内存容量2倍大小的SWAP;物理内存大于512MB,建议分配与物理内存等容量的SWAP。

另外还要说明的一点是,有些老旧的教程中建议把Linux安装在主分区中,或在/boot下挂载一个主分区。事实上,这也是不需要的。Linux的 所有分区都可以位于逻辑分区中。所以不要再为这些旧教程所误导了,不要再浪费有限的主分区了,放心的把Linux安装在逻辑分区中吧!

准备知识介绍就这么多,是不是已经看得昏昏欲睡了?好吧,我就不催眠各位了,下面我们就开始安装Ubuntu!

阅读(669) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~