硬盘分区、挂载及Ubuntu系统安装

2023-05-16

Linux发行版按照打包方式划分主要包括Debian系(基于Dpkg)、Red Hat系(基于RPM)、Slackware系等,其中Debian系、Red Hat系是我们所常见的,前者包括Ubuntu、Debian GNU/Linux等,后者包括Red Hat Enterprise Linux、CentOS、Fedora等。本文介绍硬盘分区的基础知识、Linux系统的目录结构及与硬盘分区的挂载关系、在双硬盘PC上指定分区安装Ubuntu系统的方法。


硬盘分区基础知识

硬盘安装于计算机中用于存储数据,出厂(初始)状态时犹如一张白纸,是不能直接往其中写入数据的,必须经过分区及格式化之后才能使用,分区及格式化相当于为白纸划分了不同区域(如正文区、注释区等)并分别在不同区域内画上了线条格以便于书写。格式化之后的分区就是我们通常见到的硬盘分区,如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的主分区,操作过程与上述步骤类似。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

硬盘分区、挂载及Ubuntu系统安装 的相关文章

  • ImageMagick:png序列转gif(适合处理带透明度的图片)

    最近需要将几组png序列转成gif xff0c 之前有用过 Ulead GIF Animator 和 Photoshop xff0c Ulead GIF Animator 只有windows版 xff0c 这些年mac是主力机 xff0c
  • python爬虫学习:tesseract之实现图片里文字的识别

    目录 1 Tesseract基础1 1 Tesseract简介1 2 Tesseract安装1 3 Tesseract使用1 4 下载语言库 2 Tesseract在Python中的使用 1 Tesseract基础 1 1 Tesserac
  • VS2015 error MSB8020: The build tools for xxx

    问题 VS2015 error MSB8020 The build tools for xxx 问题截图 xff1a 解决方案 xff1a 平台工具集版本不正确 xff0c 更正一下即可 解决方案右键项目属性 gt gt 配置属性 gt g
  • FFmpeg 视频编码--------把 .rgb 变成 .mp4

    FFmpeg 视频编码 一 什么是视频编码 xff1f 视频编码的主要作用是将视频像素数据 xff08 RGB xff0c YUV等 xff09 压缩成为视频码流 xff0c 从而降低视频的数据量 如果视频不经过压缩编码的话 xff0c 体
  • ubuntu设置代理 的三种方式

    转载自 xff1a http www cnblogs com lexus archive 2012 02 20 2359229 html ubuntu下设置代理 2010 01 11 20 13 20 分类 xff1a ubuntu总结 标
  • win10 + WDK10+ VS2015 + vmware_win10 驱动开发环境配置

    自从WDK8 1后 xff0c 开发window 驱动不用再用windbg 43 虚拟机调试了 xff0c 我们调试驱动也可以像调试EXE 一样方便 xff0c 下面是win10 主机 43 WDK10 43 VS2015 43 vmwar
  • VS Code搭建PyQt5开发环境

    前言 二 PyQt5相关模块下载 1 利用Python的pip安装PyQt5和PyQt5 tools扩展包 2 VS code中安装PyQt Integration和Qt for Python 3 VS code中配置Qt designer
  • 解密微信电脑版image文件夹下缓存的用户图片

    我们的微信体积越来越大 xff0c 该怎样查看 xff1f 该怎样为其减肥哪 xff1f 重点来了 在微信缓存中 FileStorage 文件夹时发现了其目录下的 Image 文件夹 xff0c 可能是使用过程中缓存的聊天图片等 xff0c
  • 怎么寻找微信撤回的图片

    1 回顾 自从发布文章 寻找微信撤回的图片 之后 xff0c 骗了不少粉啊 总之 xff0c 之前提出了一种可以找到微信撤回图片的方法 2 真相 之前的说法是 xff0c 工程师并没有真正把撤回的图片删除 xff0c 而是加密后藏起来了 其
  • 电脑端微信文件的存储位置在哪?

    在微信聊天中会产生很多文件 xff0c 首先微信的文件存放位置 xff1a 默认情况下 c users administrator document wechat files xxx 以下所有文件截图都是从这个父级目录开始的 示例图 Bac
  • 微信的dat文件正确打开方式及问题处理

    微信的dat文件是微信用于缓存PC端微信的图片 xff0c 然后对图片进行了加密的处理 所以是可以删除的 xff0c 有些朋友data文件夹下有十几G的 xff0c 都是可以删除的 xff0c 但是最好确保这些文件都已经没有用处了再进行删除
  • 微信中的dat文件到底是什么

    微信dat文件是表示电脑上微信聊天记录数据文件 xff0c 可以选择删除 虽然删除这些文件并不会影响微信的正常使用 xff0c 但是如果需保留电脑端微信的聊天记录 xff0c 重要的材料则不要删除 微信 xff08 WeChat xff09
  • 2022年2月11日

    P3375 模板 KMP字符串匹配 题目描述 给出两个字符串 s 1s1 和 s 2s2 xff0c 若 s 1s1 的区间 l r l r 子串与 s 2s2 完全相同 xff0c 则称 s 2s2 在 s 1s1 中出现了 xff0c
  • 网易云音乐NCM格式转化为mp3

    前段时间帮朋友下歌放在车上听 结果好多都是ncm格式 xff0c 伤心 xff0c 搜索了下发现基本上这格式解密有好多昂 xff0c 可惜UI我都不太想要 决定抄一下 xff0c 自己做一个 这里先记录下核心代码 xff0c 回头补充个UI
  • 旧电脑怎么升级到新版Win10

    Windows 10 2020年5月更新是最新版的win10系统 xff0c 相比以往的win10有了许多的改进 xff0c 比如说新的Cortana应用 云端重置以及Linux 2的Windows子系统等等 而Windows搜索的改进 x
  • K12教育小初高各个版本教材内的章节数据

    一个 相对 权威的资源网站 xff0c 然后把这个网站上的所有章节 教材全部爬下来 xff0c 进行保存数据库 xff0c 用于我们后续教学方面的基础数据 先说下结果 xff1a 算上小学 初中 高中三个学段 xff0c 所有学科下共计51
  • 1-FreeSwitch-CentOS7安装freeswitch1.10.2

    文章目录 一 前言二 安装2 1 安装 96 96 96 noarch 96 96 96 2 2 96 96 96 处理安装源 96 96 96 2 3 安装 96 96 96 cmake 96 96 96 2 4 安装 96 96 96
  • 「Python语法结构」输出语句示例(1)

    打印 玩具列表 字符串 功能要求 在屏幕上打印出 玩具列表 这样 实例代码 print 39 玩具列表 39 print 34 玩具列表 34 print 39 39 39 玩具列表 39 39 39 print 34 34 34 玩具列表
  • wsl导致vmmem占用高解决办法

    自从装了wsl我这个年迈的电脑就更加吃力 xff0c 尤其是内存基本上都要占到90 以上 xff0c 打开任务管理器一看内存一半以上都是被vmmem吃掉了 xff0c 于是在网上寻找解决办法 xff0c 并记录优化过程 文章目录 定期执行缓
  • wsl配置java环境以及使用vscode调试

    记录如何在wsl中配置java编译环境 xff0c 以及如何使用vscode进行编译调试 文章目录 下载jdk下载maven配置环境变量使用vscode调试java 下载jdk 点击进入到oracle jdk的下载页面 选择合适的安装包 解

