找回密码
 注册
快捷导航
查看: 49895|回复: 8

磁盘分区与多系统引导(上)

 关闭 [复制链接] |自动提醒
阅读字号:

7297

回帖

130

积分

9万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2002-1-6
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)月全勤勋章金牌荣誉勋章(注册20年以上会员)年全勤勋章2023年全勤勋章2024
发表于 2002-5-19 03:37:33| 字数 3,054| - 中国–广东–深圳 电信 | 显示全部楼层 |阅读模式
磁盘分区与多系统引导
  
  在论坛上毛遂自荐要写一篇关于磁盘分区和多系统安装引导的文章已经很久了,但是由于自己一直不知道该如何描述,而且近来发生了很多的事情,过于忙乱,没有时间,一直拖到现在。希望大家不要见怪,同时由于我自己的水平限制,很多的地方可能描述的不周全甚至错误的地方,欢迎批评指正,大家一起讨论、进步。
  
  磁盘分区:
  我们现在常常使用的磁盘分区格式是沿用IBM-PC格式的磁盘分区。当然,现在存在着的不同于IBM-PC格式的磁盘分区,比如MAC(Apple公司的计算机)的分区格式就和IBM-PC不相同,而且不兼容。
  由于体系结构和操作系统的不相同,各种计算机对于磁盘的称呼也是不相同,我们这里主要使用i386架构,并主要使用Linux和windows(在某些必要的时候使用FreeBSD术语)中的术语描述磁盘以及其分区结构。
  普通计算机(IBM-PC,下同)上有一个IDE控制器,该控制器控制两个IDE通道,称为Primary IDE和Secondary IDE,但是一个IDE通道上又可以挂接两个IDE设备,称为Master device和Slave device,这些设备可以是CDROM,DVDROM,Hard Disk等等。
  IBM计算机格式的磁盘上一共可以分割为4个主分区或者扩展分区,这些记录存放在硬盘的MBR(Master Boot Record,主引导记录)中。对于主分区,Linux和windows是直接建立文件系统并使用,其他的操作系统可以在上面再建立分区,比如FreeBSD。扩展分区是不能直接被使用的,一般需要在扩展分区上建立逻辑盘,然后使用。由于磁盘上可以有4个主分区,因此在扩展分区上建立的逻辑盘的盘符是从5开始的。
  
通常,在Linux中,我们称呼IDE设备为hdx,x一般是a,b,c,d中的一个字母。其中:
  hda  ==>  Primary IDE Master Device
  hdb  ==>  Primary IDE Slave Device
  hdc  ==>  Secondary IDE Master Device
  hdd  ==>  Secondary IDE Slave Device  
  在Linux中,我们把硬盘分区标识为设备号+磁盘分区号,如hda1,hdc2等等。Linux可以安装在主分区上和扩展分区上。
Linux在以前的版本中,大多数都使用ext2的文件系统(其文件分区格式化号为0x83),ext2基本上是Linux的一个标准。但是随着技术的进步,现在出现了更新的,功能更强大的日志文件系统,其中,现在比较流行的有ext3、reserfs、xfs、jfs等等。除了文件系统以外,Linux还使用交换分区,其分区的格式号为0x82,但现在有两种版本的交换分区格式,后者向前兼容。
Linux下的ext2文件系统被FreeBSD支持,并且有在Windows下读取ext2文件系统的工具。但是,日志文件系统提供了更强大的功能和更好的安全措施,安装Linux的时候的文件系统选择还是应该根据需要进行。
  
  FreeBSD只能使用整个硬盘或者主分区,分区的格式号为0xa5,FreeBSD把一个主分区称为Slace,并其对其进行分割,分割出来的磁盘分区称为disk。FreeBSD使用的文件系统是FFS(快速文件系统。)
FreeBSD也是使用设备号+磁盘分区号+disk编号来表示一个磁盘分区。如ad0s1a其中,ad0是Primary IDE通道的Master磁盘。s1是Slace 1,第一个主分区,a是该slace上的第一个disk。  
FreBSD的文件系统FFS从UNIX文件系统UFS演化而来,标准的USF被Linux支持,但是对于FFS,Linux提供只读支持。Windows不支持FreeBSD的分区格式,当然也不支持FreeBSD的文件系统。
  
