鸟哥的 Linux 私房菜
Linux 基础篇 | Linux 服务器篇 | Linux 企业应用篇 | 安全管理
     
 
一个简单的 SPFdisk 分割实例
最近更新日期:2005/06/12
磁碟分割是个很重要的学习知识!尤其是在您原本的硬碟空间不足了,或者是新增硬碟了, 或者是为了增加磁碟效能而必须要规划出比较适当大小的磁碟空间等等。 市面上很多工具可以让我们来进行磁碟的分割的,不过,都需要钱~ 当然,您也可以使用 Linux 的 fdisk 程序,不过,纯文字介面的方式,可能您也不容易学~ 相较之下,由台湾人自行开发的 spfdisk (special fdisk) 程序,不但纯中文介面, 使用图形介面的显示,耗用的系统资源又少!还可以作为开机管理程序!太完美了!赶紧来看看!


大标题的图示什么是硬碟分割(Partition)
在开始进行 Linux 之前,应该有很多的工作要做的!最重要的就如同前面‘Linux 主机规划’当中说的,要如何规划硬碟呢?!到底要如何分割硬碟才好!是要将 swap (虚拟记忆体)规划的大一点比较好?或者是只要一个根目录就可以了呢?另外,如果我的硬碟上面已经有 Windows 系统,我又不想要将 Windows 杀掉,想使用多重开机来安装我的多个作业系统,那要怎么做呢?!况且,由于 DOS 的 fdisk 不认识 Linux 的文件格式,那么我要如何将 Linux 完全的从我的硬碟中移除呢?!呵呵! 这里就来说一下该如何是好吧!

由于不同的作业系统所使用的文件系统架构(file system)并不相同,有些甚至是不相容的,例如 Windows 所使用的是 FAT 表,而 Linux 所使用的是 ext2 这个文件格式,这两种格式完全不相同,在 Linux 底下还可以藉由编辑核心来支援 Windows 的 FAT 文件格式,但是 Windows 则完全无法读取 Linux 的文件格式了!此外, Windows 使用的磁碟分割工具 fdisk ,很抱歉的,并不认识 Linux 的 ext2 这个文件格式,所以如果您有一棵已经安装有 Linux 系统的硬碟,呵呵,使用 Windows 的 fdisk 是完全无法分割这块硬碟的!

那么到底什么是硬碟分割呢?真的要将硬碟用刀子割一割吗?!不是这样的,实际上,硬碟是以 sectors(磁区), cylinder(磁柱), partitions(分割槽) 这些东西来作为储存的单位,而最底层的实体硬碟单位就是 sectors 了,通常一个 sector 大约是 512 bytes 左右。不过,在磁碟进行格式化的时候,可以将数个 sector 格式化成为一个逻辑磁区(logical block),通称为 block。blocks 为一个文件系统(filesystem)存取的最小量。 那么 partition 是什么?简单的来说,你知道你的 Windows 有所谓的 C:, D: 是吧!其实他们是同一颗硬碟,只是利用‘磁碟分割表’(partition table)来将实体的硬碟规划出不同的区块。

举个例子说,假设你的硬碟总共有 1024 个 cylinder (利用 blocks 结合而成的硬碟计算单位), 那么你在这块硬碟的档头地方 (就是磁碟分割表,可以想成要读取一块硬碟时最先读取的地方)如果写入你的 partitions 共有两块,一块是 primary 一块是 extended ,而且 extended 也只规划成一个 logical ,那么你的硬碟就是只有两个槽啦(对于系统来说,真正能使用的有 Primary 与 Logical 的磁区, Extended 并无法直接使用的!需要再加以规划成为 Logical 才行! ) ,而且在 partition table 也会记录 primary 是由‘第 n1 个 cylinder 到第 n2 个 cylinder ’,所以啰,这样子一来,当系统要去读取 primary (就是 c 槽)的时后,就只会在!n1~n2 之间的实体硬碟当中活动啰!

