Linux中的主机规划和磁盘分区
以下内容摘自《鸟哥的私房菜》
?
在Linux系统中,每个设备都被当成一个文件来对待。比如说:IDE接口的硬盘文件的文件名是/dev/hd[a-d]。
下面列出了一些常见设备在Linux中的文件名
?
? ? ? ? ? ? ? ? ? 设备 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 设备在Linux内的文件名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?IDE硬盘/dev/hd[a-d]SCSI/SATA/USB硬盘(也就是移动硬盘??)/dev/sd[a-p]U盘/dev/sd[a-p]同上一样软驱(还有人用???)/dev/fd[0-1]打印机25针:/dev/lp[0-2]
USB:/dev/usb/lp[0-15]
鼠标USB:/dev/usb/mouse[0-15]
PS2:/dev/psaux
当前CD ROM/DVD ROM/dev/cdrom当前鼠标/dev/mouse磁带机(还有人用???)IDE:/dev/ht0
IDE:/dev/st0
?
那么下来我们来看看磁盘分区
?
1)磁盘连接的方式与设备文件名的关系
?
? ?对着上面的图就可以知道他们之间的关系
?
? ? ? Q: 为什么IDE接口的设备名只能是/dev/hd[a-d]四个呢??
?
? ? ? A:这是因为一个IDE扁平电缆可以连接两个IDE设备,通常情况下,主机又都只提供2个这样的电缆,因此最多只能连接4个IDE设备。
?
? 2)磁盘的组成
? ? ? 我们知道磁盘主要有盘片、机械手臂、磁头与主轴马达等组成,而数据的写入其实只是在盘片上。盘片上面又可以细分为扇区与柱面两种单位,其中每个扇区的大小为512bytes那么大。柱面是文件系统最小的单位,也是分区的最小单位。
?
? ? ? 一个盘片有多个扇区,但是第一个扇区特别重要,这是因为他记录了整块磁盘的重要信息。最主要的两个信息为:
? ? 1)主引导分区(Master Boot Record,MBR):可以安装引导加载程序的地方,大小为446bytes。
? ? ? ? ? MBR非常的重要,因为系统在开机的时候会主动去读取这个区域的信息,这样系统才会知道你的程序放在哪里,且该如何开机。
? ? 2)分区表(partition table):记录整块磁盘分区的状态,有64bytes。
? ? ? ? ?在分区表的64bytes容量中,总共分为四组记录区,每组记录区记录了该区段的起始于与结束的柱面号码。如下图所示:
?

?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图:磁盘分区表的作用示意图
?
?从上图我们可以得到:
? ? ? ? ? ?所谓的分区只是针对那个64bytes的分区表进行设置而已
? ? ? ? ? ?磁盘默认的分区表仅能写入四组分区信息
? ? ? ? ? ?这四组分区我们成为主分区(Primary)或扩展分区(Extended)
? ? ? ? ? ?分区最小的单位是柱面(cylinder)
?
? ? ? ?Q:
? ? ? ? ? 在上图当中,我们知道硬盘的四个分割记录区仅使用到两个,P1为主要分割,而P2则为扩展分配。请注意,?
在上图中我们可以发现,MBR的启动管理程序提供两个菜单,菜单一(M1)可以直接加载Windows的核心文件来启动; 菜单二(M2)则是将启动管理工作交给第二个分割槽的启动磁区(boot sector)。当使用者在启动的时候选择菜单二时, 那么整个启动管理工作就会交给第二分割槽的启动管理程序了。 当第二个启动管理程序启动后,该启动管理程序内(上图中)仅有一个启动菜单,因此就能够使用Linux的核心文件来启动罗。 这就是多重启动的工作情况啦!我们将上图作个总结:
那现在请你想一想,为什么人家常常说:『如果要安装多重启动, 最好先安装Windows再安装 Linux』呢?这是因为:
? ? ? ? ?Linux在安装的时候,你可以选择将启动管理程序安装在MBR或各别分割槽的启动磁区, 而且Linux的loader可以手动配置菜单(就是上图的M1, M2...),所以你可以在Linux的boot loader里面加入Windows启动的选项? ? ? ? Windows在安装的时候,他的安装程序会主动的覆盖掉MBR以及自己所在分割槽的启动磁区,你没有选择的机会, 而且他没有让我们自己选择菜单的功能。