鸟哥的Linux私房菜学习笔记《第2章 主机规划与磁盘分区》

    Linux对于计算机各组件或设备的识别,与大家常用的Windows系统完全不一样。因为,各个组件或设备在Linux下面都是一个文件。
    再次强调,在Linux系统中,每个设备都被当成一个文件来对待。
    正常的物理机器大概使用的都是 /dev/sd[a-p] 的磁盘文件名,至于虚拟机环境中,为了加速,可能就会使用 /dev/vd[a-p] 这种设备文件名。
    对于SATA接口来说,设备文件名是根据Linux 内核检测到磁盘的顺序来命名的。
    碟片上面又可细分出扇区(Sector)与磁道(Track)两种单位,其中扇区的物理大小设计有两种,分别是512字节与4K字节。

    MBR(MS-DOS)分区表,第一个扇区的512字节主要会有这两个东西:
        1,主引导记录(Master Boot Record,MBR):可以安装启动引导程序的地方,有446字节;
        2,分区表(partition table):记录整块硬盘分区的状态,有64字节。
        由于分区表所在区块仅有64字节容量,因此最多仅能有四组记录区,每组记录区记录了该区段的启始与结束的柱面号码。

    关于分区表的重要信息:
        1,所谓的分区只是针对那个64字节的分区表进行设置而已。 
        2,硬盘默认的分区表仅能写入四组分区信息。
        3,这四组划分信息我们称为主要(Primary)或扩展(Extended)分区;
        4,分区的最小单位通常为柱面(Cylinder)。
        5,当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理。

    扩展分区的目的是使用额外的扇区来记录分区信息,扩展分区本身并不能被拿来格式化,逻辑分区可以。
    逻辑分区的设备名称号码就是5号开始(如:/dev/sda5),前4个都是保留给主要分区和扩展分区了。
    因为1-4号是保留给主要/扩展分区的,因此第一个逻辑分区一定是由5号开始的,所以 /dev/sdb3 、 /dev/sdb4 就会被保留下来。

    MBR主要分区、扩展分区与逻辑分区的特性定义:
        1,主要分区与扩展分区最多可以有4个(硬盘的限制);
        2,扩展分区最多只能有1个(操作系统的限制);
        3,逻辑分区是由扩展分区持续划分出来的分区
        4,能够被格式化后作为数据存取的分区是主要分区与逻辑分区,扩展分区无法格式化。
        5,逻辑分区的数量依操作系统不同而不同,在Linux系统中SATA硬盘已经可以突破63个以上的分区限制。

    MBR分区表的限制中经常可以发现如下问题:
        1,操作系统无法使用2.2TB以上的磁盘容量;
        2,MBR仅有一个区块,若被破坏后,经常无法或很难恢复;
        3,MBR内存放启动引导程序的区块仅446字节,无法存储较多的程序代码;

    如果扩展分区被破坏,所有逻辑分区将会被删除。

    GPT(GUID Partition Table)硬盘分区表,每个LBA都可以记录4组分区记录,所以在默认的情况下,总共可以有4X32=128组分区记录,GPT在每组记录中分别提供了64位来记载开始/结束的扇区号码。现在GPT分区默认可以提供多达128组记录,而在Linux本身的内核设备记录中,针对单一磁盘来说,虽然过去最多只能到达15个分区,不过由于Linux内核通过UDEV等方式的处理,现在Linux也已经没有这个限制了。此外,GPT分区已经没有所谓的主、扩展、逻辑分区的概念,既然每组记录都可以独立存在,当然每个都可以视为主要分区,每一个分区都可以拿来格式化使用。

    BIOS搭配MBR/GPT的启动流程
        CMOS是记录各项硬件参数且嵌入在主板上面的存储器,BIOS则是一个写入到主板上的一个固件(固件就是写入到硬件上的软件程序)。这个BIOS就是在启动的时候,计算机系统会主动执行的第一个程序,会读取CMOS上存储的信息。
        
        启动流程到操作系统之前的过程是:
            1,BIOS:启动主动执行的固件,会认识第一个可启动的设备。
            2,MBR:第一个可启动设备的第一个扇区内主引导记录块,内含启动引导代码;
            3,启动引导程序(Boot loader):一个可读取内核文件来执行的软件;
            4,内核文件:开始启动操作系统;
        
        Boot loader 的主要任务有:
            1,提供选项:用户可以选择不同的启动选项,这也是多重引导的重要功能;
            2,加载内核文件:直接指向可使用的程序区段来启动操作系统;
            3,转交其他启动引导程序:将启管理功能转交给其他启动引导程序负责。
        
        启动引导程序除了可以安装在MBR,还可以安装在每个分区的启动扇区,这个特性造就“多重引导”的功能。

        多重引导的总结:
            1,每个分区都拥有自己的启动扇区;
            2,图中的系统分区为第一及第二分区;
            3,实际可启动的内核文件是旋转到各分区中的;
            4,启动引导程序只会认识自己的系统分区内的可启动的内核文件,以及其他启动引导程序而已;
            5,启动引导程序可直接指向或是间接将管理权转交给另一个管理程序;

        如果要安装多重引导,最好先安装Windows再安装Linux,因为后安装Windows的话,那MBR会被Windows覆盖,要被覆盖,也可以利用Linux的恢复模式来修改MBR。 

        为了安全,UEFI加重庆市了一个安全启动(Secure Boot)功能,这个功能代表着即将启动的操作系统必须要被UEFI所验证,否则就无法顺利启动,某些时刻,你可能得要将UEFI的 secure boot 功能关闭,才能够顺利地入进Linux。 另个,与BIOS模式相比,虽然UEFI可以直接获取GPT的分区表,不过最好依旧拥有BIOS boot的分区支持,同时,为了与Windows兼容,提供其他第三方厂商所使用的UEFI应用程序存储的空间,你必须要格式一个FAT格式的文件系统分区,大约提供512MB到1GB左右的大小,以让其他UEFI执行较为方便。

    Linux安装磁盘分区的选择
        整个Linux系统重要的地方就是在于目录树架构,整个目录树架构最重要的就是那个根目录(root dirctory),这个根目录的表示方法为一条斜线 “/” 。
        挂载就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下;也就是说进入该目录就可以读取该分区的意思。
        看哪个“进入点” “先被查到” 那就是使用的进入点,如:/home/vbird/test,这个文件在哪个分区时,由 test - vbird - home - / , 其中先出现 home,所以test使用的是 /home 这个进入点而不是 /。

        在windows中,光驱是使用代号方式处理,比如:E盘,在Linux下,则依旧使用目录树,默认情况下,Linux是将光驱的数据放置到 /media/cdrom里面,也可能挂载到 /mnt 这个目录,所以,初次使用Linux时,挂载的方式容易与Windows的分区代号搞混。

    初装Linux的建议:
            1,建议使用“自定义安装(Custom)”模式,也有叫 “Expert,专家模式”;
            2,初装Linux,只要划分“/”及“交换分区”即可;
            3,建议分区的方法,预留一个备用的剩余磁盘容量;

    重点回顾
        1,在Linux系统中,每个设备都被当成一个文件来对待,每个设备都会有设备文件名;
        2,磁盘设备文件名通常分为两种,实际SATA与USB设备文件名为 /dev/sd[a-p],而虚拟机的设备可能为 /dev/vd[a-p]。
        3,磁盘的第一个扇区主要记录两个重要的信息,分别是(1)主引导记录(Master Boot Record,MBR):可以安装启动引导程序的地方,有446字节;(2)分区表(Partition Table):记录整块硬盘分区状态,有64字节。
        4,硬盘的MBR分区方式中,主要与扩展分区最多可以有四个,逻辑分区的设备文件号码,一定是由5开始。
        5,如果磁盘容量大于2TB以上时,系统会自动使用GPT分区方式来处理磁盘分区。
        6,GPT分区已经没有扩展与逻辑分区的概念,你可以想象成所有的分区都是主要分区。
        7,某些操作系统要使用GPT分区时,必须要搭配UEFI固件才可以安装使用;
        8,开机的流程由:BIOS-MBR-引导启动程序-内核文件;
        9,引导启动程序的功能主要有:提供选项、加载内核、转交控制权给其他引导启动程序。
        10,引导启动程序可以安装的地点有两个,分别是MBR与引导扇区。
        11,Linux操作系统的文件使用目录树系统,与磁盘的对应需要有挂载的操作才行。
        12,新手的简单分区,建议只要有/及交换分区两个分区即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值