基本上, Windows 98 系统中的 Fdisk 这支程序仅支援一个 primary 与一个 extended ,其中, extended 可以再细分成多个 logical 的硬碟槽。NT 很抱歉,小弟不熟,所以就不提了!那么 Linux 呢?嗯!基本上最多可以有 4 个 primary 的硬碟,而可以支援到 3 个 primary 与一个 extended ,其中, extended 若再细分成 logical 的话,则全部 primary + extended + logical 应该可以支援到 64 个之多。底下我们将以 spfdisk 这个全中文介面的 fdisk 磁碟分割工具来介绍如何分割硬碟!(注:更多详细的磁碟与磁碟分割资讯,可以参考 SPFdisk 的官方网站喔! 在最底下的参考资料当中有提供连结呢!)

大标题的图示硬碟分割 ==> SPFdisk
SPFdisk 是一套由国人开发完成的全中文介面的硬碟分割工具,他要比微软出的 Fdisk 功能强多了, 他的好处有:
  • 全中文介面让你一定可以看的懂之外,简单的类图形介面可以让你轻易的进行硬碟分割;
  • 除此之外,这套软件的‘DOS工具’内的‘格式化工具’格式化硬碟的速度真是 DOS 比不上的, 我格式化一个 30GB 的硬碟不用十秒就可以格式化完全!
另外,其他的优点我在此也不多说了,若有需要你可以自行自一些搜寻网站下载最新的程序, 或从 这里 下载鸟哥有的程序,不过可能旧一点。

另外,由于 DOS 的 Fdisk 并不认识 Linux 的分割表,所以用 DOS 的 Fdisk 是无法将 Linux 的分割表去除的。因此,你要删除 Linux 的分割表,只有两个比较快的方法,一个是以 Linux 直接再分割,一个则是使用 SPfdisk 分割啦!
Tips:
由于您正在阅读的这个页面的影像文件很大,有时候会有没办法显示的情况发生, 这时请在画面上‘按滑鼠右键’,再选择‘显示图片’这个选项,即可显示画面啦!
鸟哥的图示
硬碟分割主要可分为下面几个步骤:
  1. 将旧有的分割表删除
  2. 建立新的主分割及扩充分割(若有需要的话)
  3. 贮存分割表
  4. 以 DOS 工具格式化已分割的硬碟

小标题的图示1. 删除原有的分割:
假设你的主机中没有任何系统存在,则请以 Windows98 制作开机片后,将 spfdisk 拷贝至开机片。以此磁片开机之后,执行:
A:\>spfdisk
会出现如下欢迎画面。


按任意键后出现下面画面:


以方向键移动游标至‘硬碟分割工具’按 Enter 键后会出现画面如下:


这是向你询问是否需要使用 FAT32 的文件系统,由于 Windows 98 支援的长档名及相关的文件型态是以 FAT32 为准,所以当然按 ‘Y’!按了 Y 之后会出现硬碟的资讯,如下所示:


因为我是在我原有的机器上执行这个程序,所以会有两颗硬碟,如果你的系统只有一颗硬碟的话, 则只会显示你有的硬碟资料,在上图中,1.19GB 的硬碟其总磁柱仅有 621 单位,比可开机磁区范围(0 ~ 1023)小得多,所以可以随意分割。将游标以方向键移动至 1.19GB 这颗硬碟后,按 Enter :


因为这颗硬碟之前被我灌过 Linux ,所以会显示 Linux 的磁区划分情况。上面的意义为:
  • 启动:由于系统开机时会去先去找分割表, 由分割表所设定的‘可开机磁区’进行开机程序, 因此若这个磁区为开机磁区,则‘启动’项目会有一个心型的符号存在!
  • 起始磁柱与结束磁柱:这一个被分割的磁区的开始与结束磁区。
  • MBytes:这个磁区的硬碟容量。
  • 系统 ID 与系统种类:这一个分割表的类型。因为这是 Linux 的分割类型,所以其 ID 显示为 83,若是 FAT32 的话,则为 0b。
将游标以方向键移动至这个磁区后,按 Enter :


在这个画面中,将游标以方向键移动至‘删除分割’这个项目,并按下 Enter :


出现此画面后,确定要删除这个分割就按‘[Y]是’这个项目。


删除分割之后你的硬碟中就没有分割表的存在了,所以这个硬碟的系统种类则变成了 未规划

小标题的图示2. 建立主要分割磁区:
在上面的画面中,按下 Enter 键,会出现下面画面。


由于这一颗硬碟的分割表被删除了,所以‘系统ID’与‘删除分割’被取消了。这时按下‘建立分割’会出现如下画面:


然后选择‘建立主分割’,那何谓主分割与扩充分割呢?所谓的主分割在 windows 系统下即是 ‘C槽’ 啦! 但是扩充分割并非‘逻辑分割’,这里要注意一下, 所谓的‘逻辑分割’是包含在扩充分割中的,例如当你的扩充分割共有 10GB 但是你想将之分为两槽,则可以使用逻辑分割将扩充分割分为两槽, 这两槽即称为‘逻辑分割’。所以这里要注意啦,建立扩充分割的时候就要选择‘配置整个区域’啦! 好!下一步按下‘建立主分割’:


这里会问你是否要将整个硬碟分割为仅有一个磁碟区?由于我们要将硬碟分为两槽, 所以这里当然选择‘[N]否’啦!


由于你选择了‘不要配置整个区域为一块磁区’,所以这时程序要你输入你所需要的磁区。 通常在第一步是输入‘启始磁柱’,这时只要按 Enter 就可以啦,然后会要你输入‘结束磁柱’, 结束磁柱的输入方法有两种模式,一种是输入磁柱区,一种是输入你所需要的 MB 数,通常我是输入 MB 数啦,例如如上所示,我所需要的空间大小是 600MB , 所以输入‘+600’即可,而如果你的硬碟很大,你要输入 4GB 时,则需要输入 ‘+4000’,以此类推!输入‘+600’并按 Enter 之后出现如下画面。


这时出现了你刚刚划分的硬碟资讯啦,由于我们是划分为 DOS 分割区,所以系统种类是 FAT-32 ,而 ID 则为 0b 。至于另外尚未划分的就会显示为 <未规划> 啦!如果你还需要再继续划分的话,这时将游标移动至 <未规划> 的那一个磁区按 Enter 后选择‘扩充分割’即可继续划分。如果划分完毕之后, 当然就是贮存分割表啰。这里注意一下,因为刚刚的动作均尚未完成贮存的工作,所以要反悔还来得及!

小标题的图示3. 贮存分割表:
接下来要做贮存的动作了,按下‘Esc’键 (键盘左上角那个键)后会出现如下画面:


按‘[Y]是’,将刚分割好的分割表贮存至硬碟中! 然后出现如下画面:










这里的动作是连续的:
  1. 程序会先跟你确认你的硬碟有没有错误,这里还可以反悔。
  2. 然后程序会问你是否需要使用破坏贮存,一般来说是需要使用‘破坏贮存’的, 因为需要将你的硬碟划分完全啦!所以要按 [Y];
  3. 为了可以让你以后回复分割情况,所以你可以选择 ‘建立 UNDO’档,所谓的 UNDO 档即是记录你之前硬碟分割表资讯的文件啦。
这样一来你的硬碟就划分完毕而且贮存啦!这时要做的就是重新开机并格式化硬碟。格式化硬碟可以使用 DOS 的 Format ,当然也可以使用 spfdisk 的内建功能喔!

小标题的图示4. 格式化硬碟:
再进入刚刚你划分完毕的那个硬碟区,按下 Enter 之后会出现一串选单,然后最下方的选单为 ‘DOS 工具’,选择这一项并按 Enter 后,会出现另一个选单:


在这个次选单中的第二项即是快速格式化,这个格式化的动作非常的快喔!比 DOS 的格式化快多了!不过,这里也必须指出一个问题,那就是若你的硬碟有坏轨的话,那最好还是使用 DOS 的 format 比较完整一点。


大标题的图示参考资料
  • SPFdisk http://spfdisk.sourceforge.net/
    事实上, SFPdisk 能作的事情还很多,包括最为人所熟知的 boot loader 的应用! 建议您一定要到 SPFdisk 的官方网站上面瞧一瞧喔! ^_^

2002/04/09:第一次完成吧?
2003/02/03:重新编排
2005/06/12:将旧文移动到 这里 。并且约略编排了一下版面!
2005/07/18:原本文章当中的 cluster 为错误的,应该是 cylinder 才对~



 
     
中国存储网 ChinaStor.com排版整理
原文作者鸟哥,主页,更多Linux学习资料在线看:Linux系统管理员手册 - Linux命令大全 - Linux调用大全- Linux专栏 - 国产Linux