Linux下硬盘分区基础
1 什么是硬盘分区,分区用来做什么? 分区就是硬盘的"段落"。Windows分区有自己的盘符(C:,D:等等),这些分区看起来都好像是一个独立的硬盘。最简单的情况下就是将整个硬盘作为一个唯一的分区。
如果您购买了一台已经预装了window的机器,基本上都是这种情况。如果您希望在机器上安装更多的操作系统,将需要更多的分区。您更不能在这个单独的分区里面再安装linux。不同的操作系统原则上采用不同的文件系统。如果几个操作系统都支持相同的文件系统,通常为了避免在一个分区下有相同的系统目录,也将他们安装在不同的磁盘分区
在Linux下是不同的情况,它本身又有更多的分区--比如,根分区 "/" 和交换分区"swap"。
提示:说的更清楚一点:您在安装Linux时考虑的并不是windows分区下还有多少空间,因为windows分区下的空间Linux不能使用。您需要在Windows分区外建立新的分区。
2 分区类型
硬盘分区一共有三种:主分区,扩展分区和逻辑分区。
在一块硬盘上最多只能有四个主分区。您可以另外建立一个扩展分区来代替四个主分区的其中一个,然后在扩展分区下您可以建立更多的逻辑分区。扩展分区只不过是逻辑分区的"容器"。实际上只有主分区和逻辑分区进行数据存储。
提示:Windows9x/ME下自带的分区程序fdisk只能定义一个主分区。也就是说,在Windows9x/ME下您只能定义最多一个主分区,一个扩展分区和扩展分区下更多的逻辑分区。如果你想要使用更多的主分区,必须在Linux下进行分区。 分区和格式化每个操作系统下都有自己的用来改变硬盘分区的工具,Windows9x/M下是非常有名的FDISK,在WindowsNT/2000/XP中带有一个非常方便的图形界面的工具,他的位置在不同的Windows版本下也稍微有所不同(比如在2000下控制面板―管理工具―计算机管理―磁盘管理)。在Linux下进行分区既可以使用FDISK,或者一个相同功能的图形界面程序。
每个主分区和逻辑分区都会被存储一个识别文件系统的附加信息。操作系统(Windows或者Linux等等)能通过这些信息非常容易的识别和确认,应该使用哪个分区。不能识别的操作系统分区将会被忽略。通过分区当然不能产生任何文件系统。在分区之后只是对硬盘上的磁盘空间进行了保留,还不能直接使用。在此之后分区必须要进行格式化。在Windows下可以通过资源管理器下的文件菜单或者FOMATE程序来执行,在Linux下大多数情况下由mke2fs来完成。
提示:Linux支持不同的文件系统。应用最广泛的是ext2。ext2就是有我们上面提到的mke2fs程序来建立的Linux当然也支持reiserfs文件系统
注意:进行任何磁盘分区或大小的改动工作,都会丢失以前的数据。一次在分区直前一定要对数据进行备份。
Dos/Windows下的分区名称。
在Windows下操作系统使用的分区将用盘符来表示。A:和B:为软驱保留,其他应盘上的主分区和逻辑分区将从C:开始依次排列。(扩展分区没有任何盘符,而且是看不到的。在我windowsx下同样也看不到Linux分区)
如果一台机器有很多的硬盘,光驱,软驱等,磁盘分区的命名将产生混乱。在这种情况下,第一块硬盘上的主分区和逻辑分区将首先得到命名盘符;然后是第二块,第三块等等。比如您有三块硬盘,每一快硬盘上同时又有一个主分区和两个逻辑分区,那么第一块硬盘的命名将是C:,F:,G:,第二块为D:,H:,I:,第三块为E:,J:,K:。
在WindowsNT/2000/XP下可以改变这些系统自动命名的名称。比如你可以将一个光驱命名为X,这样在添加新的分区的时候他的名称就不会改变了。
陌生文件系统的分区将不会被命名,在大多数程序里面(比如资源管理器)是看不到的。、这些分区将只能在磁盘分区工具(Windows9x/ME下的FDISK,
Win2000下的计算机管理-命令解释器)下面显示。
Linux下的分区名称
Linux下的分区命名比Windows下面将更加清晰详细,但是由此而来的名称不容易记住。不同于Windows下的盘符,Linux通常采用设备-名称(device-name)。一般的硬盘(比如IDE硬盘)将采用/dev/hdxy来命名。X表示硬盘(a是第一块硬盘,b是第二块硬盘,依次类推),y是分区的号码(从0开始,1,2,3等等)。SCSI硬盘将用/dev/sdxy来命名。
光驱(不管是IDE类型或者SCSI)将和硬盘一样来命名。
提示:IDE(集成电路设备)和SCSI(小型计算机系统接口)是两个目前最流行的连接计算机硬盘,光驱或者软驱的系统。SCSI比IDE速度要快,但是同样价钱也要贵一些。SCSI通常可以用于文件服务器和数据库服务器。Linux支持这两种系统(当然可以同时在一台机器上拥有IDE和SCSI设备)IDE硬盘和光驱设备将由内部连接来区分区定。
/dev/hda表示第一个IDE信道的第一个设备(master),
/dev/hdb表示第一个IDE信道的第二个设备(slave)。
按照这个原则,/dev/hdc和/dev/hdd为第二个IDE信道的master和slave设备。被命名为
/dev/had和/dev/hdc的两个设备在理论上是同样可以的,在这里不使用/dev/hdb。(这种情况下,设备被作为master连接在第一和
第二个IDE信道上)
SCSI硬盘或者光驱设备依赖于设备的ID号码,不考虑遗漏的ID号码。比如三个SCSI设备的ID号码分别是0,
2,5,设备名称分别是
/dev/sda,/dev/sdb,/dev/sdc。如果现在再添加一个ID号码为3的设备,那么这个设备将被以/dev/sdc来命名,ID号码为
5的设备将被称为/dev/sdd。
分区的号码不依赖于IDE或者SCSI设备的命名,号码1到4位主分区或者扩展分区保留,从5开始才
用来为逻辑分区命名。由于这个原因,经常会有号码漏洞。(比如1,2,5,6,在这里3和4就是号码漏洞)比如:第一块硬盘的主分区为hda1,扩展分区
为hda2,扩展分区下的一个逻辑分区为hda5。
下面还有一些例子帮助大家来理解
/dev/hda 表示整个IDE硬盘
/dev/hda1 表示第一块IDE硬盘的第一个主分区
/dev/hda2 表示第一块IDE硬盘的扩展分区
/dev/hda5 表示第一块IDE硬盘的第一个逻辑分区
/dev/hda8 表示第一块IDE硬盘的第四个逻辑分区
/dev/hdb 表示第二个IDE硬盘
/dev/hdb1 表示第二块IDE硬盘的第一个主分区
/dev/sda 表示第一个SCSI硬盘
/dev/sda1 表示第一个SCSI硬盘的第一个主分区
/dev/sdd3 表示第四个SCSI硬盘的第三个主分区
四、为Linux划分分区:
大家都知道,Windows下每一个分区都可利用于存放文件,而在Linux则除了存放文件的分区外,还需要一个“Swap(交换)分区”用来补充内存,因此通常需要两个分区:
1. 主分区:学习使用的话,建议2G;
2. 交换分区:只需1-2倍内存的大小,若64-128M内存,交换分区可为128M,128-256M内存,交换分区可为256M。
由于早期的Linux启动器LILO无法识别8G以外的硬盘分区,因此建议将Linux两个分区分在8G以内。
五、启动系统:
每个硬盘的逻辑第1扇区中存放着MBR(主引导记录),这里就包括了主分区和扩展
分区信息,当机器启动后,将引导交给硬盘时,就首先执行MBR上的程序,然后找到活动分区,启动操作系统。象LILO、OS
Loader等多引导工具都是通过改写MBR来实现的。因此,当大家在安装完Linux后,将LILO写在MBR上,再安装Windows9x,那么MBR就改写成为了Windows 9x的