来自《鸟哥的Linux私房菜》
http://linux.vbird.org/
这第3章《主机规划与磁盘分区》实在太重要了,学习很多。
在Linux中,每个设备都被当成一个文件来对待。
两种磁盘接口:IDE接口(扁、宽)、SATA接口(粗,主流)、
1.
IDE接口:一个IDE扁平电缆可以连接两个IDE设备,通常主机都会提供两个IDE接口
两个IDE接口:IDE1(primary)和IDE2(secondary)
每条扁平电缆上面的IDE设备分为:Master(主设备)与Slave(从设备)
IDE1-Master :
/dev/hda
IDE1-Slave :
/dev/hdb
IDE2-Master :
/dev/hdc
IDE2-Slave :
/dev/hdd
2.
SATA接口:
根据Linux内核检测到磁盘的顺序决定设备文件名,并非与实际插槽代号有关。
/dev/sd[a-p]
磁盘的第一个扇区特别重要
1.
主引导分区(Master Boot Record,MBR):可以安装引导加载程序的地方,446bytes
2.
分区表(partition table):记录整块硬盘分区的状态,64bytes
假设上面的硬盘装置文件名为/dev/hda时,那么这四个分割槽在Linux系统中的装置文件名为:
P1 : /dev/hda1
P2 : /dev/hda2
P3 : /dev/hda3
P4 : /dev/hda4
什么是分区?
1. 所谓分区只是针对那个64bytes的分区表进行设置而已。
2. 分区的最小单位是柱面。
3. 在分区表所在的64bytes容量中,总共分为四组记录区(最多四个),每组记录区记录了该区段的起始与结束的柱面号码。
这四组分区信息称为
主(Primary)或
扩展(Extended)分区(扩展分区最多只能有一个)。例如:/dev/hda1,/dev/hda2,/dev/hda3,/dev/hda4
扩展分区的想法:既然第一个扇区所在的分区表只能记录四条数据,那可否利用额外的扇区来记录更多的分区信息。
逻辑分区是由扩展分区继续分区出来的。
P1 : /dev/hda1
P2 : /dev/hda2
L1 :
/dev/hda5
L2 : /dev/hda6
L3 : /dev/hda7
L4 : /dev/hda8
L5 : /dev/hda9
注:/dev/hda3和/dev/hda4为Primary和Extended用的,所以逻辑分区的设备名由5开始
开机流程
1. BIOS:开机主动执行的韧体,读取硬盘第一个扇区的MBR位置。(BIOS是在开机的时候,计算机系统会主动执行的第一个程序)
2. MBR:加载内核文件,引导加载程序是OS在安装的时候提供的
3. 引导加载程序(Boot Loader):OS安装在MBR上面的一套软件
4. 内核文件:开始OS
Boot Loader的主要任务:
1. 提供菜单:用户可以选择不同的开机选项
2. 载入内核文件:直接指向可开机的程序区段来开始OS
3. 转交给其他Loader:将引导加载功能转交给其他Loader负责
多重引导
引导加载程序除了可以安装在MBR之外,还可以安装在每个分区的引导扇区(boot sector)。
每个分区都拥有自己的启动扇区。
为什么最好先安装Windows再安装Linux?
Linux在安装的时候,可以选择将引导加载程序安装在MBR或个别分区的启动扇区。
而Windows在安装的时候,它的安装程序会主动覆盖掉MBR以及自己所在分区的启动扇区,我们没有选择。
文件系统与目录树——挂载
挂载:就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下。也就是说,进入该目录就可以读取该分区的意思。
那个目录就是挂载点
光盘安装Linux
要点一:重启,[Del]键,进入BIOS,进入【Boot】界面,调整开机启动的顺序,调整开机设备为光盘CD-ROM,然后才是硬盘
要点二:自定义分区
1. 创建根目录的分区
挂载点:/
文件系统类型:ext3
大小(MB):10000
2. 创建/boot目录的分区
挂载点:/boot
文件系统类型:ext3
大小(MB):100
必须在硬盘的最前面,必须是/dev/hda1才行
3. 创建内存交换空间swap的分区
因为swap是内存交换空间,因此不需要挂载点
文件系统类型:swap
大小:最好为内存的1.5到2倍之间
4. 创建/home目录的分区
挂载点:/home
文件系统类型:ext3
新增这个分区后,系统自动将/dev/hda4变成Extended分区,然后把所有容量都给/dev/hda4,并将swap分配到/dev/hda5去了。
详情参看
http://linux.vbird.org/