在安装 Linux

前,你可能真很想知道什么是硬盘的分区。你关心这个是因为你不想删除你的

Windows

分区,你想让它们处于不同的分区,实现双启动。这就意味着,Windows

在一个分区,而Linux 在另外一个分区。通常你不会将 Linux 安装在你

Windows 分区的剩余空间上。将 Linux 安装在 Windows

分区上是可能的,但我们不推荐它。

如果你计划双启动(Linux 和 Windows

在同一部计算机上),首先使用 DOS/Windows 工具 FDISK 制作 Windows

分区,留一些空间给 Linux。Linux 安装程序会在安装 Linux

时找到未使用空间,那时你可以给 Linux 分区,并格式化它。

将 Windows

分区设为主分区,并且设为可启动,安装,配置,在安装 Linux 前测试你的

Windows 系统。如果你只打算运行

Linux,你只需要一块没用过的硬盘就行了。

你可以只给 Linux 一个分区(如果双启动你需要再给

Windows 一个分区)。但是给 Linux

多个分区会更好一点,这样你就可以将用户数据和操作系统分离开来。这样,如果什么地方出错,或者你不得不格式化硬盘,或重装操作系统,你就不会丢失用户的数据(如果在安装时你跳过“重新格式化”,你可以完全重装操作系统而不会丢失保存在/home目录下的数据。前提是/home必须在它自己的分区上)。

安装 Linux

时,安装程序会要求你给剩余的硬盘空间进行分区。有很多种可能的选择,取决于你的硬盘空间,要求和口味。我喜欢这样为

Linux 分区(以2G的硬盘为例):

安装点(mount point)

类型(type)

大小(size)

/

ext2

300 MB

/usr

ext2

1200 MB

/home

ext2

380 MB

swap

swap

120 MB

在上面的例子中,我给 root 分区300M空间,用来安装

Linux

操作系统。给安装点为/usr的分区1200M空间,用来存放用户的程序(不是

Linux 发行版本带的程序,而是稍后我自己装的程序,例如 StarOffice

等)。我给安装点为/home的分区380M空间,用来存放用户的设置和数据。我给操作系统120M空间用于虚拟内存(在硬盘上虚拟的内存空间,也称为交换区)。如果你的内核版本低于2。2(RedHat5.2

以前的版本),你的交换区不能大于127M。确定交换区大小的原则是:交换区应该是内存大小2倍。如果你需要更多的交换区空间(例如你的内存很大,或是你需要运行数据结构很大的用户程序),你可以将交换区设的更大一点,或是稍后在增加一个交换区文件。

2G的空间对喜欢运行很多程序的用户来说足够了(这是因为 Linux 比

Windows 下相同的程序要小的原因),但是,如果你想要安装 Linux

光碟上的所有东西,2G显然是不够的。我的经验是,不管硬盘有多大,最后总是装的满满的,而我总是后悔硬盘不够大

如果我的硬盘确实没有足够的空间,我可能会考虑两个分区的安装方式(硬盘空间小于650M):

安装点(mount point)

类型(type)

大小(size)

/

ext2

600 MB

swap

swap

50 MB

在这个例子中,我给600M空间用于安装基本操作系统,用户数据。给50M空间用于虚拟内存。50M的交换区空间对于中等规模任务的系统来说足够了。600M的空间意味着你必须要有选择的安装一些程序,否则你会面临用尽磁盘空间的危险。安装

RedHat

所带的应用程序时按,它会给你一个关于该程序的简单描述,然后你就知道你到底是否真的需要它(如果漏掉某些程序,不要担心,你可以稍后在安装)。如果你的选择比较合理,你会很容易的完成

RedHat 的安装,而且还有200M的剩余空间(假如你给 root

分区600M空间)。请注意将 root

分区和/home分区绑在一起,虽然能为你省一些空间,但却不是最安全的方案。

你也可以用比上面的例子更少的磁盘空间完成 Linux

的安装,但这会要求你更加慎重的选择应该安装什么程序。