Windows对于硬盘的称呼随着版本的变化而变化,在早期的windows中,对于磁盘的编号规则是这样的,对于启动的磁盘分区为C:,然后是该硬盘上的主分区,然后是其他硬盘上的主分区,然后是启动硬盘上的逻辑盘,最后是其他硬盘上的逻辑盘,并且盘符号不能更改。在win2000以后的版本中,对于磁盘的编号是固定的,可以使用磁盘管理工具修改,因此,你可以任意的更改你的磁盘的编号。
Windows使用的文件系统有很多,包括fat12(软盘),fat16(早期的磁盘分区格式,只支持8.3格式文件名,有2047M空间的限制),fat32(支持长文件名和大硬盘),ntfs4.0(NT4使用),ntfs5.0(windows2000和windowsXP使用)。虽然windows提供了很多种的文件系统,但是由于使用和多系统支持的原因只建议使用fat32。
Linux提供了对于fat文件系统读写的支持,而对NTFS提供只读支持,FreeBSD也是一样。考虑文件系统的兼容,如果你需要在同一台计算机上安装Windows和Linux或者FreeBSD,建议使用fat32。
  
  具体的分区和安装顺序建议:
  首先分一个主分区安装windows,原因如下,通常,安装Windows的时候,win98和win2000的一些版本会把MBR清空,但是win98不使用任何引导程序,win2000使用的引导程序不在MBR中。为什么windows要清空MBR,原因就不得而知了。
  如果你需要安装FreeBSD,可以再分一个主分区安装FreeBSD,之所以先安装FreeBSD,是因为如果你需要同时在一个硬盘上安装windows,freebsd和Linux的时候,需要考虑主分区的问题,只有先安装FreeBSD,后安装Linux,才能保证扩展分区上的交换空间和Linux的组分区是相邻的,这样可以提供系统效率。
  由于以上原因,在安装FreeBSD以后,建立一个主分区安装Linux,并且建立一个扩展分区,并把第一个逻辑盘作为Linux的交换分区。剩下的逻辑盘可以根据需要划分。
  
  如果你不需要安装FreeSBSD,那么就直接在安装完windows之后,直接建立两个主分区,一个作为Linux系统分区,一个作为Linux交换分区就可以了,剩下的磁盘建立一个扩展分区,在上面就可以随意划分逻辑盘了,而且,如果你需要安装第二套Linuxd的话,你的第二套Linux也可以安装在第一逻辑盘上。
  
  多系统引导:
  有几种常见的系统引导程序,比如GRUB 、LILO、NTLoader,FreeBSD的loader等等都可以完成多系统的引导。
  
To be continued

219

回帖

0

积分

67

资产值

入门会员 Rank: 1

注册时间
2002-5-13
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2002-5-19 05:49:41| 字数 19| - 中国–广东–深圳 电信 | 显示全部楼层

Re:磁盘分区与多系统引导(上)

专业性较强,太难了,读起来仍比较吃力。
X24 F1C  // T40 BC1 //T42 KC4// X60/ / X61//  X220// T440
回复 支持 反对

使用道具 举报

1953

回帖

59

积分

2824

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2001-11-27
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2002-5-19 06:36:09| 字数 10| - 中国–广东–深圳 电信 | 显示全部楼层

Re:磁盘分区与多系统引导(上)

写的不错!加油加油~
"Recondition your battery by letting your battery run to less than 3% at least once a month.
Reconditioning the battery can restore some of your battery capacity." --IBM
回复 支持 反对

使用道具 举报

1074

回帖

36

积分

1万

资产值

高级会员 Rank: 2Rank: 2

注册时间
2002-1-13
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2002-5-19 09:57:14| 字数 283| - 中国–广东–深圳 电信 | 显示全部楼层

Re:磁盘分区与多系统引导(上)

说一句,Linux可以完全安装在扩展分区里,呵呵
另外Linux分区跟Linux swap分区相邻不相邻无所谓
  
各种BSD系统,Solaris for X86系统等必须要主分区
  
另外各种系统并不是只占用一个分区,如果做服务器的话出于各种考虑
一般把磁盘分为很多分区,并全部提供给系统使用
  
比如Linux的话一般下面的目录最好单独分区
/
/var
/usr
/tmp
另外下面的也可以考虑
/usr/local
/home
也有把/boot单独分出来的
其他的看需要
比如提供www服务的话可以单独分个/var/www
提供ftp的话单独分/var/ftp等,还有mail等
  
当然有多个磁盘的话就不用再分了
IBM ThinkPad T21 2647-6AU PIII750/512M/80G/13.3XGA/DVD/XP Corp&Linux
忆长安,八月时,阙下天高旧仪。衣冠共颁金镜,犀象对舞丹墀。更爱终南灞上,可怜秋草碧滋。
回复 支持 反对

使用道具 举报

7297

回帖

130

积分

9万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2002-1-6
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)月全勤勋章金牌荣誉勋章(注册20年以上会员)年全勤勋章2023年全勤勋章2024
 楼主| 发表于 2002-5-19 13:53:43| 字数 196| - 中国–广东–深圳 电信 | 显示全部楼层

Re:磁盘分区与多系统引导(上)

两个问题,
1   交换分区和根分区相邻考虑的是如果使用交换分区的时候,需要磁头的快速移动定位问题。
2   大多数时候,安装服务器还是网管的事情。笔记本上,我只见过一个人分了两个分区给Linux。
  
他的硬盘是这样的,20G的硬盘,hda1是6g给Windows,hda2也是6G,安装Linux,然后剩下的空间给home分区,使用512M内存。然后在vmware上运行windows。
  
呵呵,很好玩的使用方式。
以缘起性空克制贪婪与恐惧。   --20250901
回复 支持 反对

使用道具 举报

97

