zoukankan      html  css  js  c++  java
  • 硬盘分区、挂载及Ubuntu系统安装

    原文:https://blog.csdn.net/hurry0808/article/details/78882111

    硬盘分区基础知识

    硬盘安装于计算机中用于存储数据,出厂(初始)状态时犹如一张白纸,是不能直接往其中写入数据的,必须经过分区及格式化之后才能使用,分区及格式化相当于为白纸划分了不同区域(如正文区、注释区等)并分别在不同区域内画上了线条格以便于书写。格式化之后的分区就是我们通常见到的硬盘分区,如Windows系统中的C盘、D盘等等。
    传统硬盘采用MBR(Master Boot Record,主引导记录)分区方式引导操作系统,与之配套使用的是BOIS(Basic Input Output System,基本输入输出系统)主板,随着技术和需求的不断发展,GPT(GUID Partition Table,全局唯一标识分区表)硬盘及UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)主板逐渐流行,后者现已常见并将成为今后的主流方向。BOIS、UEFI是主板相关术语,MBR、GPT属于硬盘相关术语,其不同组合及区别如下:

    BOIS + MBR

    可用,可启动操作系统。传统PC上最常见的组合方式,硬盘的主分区与扩展分区之和不能超过4个,硬盘容量最大识别到2T;操作系统启动时,顺序如下图所示:
    这里写图片描述

    BOIS + GPT

    可用,但是无法启动操作系统。BIOS主板可以搭配GPT硬盘来作为资料盘,但不能引导系统;若电脑同时带有容量小于2T的硬盘和容量大于2T的硬盘,小于2T的可以用MBR分区方式安装操作系统,大于2T的可以使用GPT方式来存放资料,但必须使用64位操作系统。

    UEFI + MBR

    可用,可启动操作系统。为提高兼容性,近几年出现的UEFI主板大多采用UEFI+BIOS共存的模式,并且在BIOS中集成UEFI启动项。可以把UEFI设置成Legacy模式(传统模式)、打开CSM(Compatibility Support Module ,兼容性支持模块)模块以支持UEFI启动和非UEFI启动,其效果等同于BOIS + MBR 。

    UEFI + GPT

    可用,可启动操作系统。目前最常见的组合方式,也是未来的主流组合。如果要将操作系统安装于大于2T的硬盘时,必须如此设置,否则硬盘大于2T的部分无法识别;且操作系统必须使用64位的,否则无法引导。GPT方式可识别大于2T的硬盘,且理论上支持无限个分区(主分区最多为128个),操作系统启动时,顺序如下:
    这里写图片描述
    与传统的BOIS + MBR启动方式相比,少了BOIS自检环节,会加快启动速度;如果换上固态盘,启动速度会明显加快。

    GPT 与 MBR

    硬盘的GPT分区格式与MBR分区格式是可以互相转换的,但从GPT转换为MBR时,原分区数量不能超过4个,且大于2T的部分将不被识别;为以防万一,转换前备份好数据。

    文件系统

    确定好分区格式(MBR或者GPT)后,就可建立各分区,在进行分区格式化时,需要指定文件系统,Linux可用的文件格式包括,Ext4、Ext3、Ext2、btrfs、JFS、XFS、FAT16、FAT32等,NTFS、FAT32则是Windows常用的文件系统。Ext4、Ext3、XFS是目前Linux常用的文件系统,关于Linux文件系统的进一步论述及区别,请点击这里

    Linux系统的目录结构及硬盘分区挂载

    对于一块新硬盘,假定使用MBR分区格式,如果安装Linux系统时不进行分区,Linux系统将被安装在整块硬盘中(整块硬盘为1个主分区),同安装Windows时不进行硬盘分区时的效果一样;具体来说,CentOS会自动在整块硬盘中划分出swap分区(大小与内存相当),Ubuntu则不会划分swap分区(会在挂载配置文件/etc/fstab中设置swapfile参数)。为便于系统维护和确保数据安全,在安装操作系统前应对硬盘进行分区,将操作系统安装于主分区。

    Linux系统目录结构

    在linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,即“Linux系统中一切都是文件”。Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)采用树形结构来存放文件,且定义了常见目录的用途,文件和目录名称严格区分大小写。以Ubuntu系统为例,Linux系统的文件目录结构如下所示:
    这里写图片描述

    • /usr
      这是一个非常重要的目录,包含绝大多数的(多)用户工具和应用程序,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
    • /lib
      存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
    • /var
      存放不断扩充的内容,如经常被修改的目录、文件(包含各种日志文件)等。
    • /boot
      存放启动Linux时使用的一些核心文件,包括一些引导程序文件、链接文件、镜像文件等。
    • /home
      用户的主目录,在Linux中,每个用户都有一个自己的目录,该目录名一般以用户账号命名,包含保存的文件、个人设置等。
    • /sbin
      s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    • /bin
      s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    • /etc
      存放所有的系统管理所需的配置文件和子目录,如interfaces(Ubuntu)、ipcfc-*(CentOS)、fstab等。
    • /tmp
      存放一些临时文件,在系统重启时临时文件将被删除。
    • /snap
      Ubuntu 16.04及之后版本引入了snap包管理器,与之相关的目录、文件(包括安装文件)位于/snap中。
    • /lost+found
      该目录一般情况下是空的,当系统非法关机后会在该目录生成一些遗失的片段。
    • /media
      linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到该目录下。
    • /srv
      该目录存放一些服务启动之后需要提取的数据。
    • /cdrom
      光驱目录。
    • /root
      该目录为系统管理员用户目录。
    • /opt
      该目录存放安装的第三方软件,如Oracle数据库就可以安装到该目录下。
    • /mnt
      挂载其他的文件系统(含硬盘分区)的目录。
    • /lib64
      类似lib目录,存放64位库文件。

    对于上述目录,有些在安装时可以指定单独分区,Ubuntu安装时单独指定分区(对应于挂载点)的界面如下所示:

    这里写图片描述

    关于挂载点目录,说明以下3点:

    • /boot分区不是必须的。对于陈旧的BOIS主板,无法识别1024个磁柱以外的硬盘数据,从而会导致Linux无法开机,此时需要专门划分100M左右的磁盘分区作为/boot分区,用以引导Linux正常启动;但随着硬件配置及Linux版本的提升,近几年生产的主板已经解决了上述问题,且划分/boot分区后,更新Linux内核几次后会导致分区容量不足,因此若非使用陈旧BOIS主板,不建议单独划分/boot分区。
    • swap分区也不是必须的。swap分区类似windows系统的虚拟内存,当实际内存不够用时,会使用swap分区作为虚拟内存来交换数据,其大小一般设置为实际内存的1-4倍。若安装时不创建swap分区,CentOS系统会自动创建与实际内存大小相当的分区作为swap分区,Ubuntu系统则不创建swap分区。
    • 可为/usr/local、/opt、/home等目录单独创建分区。Linux系统在使用过程中,会不断安装软件,此时将/usr/local、/opt单独分区,可将新安装的软件放置于单独分区中,从而节约根目录所在分区的磁盘空间、优化系统目录的管理结构,尤其是当需要重新安装Linux系统时,可仅格式化根目录所在分区并将/usr/local、/opt指向原独立分区,以保存/usr/local、/opt目录中的原有数据;/home目录单独分区也有类似效果。在安装时不创建上述目录对应的单独分区也没有关系,可在系统安装完成后再将硬盘分区挂载到/usr/local、/opt、/home等目录,具体方法如下。

    硬盘分区挂载

    在linux操作系统中, 挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问硬盘分区中的文件,必须将文件所在的硬盘分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问硬盘分区。可以这样认为,挂载目录是硬盘分区的一个快捷方式,是访问硬盘分区的入口。

    • 查看硬盘分区
      在挂载硬盘分区前,应先查看分区结构,确定待挂载硬盘分区的设备名称。
    # 显示所有可用的硬盘分区
    $ sudo fdisk -l

      这里写图片描述

      上图显示识别了2块硬盘,设备名称分别为/dev/sda、/dev/sdb,前者容量为232.9Gib,后者容量为465.8Gib;两块硬盘均建立了MBR分区表,/dev/sda1表示第一块硬盘上的第一个主分区,/dev/sda2表示第一块硬盘上的扩展分区,/dev/sda5表示第一块硬盘上的第一个逻辑分区,/dev/sda6表示第二个逻辑分区,/dev/sdb1 ~ /dev/sdb8的含义与之类似。

      • 临时挂载硬盘分区
        假定我们需要读取/dev/sdb5、/dev/sdb6分区中的数据,则将其挂载到/mnt/D、/mnt/E目录,步骤如下:
      # 创建挂载目录
      $ sudo mkdir /mnt/D
      $ sudo mkdir /mnt/D
      
      # 临时挂载硬盘分区
      $ sudo mount /dev/sdb5 /mnt/D
      $ sudo mount /dev/sdb6 /mnt/E
      
      # 目录结构树形显示软件安装
      $ sudo apt-get install tree

        运行上述命令后即完成挂载,目录结构如下图所示:
        这里写图片描述

        临时挂载的硬盘分区,在系统重启后会失效,若要再次访问硬盘分区,需重新挂载,为解决该问题,可永久挂载硬盘分区。

        • 永久挂载硬盘分区
          挂载信息存储于/ect/fstab文件中,按规定格式编辑该文件,新增挂载参数,可在系统每次启动时自动挂载设置好的硬盘分区,达到永久挂载的效果。命令如下:
        # 编辑/ect/fstab文件
        $ sudo gedit /etc/fstab

          新增参数的格式为:“设备文件 挂载目录 格式类型 权限选项 自检 优先级”,各字段含义如下:

          1. 设备文件:一般为设备的路径+设备名称,也可以写唯一识别码(Universally Unique Identifier, UUID)
          2. 挂载目录:指定要挂载到的目录,需在挂载前创建好
          3. 挂载格式:指定文件系统的格式,比如Ext3、Ext4、XFS、swap、iso9660(光盘设备)等
          4. 权限选项:若设置为defaults,则默认权限为:rw,suid,dev,exec,auto,nouser,async
          5. 自检:若为1则开机后进行磁盘自检,为0则不自检
          6. 优先级:若“自检”字段为1,则可对多块硬盘进行自检优先级设置

          编辑完成的fstab文件如下图所示,之后每次启动系统时,均会自动挂载硬盘分区。
          这里写图片描述

          挂载需要注意以下3点:

          • 挂载点必须为目录,不能为文件
          • 挂载目录需在挂载前创建好
          • 若挂载目录含有子目录或文件,挂载后该目录内的子目录或文件不可访问

          在双硬盘PC上安装Ubuntu系统

          目前双硬盘电脑越来越多,博主的PC也不例外,为安装互不影响的双系统,博主计划在硬盘位的固态盘中安装windows系统,在光驱位的机械盘中安装Ubuntu系统;为保留机械盘中扩展分区的数据,只需在安装时删除原主分区,紧接着将该分区再次创建为用于安装CentOS的主分区、指定分区的挂载点为“根(/)”即可。安装具体步骤如下:

          • 设置第一启动盘为机械盘
            这里写图片描述

          • 安装类型选择其他
            这里写图片描述

          • 删除原主分区
            这里写图片描述

          • 新建主分区并指定挂载点为“根(/)”
            这里写图片描述

          • 安装完成,硬盘结构如下
            这里写图片描述

          若要在同一块硬盘上安装双系统且保留其他分区的数据,也只需删除、新建待装CentOS的主分区,操作过程与上述步骤类似。

  • 相关阅读:
    【leetcode】416. Partition Equal Subset Sum
    【leetcode】893. Groups of Special-Equivalent Strings
    【leetcode】892. Surface Area of 3D Shapes
    【leetcode】883. Projection Area of 3D Shapes
    【leetcode】140. Word Break II
    【leetcode】126. Word Ladder II
    【leetcode】44. Wildcard Matching
    【leetcode】336. Palindrome Pairs
    【leetcode】354. Russian Doll Envelopes
    2017.12.22 英语面试手记
  • 原文地址:https://www.cnblogs.com/YJBlog/p/10440707.html
Copyright © 2011-2022 走看看