对于更大的硬盘,我推荐如下分区方式(假如你准备给

Linux 15G空间):

安装点(mount point)

类型(type)

大小(size)

/

ext2

800 MB

/usr

ext2

5000 MB

/usr/local

ext2

3000 MB

/home

ext2

5200 MB

swap

swap

1000 MB

请注意安装点可以在另外一块硬盘上,Linux

将所有的硬盘空间整理为唯一的一棵目录树。

在老型号的计算机(486)上安装 Linux

时应注意以下问题。许多老的 BIOS

不支持启动分区在第一块硬盘的1024柱面之外。为了克服这个限制,你只要将第一个分区设为启动分区,并且小于1023柱面(这样做的结果是,/

分区只能小于512M,但这已经足够了)。只要 Linux 能够启动,BIOS

的限制就不起作用了,因为 Linux

将接手硬件的管理,它能够存取位于1024柱面之外的分区。

在 Linux 中,你的硬盘是按如下规则命名的:

had—第一个IDE硬盘(意思为“硬盘A”,例如连在第一个硬盘控制器上的主硬盘)

hdb—第二个IDE硬盘(意思为“硬盘B”,例如连在第一个硬盘控制器上的辅硬盘)

hdc—第三个IDE硬盘(意思为“硬盘C”,例如连在第二个硬盘控制器上的主硬盘)

hdd—第四个IDE硬盘(意思为“硬盘D”,例如连在第二个硬盘控制器上的辅硬盘)

数字代表着物理硬盘上的分区。

“hda1”意为第一个硬盘上的第一个分区

“hda2”意为第一个硬盘上的第二个分区

“hda3”意为第一个硬盘上的第三个分区

(如果你在第一块硬盘上有多于一个的分区,依此类推)

“hdb1”意为第二个硬盘上的第一个分区

(如果你将光驱连在第一个硬盘控制器的辅设备,就只是hdb)。

“hdc1”意为第三个硬盘上的第一个分区,等等。

SCSI 使用相似的命名规则,但却以 sd

开头,然后跟着用来表示 SCSI 接口的字母和用来表示 SCSI

设备的数字。例如:“sda4”意为第一个 SCSI

控制器上的第四个设备。如果你有一个外置的压缩硬盘连到计算机的并口上,它将会显示为“sda4”(压缩硬盘以

SCSI 仿真方式工作)。

Linux

安装程序为你列出的分区,将包括你计算机上已有的任何分区,例如,我的硬盘上有如下

Windows 分区:

mount point

type

size

comment

[no mount]

vfat

1200 MB

[“Win C drive, hda1”]

/mnt/

dos_hdd2 vfat

1600 MB

[“Win D drive, hdd2”]

如果你想要支持双启动的话,在 Linux

安装过程中不要删除这些 Windows 分区。如果你删除这些分区,就会删掉

Windows 系统。如果不是很肯定,就在安装 Linux 前先备份 Windows

系统。msdos, fat,vfat,ntfs 通常是 DOS/windows

系统使用的文件系统。

作为一个快速参考,这里是关于 Linux 分区类型的一个简单小结。我从

Linux

手册拷贝过来的。有下划线的文件系统则是你最有可能使用的文件系统。其他文件系统(没列出来)作为附加项也很容易得到。

minix—是 Minix 操作系统使用的文件系统,是 Linux

最先使用的文件系统。它有许多缺点:分区只能小于64MB,只支持短文件名,单一的时间戳,等等。在软盘和动态磁盘领域仍然有用。

ext—是对 Minix 的扩展。已完全被 ext2

取代,内核最终将不会支持它。

ext2—是 Linux

使用的,性能很好的文件系统,用于固定文件系统和可活动文件系统。它是作为

ext 文件系统的扩展而设计的。ext2 在 Linux

所支持的文件系统中,提供最好的性能(在速度和CPU

使用方面),简短的说,ext2 是 Linux 的主要文件系统。

ext3—是对 ext2 增加日志功能后的扩展。它向前,向后兼容