回帖

5

积分

87

资产值

高级会员 Rank: 2Rank: 2

注册时间
2002-2-20
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2002-5-19 14:15:08| 字数 212| - 中国–广东–深圳 电信 | 显示全部楼层

Re:磁盘分区与多系统引导(上)

请教sice:
曾记得网上有文章论及swap分区的位置,并建议将swap设立在硬盘边缘(因为外缘的转速最快),由此可以更快的数据交换速度。
不知道这是否有道理?
如果真有道理,那么将swap这在硬盘分区具体什么位置呢?(我曾将想当然地将swap设在硬盘最后一个分区,是这样么?)
另外,我每次使用linux都会看到硬盘不时地狂转不已(心痛啊),但是windows环境下,肯定不会这样。是不是linux下硬盘还需进一步作优化?
如何做?
240Z C500 128M 3G Debian Sarge T23 P3-1.13G 256M 30G Debian-Sarge A31 P4-1.7G 640M 40G WinXP-en
回复 支持 反对

使用道具 举报

1953

回帖

59

积分

2824

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2001-11-27
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2002-5-19 15:45:45| 字数 352| - 中国–广东–深圳 电信 | 显示全部楼层

回复: Re:磁盘分区与多系统引导(上)

QUOTE:
King wrote:
说一句,Linux可以完全安装在扩展分区里,呵呵
另外Linux分区跟Linux swap分区相邻不相邻无所谓
  
各种BSD系统,Solaris for X86系统等必须要主分区
  
另外各种系统并不是只占用一个分区,如果做服务器的话出于各种考虑
一般把磁盘分为很多分区,并全部提供给系统使用
  
比如Linux的话一般下面的目录最好单独分区
/
/var
/usr
/tmp
另外下面的也可以考虑
/usr/local
/home
也有把/boot单独分出来的
其他的看需要
比如提供www服务的话可以单独分个/var/www
提供ftp的话单独分/var/ftp等,还有mail等
  
当然有多个磁盘的话就不用再分了

写的没错,而且SWAP最好分区靠前一些;更详细的分区其实主要是安全考虑了,毕竟linux是服务器操作系统。
回复 支持 反对

使用道具 举报

7297

回帖

130

积分

9万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2002-1-6
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)月全勤勋章金牌荣誉勋章(注册20年以上会员)年全勤勋章2023年全勤勋章2024
 楼主| 发表于 2002-5-20 01:10:16| 字数 625| - 中国–广东–深圳 电信 | 显示全部楼层

回复: Re:磁盘分区与多系统引导(上)

QUOTE:
antoine wrote:
请教sice:
曾记得网上有文章论及swap分区的位置,并建议将swap设立在硬盘边缘(因为外缘的转速最快),由此可以更快的数据交换速度。
不知道这是否有道理?
如果真有道理,那么将swap这在硬盘分区具体什么位置呢?(我曾将想当然地将swap设在硬盘最后一个分区,是这样么?)
另外,我每次使用linux都会看到硬盘不时地狂转不已(心痛啊),但是windows环境下,肯定不会这样。是不是linux下硬盘还需进一步作优化?
如何做?

  
把swap分配在硬盘的边缘是考虑硬盘边缘的线速度大,可能有一定的道理,但是对于不同的磁盘来说是不同的,有的磁盘是严格安装CHS划分的,每个柱面的扇区是一样多的,线速度增大没有任何用,因为它使用角速度。有的磁盘使用不等的扇区划分,这个时候使用磁盘边缘来加速磁盘访问是有用的。
  
其实考虑把交换分区分在磁盘边缘还有另外一个原因,就是如果你的内存小的话,交换分区会经常使用,因此交换分区坏的快!!分在边缘的时候,坏了不会影响里面的数据。
  
我建议分区的时候和根分区的位置相邻,目的是为了减少磁头从根分区到交换分区来回移动的时间。
  
使用Linux的时候应该多点内存,特别是使用Xwindows的时候,最好在top的时候看见交换分区根本没有使用,这个时候系统的运行效率是最高的。毕竟,虚拟的内存还是没有真正的内存快,哪怕你的磁盘是15000转的SCSI。况且大家使用的都是4500活着5400转的IDE磁盘。
回复 支持 反对

使用道具 举报

1127

回帖

14

积分

786

资产值

黄金会员 Rank: 3Rank: 3Rank: 3

注册时间
2002-1-12
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2002-6-20 16:53:43| 字数 93| - 中国–广东–深圳 电信 | 显示全部楼层

Re:磁盘分区与多系统引导(上)

我安装Linux 7.3的时候遇到一个问题,无论怎样安装LILO和GRUB,总是无法从硬盘启动,只能从软盘启动,检查LILO和GRUB的参数是没有问题的,请问大家是否知道什么原因?
谢谢~!
Toshiba 4030 cdt......, IBM T23;现在HP-NC4200;Lenovo ThinkPad X61
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2025-9-21 03:53 , Processed in 0.104483 second(s), 39 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|在线留言|专门网

返回顶部