随机推荐

  • python pip 打包指南

    一个成功的开源项目的其核心功能是打包功能 xff0c 而出色的打包功能的关键在于版本控制 因为项目是开源的 xff0c 所以您希望发布的包能够体现出开源社区所具备的优点 不同的平台与语言具有不同的打包机制 xff0c 本文主要讲述的是 Py
  • 虚拟机安装WIN系统后无法启动

    在虚拟机里安装完WINDOWS操作系统后 xff0c 无法启动 xff08 当然是GHOST版本 xff09 xff0c 启动时提示 xff1a Network boot from AMD Am79C970A Copright c 2003
  • VMware Esxi 8.0 直通Nvidia P40显卡

    目录 一 前言 二 错误信息 三 解决过程 一 前言 接到一个客户需求 xff0c 想在Esxi上直通Nvidia P40显卡 xff0c 直通后无法打开虚拟机 二 错误信息 下图是错误信息 xff0c 如图所示 xff0c 任务名称 打开
  • iOS 不规则瀑布流

    iOS 自从出了UICollectionview之后 界面的样式可谓更加的多元化 对于一些较为复杂的界面UICollectionview都可以相对轻松的实现 而且由于其 FlowLayout 子类的存在 界面的布局更可谓是随心所欲 下面就来
  • php7.4 docker 安装mongodb扩展

    Dockerfile 下面的pecl install mongodb的就是安装命令 FROM php 7 4 12 fpm RUN mv etc apt sources list etc apt sources list bak COPY
  • linux下wireshark安装和使用

    Wireshark是世界上最流行的网络分析工具 这个强大的工具可以捕捉网络中的数据 xff0c 并为用户提供关于网络和上层协议的各种信息 与很多其他网络工具一样 xff0c Wireshark也使用pcap network library来
  • HDU3700 Cat 恶心模拟题

    Problem Address xff1a http acm hdu edu cn showproblem php pid 61 3700 前言 终于又A了一道恶心的模拟题 看来HDU恶心题还是蛮多的 思路 扫描一遍 xff0c 如果有时间
  • Linux Docker最简单有效设置mysql 编码为utf8mb4解决乱码(三条命令解决)

    非常之简单高效 xff01 xff01 xff01 编辑my cnf span class token function vi span my cnf span class token comment 然后粘贴下面的并保存 span mys
  • 安利一款开源(3w star)的ssh、shell、cmd、sftp软件tabby(功能多、美观好用、支持插件)

    github地址 xff1a Tabby 官网 xff1a Tabby sh 用了之后非常之喜爱 xff0c 给作者点了个start xff0c 大家一起给这样的好开源软件点星星 自定义登录后脚本 对自己的配置可以设置快捷键快速打开一个该配
  • 远程控制ubuntu10.04

    由非linux平台连接到linux box有很多种方法 ubuntu本身就提供了XDMP VNC xff0c RDP等远程桌面登陆的方式 这些方式的实现比较简单 xff0c 没有使用多少数据压缩的技术 xff0c 因而远程时会感到比较慢 x
  • win10无线网卡共享网络给有线网卡再共享给其他电脑

    背景 xff1a 因项目主机为只有有线网卡的Linux系统 xff0c 需要联网安装一些程序 xff0c 需要win10的笔记本共享网络给项目主机 xff0c 但是调试环境下笔记本又只有连接手机热点的无线网络 xff0c 需要实现 笔记本无
  • 【解决错误】ModuleNotFoundError: No module named ‘PIL‘

    一 报错 Traceback span class token punctuation span most recent call last span class token punctuation span span class toke
  • 树莓派VNC配置教程

    VNC可以实现连接到树莓派后 xff0c 用电脑直接控制树莓派 xff0c 下面是VNC配置教程 xff1a 首先在电脑端上安装VNC xff08 官网下载地址 xff09 xff1a xff08 选择对应的版本 xff0c 下载安装即可
  • 用VSCode优雅的写MySQL

    一 SQL的部署 首先是部署MySQL xff0c 本地的MySQL在官网上下载包后 xff0c 按照默认的安装即可 xff0c 我使用的腾讯云的 云MySQL xff0c 可以到腾讯云官网租用 在租好数据库后 xff0c 进入控制台 xf
  • 机器学习笔记 五:逻辑回归(Logistics Regression)及两个分类案例

    目录 1 前言2 实现过程2 1 数据可视化过程2 2 Sigmoid函数2 3 代价函数 xff08 costFunction xff09 2 4 其他设置2 5 梯度下降函数2 5 1 梯度下降结果 xff08 初始参数为0 xff09
  • 器:ubnutu系统完美克隆至新硬盘,系统备份迁移至新硬盘(机器)

    一切皆为文件 xff0c 这个理念真酷 xff01 很好 xff01 ubuntu16 04 系统备份还原迁移至新机器 亲测可用 xff0c 刚刚克隆完毕 1 打包整个系统 xff1a sudo su cd tar czvpf sys ba
  • tools:nerd font debian(ubuntu maybe the same)

    i get garbled in my nerdtree try to fix this bug down load this by yourself bug nerdtree 显示图标乱码 CSDN博客 download font by
  • Ubuntu 设置环境变量问题总结

    一 动态链接库问题 最近一直被 error while loading shared libraies 错误困扰 xff0c 于是简单的总结了一下Ubuntu 环境变量的设置问题 从下面几个方面来说 xff1a 1 系统默认库 1 xff0
  • Python之配置日志的几种方式(logging模块)

    作为开发者 xff0c 我们可以通过以下3种方式来配置logging 1 xff09 使用Python代码显式的创建loggers handlers和formatters并分别调用它们的配置函数 xff1b 2 xff09 创建一个日志配置
  • 硬盘分区、挂载及Ubuntu系统安装

    Linux发行版按照打包方式划分主要包括Debian系 基于Dpkg Red Hat系 基于RPM Slackware系等 xff0c 其中Debian系 Red Hat系是我们所常见的 xff0c 前者包括Ubuntu Debian GN