ext2。意为 ext2 不用丢失数据和格式化就可以转换为 ext3,ext3

也可以转换为 ext2

而不用丢失数据(只要重新安装该分区就行了)。我从2001年10月就使用

ext3,它简单且稳定。在 RedHat7.2 和 Mandrake8.0

,中作为一个选项。强烈推荐使用这种文件系统。

Xiafs—作为 Minix

文件系统的一个稳定,安全的扩展,提供基本的最常用的特点。目前已经停止开发和维护了。不太常使用。

Msdos—是 DOS,Windows 和一些 os/2

计算机使用的文件系统。文件名不能超过8个字符,然后跟一个3个字符的后缀。

Umsdos—是 Linux 使用的扩展的 DOS

文件系统。增加了长文件名支持,UID/GID,POSIX

权限,特殊文件等而依然保持和 DOS 文件系统兼容。

Vfat—是 Windows95,Windows NT 使用的扩展的 DOS

文件系统。增加长文件名支持。

Proc—是一种假的文件系统,用于和内核数据结构接口,

它不占用磁盘空间,参考 man proc。

iso9660—是一种针对ISO9660标准的 CD-ROM

文件系统。自动支持两种扩展(看下面)。

High Sierra—是ISO9660标准的前身。Linux 自动支持它。

Rock Ridge—是 Rock Ridge interchange Protocol

协议的一个产品,用于进一步向 Unix

系统描述ISO9660文件系统下的文件。另外提供诸如长文件名,UID/GID,POSIX

权限,等信息。Linux 自动支持它。

Hpfs—是OS/2使用的高性能的文件系统。在 Linux

系统中是只读的,因为缺乏相应的文档资料。

Sysv—是 SystemV/Coherent 文件系统在 Linux

上的实现。它实现了所有的 Xenix,SystemV/386,和 Coherent

文件系统。

nfs—是用于存取远方计算机硬盘的文件系统。

Smb—是支持 SMB 协议的网络文件系统,Windows

用它来实现工作组共享。要使用 SMB

文件系统,你必须有一个特殊的安装程序,你可以在 ksmbfs

软件包中找到它,也可以在这里找到:

ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/smbfs

[标准的 linux 命令"smbmount" 也能做到]

Ncpfs—是 Novell NetWare 使用的,支持 NCP

协议的网络文件系统。

Devpts—是一个虚拟的文件系统,一般安装在/dev/pts。为了得到一个虚拟终端,进程打开/dev/ptmx,然后就可使用虚拟终端。

Fat—不是一个单独的文件系统,而是 msdos, umsdos 和 vfat

文件系统的常用部分。

UFS—是一个广泛使用于各种操作系统的文件系统

Swap—是一种特殊的分区,用于在内存和硬盘间交换数据的文件系统。

Raiserfs—是 Linux

内核2.4.1以后(2001年1月)支持的,一种全新的日志文件系统。

Hfs—(=hierarchical files system)苹果文件系统。现在仍然是

beta 版本。建议不要用于重要数据,除非只读。

ntfs—Windows NT 文件系统。在 Linux

下依然是实验阶段。建议生产环境不要使用,除非是只读(截至2001年8月)。

此外,如果硬盘被 WINDOWS 分区占满, 还能缩小 Windows

分区而不用重装系统吗?

这是可能的。我的 Redhat 光碟里有个应用程序:fips.exe

就是做这个的。到你 RedHat 光碟的\dosutils\fipsdocs\

目录下寻找文档资料。如果我是你,我会在行动前先备份我的分区。也有商业软件可以改变分区大小而不用丢失数据。

我个人比较偏爱先在一个干净的分区安装

Windows,预留一些硬盘空间,不格式化,以便随后安装 Linux。Windows 和

Linux 在我硬盘中各占50%。Linux

程序虽然比较小,但却提供微软系统要花几千美元才能买到的功能。例如,telnet

服务器,ftp 服务器,http

服务器,邮件服务器,几个数据库,编程语言,图像处理程序等。