鸟哥Linux私房菜读书笔记1:Linux磁盘分区

设备与对应的文件名:

     Linux将所有设备视为文件,这让用惯Windows的用户还真有些不适应,上哪儿找C/D/E盘咧? 只要记住各硬件设备在Linux中对应的文件名就话,找到C盘啊U盘啊就很方便啦。

                

                                        设备                                        文件名

                               =====================================================

                                  IDE硬盘                                    /dev/hd[a-d]

                                  SCSI/SATA/USB硬盘                   /dev/sd[a-p]

                                  U盘                                          /dev/sd[a-p](与SATA相同)

                                  鼠标                                         USB: /dev/usb/mouse[0-15]          PS2: /dev/psaux

                                  当前鼠标                                   /dev/mouse

                                  当前CD ROM/DVD ROM               /dev/cdrom

                               

        更多Linux内核支持的设备与文件名可查询https://www.kernel.org/pub/linux/docs/lanana/device-list/devices.txt-3June2001

 

IDE/SATA:

        常见的计算机硬盘接口有IDE和SATA两种。

        主机会提供两个IDE接口,各接一条IDE扁平电缆(primary/secondary),而每条IDE扁平电缆可以连接两个IDE设备(Master/Slave),主机最多可以连接四个IDE设备(能连接到IDE接口的设备都叫IDE设备,不管是磁盘还是光盘设备),这四个设备的文件名是固定的,和设备所处位置有着密切的关系,比如将同一个磁盘接在IDE1的Master上和IDE2的Slave上对应的文件名就是不一样的:

        

                            IDE1 Master:  /dev/hda                               IDE1 Slave:    /dev/hdb

                            IDE2 Master:    /dev/hdc                               IDE2 Slave:    /dev/hdd

 

        对于SATA接口,与IDE比较明显的不同的是无序,这时候就得根据Linux内核检测到磁盘的顺序了。比如你的PC上有两个SATA磁盘和一个USB磁盘,而主板上有6个SATA接口,将两个SATA磁盘分别插在主板上的SATA1和SATA6的插槽上,这时这三个设备的文件名分别是:

        

                            SATA1:          /dev/sda

                            SATA6:          /dev/sdb

                            USB磁盘:      /dev/sdc

 

        USB磁盘之所以排在最后是因为开机完成后才会被检测到。注意,当使用的SATA插槽不相连时,设备文件名仍然是相连的,不会受到影响。

 

磁盘分区表(partition table):

       说到磁盘分区表,首先要了解磁盘的组成,磁盘由盘片、机械手臂、磁头与主轴马达所组成,而数据的写入是在盘片上面。盘片上面又可细分出扇区和柱面两种单位。重点来了,扇区中的第一个扇区特别重要,它记录了整块磁盘的重要的信息:

 

                            主引导分区(Master Boot Record, MBR):可以安装引导加载程序的地方, 有446bytes;

                            分区表(patition table):记录整块硬盘分区的状态,有64bytes;

                            

        分区表呢,顾名思义,就是用来放置分区信息的一个表,其实我们所谓的分区,也就是对这个分区表进行设置的过程。大家都知道,我们的硬盘默认可分出最多4个主分区,或者以主分区+扩展分区的形式进行分区设置(分区的最小单位为柱面)。这里引入鸟哥私房菜的插图:

 

        上图就是四个主分区的情况,P1/2/3/4分别指向第1(/dev/hda1)、2(/dev/hda2)、3(/dev/hda3)、4(/dev/hda4)分区。那么对于主分区(primary)+扩展分区(extended)的情况呢,比如我们有一个主分区,另外一个扩展分区,在扩展分区中分出四个逻辑分区,这样的情况下,P1仍会指向第一个分区(/dev/hda1),而P2会指向扩展分区(/dev/hda2),重点来了,扩展分区记录区,其作用类似于分区表,用来记录逻辑分区的分区信息。类似于P1/2/3/4,用L来表示扩展分区中的分区信息,因为有四个逻辑分区,所以我们会有L1~L4,分别指向第1、2、3、4个逻辑分区,注意,前四个分区是保留给primary和extended用的,所以L1所指向的是/dev/hda5,L2对应的是/dev/hda6, L3对应的是/dev/hda7,L4对应的是/dev/hda8。

        逻辑分区的数量依操作系统而不同, Linux系统中,IDE硬盘最多有59个逻辑分区(5~63号),SATA则有11个逻辑分区(5~15号)。

 

开机流程:

        计算机从我们按下开机键以后会执行一系列的步骤,大体是这么个顺序,BIOS->MBR->Boot loader->Kernal。

        BIOS会找到第一个可以的设备,该设备的第一个扇区内的主引导分区块就是MBR啦, Boot loader是MBR上面的一套软件,有着“提供菜单”、“载入内存文件”和“转交其他loader”的作用。

        提供菜单就是提供不同的开机选项,比如双系统开机是会显示相应额系统让用户选择。而“转交其他loader”也是体现在多系统上,如图:

         注意:loader只会认识自己的系统分区内的可开机内核文件,以及其他loader而已。

 

目录树结构:

 

        如图所示,所有的你都是由根目录衍生出来的,而次目录下能够有其他的数据存在。但是如何结合目录树的架构与磁盘内的数据呢,就要说到挂载啦,挂载就是利用一个目录当作进入点,将磁盘分区的数据放置在该目录下。也就是进入该目录就可以读取该分区的意思。

 

主机硬盘的主要规划:

        懒人分区法: 仅分出根目录与内存交换空间(/ & Sway)。

        稍微麻烦一点的方式:先分析这台主机的未来用途,然后根据用途去分析需要大容量的目录,以及读写较为频繁的目录,将这些重要的目录分别独立出来。

posted @ 2013-07-06 20:35  geeky_jane  Views(460)  Comments(0Edit  收藏  举报