Ubuntu硬盘分区及挂载(命令行)

文章目录

  • 一、简介
  • 二、硬盘分区
  • 三、格式化分区
  • 四、自动挂载分区
  • 五、调整分区大小
  • 小结

一、简介

创建磁盘分区首先需要找出Linux系统中的物理磁盘,在Linux中采用了一种标准格式来为硬盘分配设备名称。

  • SATA驱动器和SCSI驱动器:设备命名格式为/dev/sdx,其中x根据驱动器的检测顺序决定,第一个检测到的驱动器是a,第二个是b,第一个分区显示为:/dev/sda1
  • SSD NVMe驱动器:设备命名格式为/dev/nvmeNn#,其中N根据驱动器的检测顺序决定(从0开始),#是分配给该驱动器的命名空间编号(从1开始),第一个驱动器显示为:/dev/nvme0n1,其第一个分区显示为:/dev/nvme0n1p1
  • IDE驱动器:设备命名格式为/dev/hdx,其中x根据驱动器的检测顺序决定,第一个检测到的驱动器是a,第二个是b,以此类推。

对磁盘进行操作(如分区、格式化等)的常用工具有:

  • 分区工具fdisk、parted、gdisk
  • 格式化工具mkfs(如 mkfs.ext4、mkfs.vfat)
  • 挂载工具mount、umount
  • 查看块设备信息lsblk

二、硬盘分区

这里主要关注两种常用的组织和管理分区的工具:fdiskgdiskfdisk是一个交互式程序,允许输入命令来逐步完成磁盘分区操作,它可以在任何存储设备上创建和管理分区,但是,fdisk只能处理最大2TB的硬盘。如果大于这个容量,则只能使用gdisk。另外还有一种GNU parted,它的优势是允许调整现有的分区大小,为了分区灵活性也可以考虑LVM

  1. 查看接入设备的所有块设备,块设备通常是:硬盘、SSD、光驱、USB 存储设备等。

    lsblk -f
    --------------------------------------------------------------
    # lsblk:   显示所有块设备的层级结构
    # lsblk -f:显示文件系统类型及挂载点信息
    # lsblk -d:仅显示磁盘,不显示分区信息
    # lsblk -a:显示所有设备,包括空设备
    # lsblk -o:自定义输出列。例如,lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
    

    块设备查询

  2. 可以使用分区工具查看所有硬盘的连接情况。

    fdisk -l  # 需要sudo权限
    

    设备情况
    设备情况

  3. 对目标存储设备进行分区。

    fdisk /dev/sda
    

    设备分区

  4. 新硬盘会提示设备没有分区表,建议先创建分区表,输入命令g创建GPT分区表(适用于现代系统),输入命令o创建MBR(DOS)分区表(传统分区表,适合旧系统或特殊需求)。其中:GPT分区表支持大于2TB的磁盘,且可以创建超过4个主分区,而MBR分区表对磁盘容量有2T限制,且最多只能创建4个主分区。

    # fdisk 常用命令
    g: 创建新的空GPT分区表
    o: 创建新的空MBR分区表
    p: 显示当前分区表
    v: 验证分区表
    n: 创建新分区
    d: 删除分区
    w: 将分区表写入磁盘并退出(保存更改)
    q: 退出,不保存更改
    

    创建分区表

  5. 输入p显示当前分区表。
    显示分区表

  6. 输入n,创建分区。
    创建分区1

  7. 输入p,查看分区情况。
    查看新分区

  8. 输入w,将改动写入磁盘后退出。
    保存更改

  9. 再次查看块设备情况。

    lsblk -f
    

    设备情况

  10. gdiskfdisk具有类型的操作逻辑,但gdisk是专为支持GPT而设计的工具,具有更优秀的特性,因此如果不是很旧的设备,推荐使用gdisk进行操作,特别是在处理大于2T的磁盘的时候。这里简单说明,相关操作与fdisk工具一样。

    # gdisk 常用命令
    c: 修改分区名称
    p: 显示当前分区表
    n: 创建新分区
    d: 删除分区
    v: 验证磁盘
    w: 将分区表写入磁盘并退出(保存更改)
    q: 退出,不保存更改
    

    查看磁盘

  11. 输入n,创建分区。
    分区

  12. 输入w,将改动写入磁盘后退出。
    保存更改

  13. 查看块设备情况。
    块设备情况

三、格式化分区

  1. 将数据存储到分区之前,必须使用某种文件系统对其进行格式化,以便操作系统能够使用分区,每种文件系统都有自己的格式化工具,linux系统中常用ext4文件系统,最大支持16TiB的文件,能够管理1EiB大小的分区,在默认情况下,ext4采用有序模式的日志方法,同样支持加密、压缩以及单目录下不限数量的子目录。

  2. 查看系统是否支持文件系统工具。

    type mkfs.文件系统名
    

    文件系统工具

  3. 格式化分区。

    sudo mkfs.ext4 /dev/sda1  # 需要sudo权限
    

    格式化分区

  4. 再次查看块设备情况。

    lsblk -f
    

    块设备情况

  5. 为分区创建好文件系统后,需要将其挂载到虚拟目录中的某个挂载点,以便在新分区中存储数据,可以使用mkdir命令创建一个新目录,也可以挂载到已有的任意目录。

    mkdir /media/sda1  # 创建挂载点
    sudo mount -t ext4 /dev/sda1 /media/sda1  # 临时挂载,重启系统后失效
    lsblk -f /dev/sda  # 查看块设备情况
    

    挂载

四、自动挂载分区

  1. 虽然使用mount命令挂载并使用-t选项指明挂载的文件系统类型,但重启系统后就失效了,配置/etc/fstab文件可以强制linux在启动时自动挂载文件系统

    vim /etc/fstab
    
  2. /etc/fstab中添加

    /dev/sda1 /media/sda1 ext4 defaults 0 0
    

    自动挂载

  3. 重启后使用命令mount查看挂载情况

    mount
    

    挂载情况

五、调整分区大小

  1. fdiskgdisk工具主要用来管理分区表,如果要调整分区大小,不仅需要修改分区表,还需要调整分区内的文件系统结构,这样就需要使用parted工具。当然也可以直接使用parted工具进行分区。

    # parted 常用指令
    print:      显示分区表、可用设备、剩余空间、所有分区或特殊分区
    resizepart: 改变分区的大小(缩小或扩展)
    rm:         删除分区
    quit:       退出
    
  2. 输入print,查看磁盘分区表。
    分区信息

  3. 使用resize2fs工具先调整文件系统的大小。

    sudo resize2fs /dev/sda1 3G
    

    缩小文件系统大小

  4. 使用df命令查看文件系统大小发生了变换。

    df -h /dev/sda1
    

    在这里插入图片描述

  5. 使用parted工具的resizepart命令调整分区大小。

    resizepart 1 3G  # 1:分区编号,3G:要缩小到的大小,剩余的7G空间变为未分配状态
    

    分区调整

  6. 使用同样的操作可以进行分区的扩展,前提是磁盘具有可扩展的空间。

    sudo resize2fs /dev/sda1 20G
    parted /dev/sda
    resizepart 1 20G # 10G扩展为20G
    
  7. 可以在缩小分区之后,将剩余未分配空间创建为一个新分区。

    mkpart primary ext4 3GB 10GB
    # primary: 分区类型(主分区)
    # ext4:    文件系统类型
    # 3GB:     起始位置
    # 10GB:    结束位置
    

    分区

小结

以上就是linux系统下使用命令行进行磁盘的分区及挂载操作,调整分区前请务必做好数据备份,以免误操作导致数据丢失,相关问题欢迎在评论区讨论!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/494080.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用java造1万条数据

上个月项目有造数需求记录一下。 package com.company;public class CreateSqlZhou {public static void main(String[] args) {//insert into Student (id,name,sex,age,adress) values(68881624120312320,zhangsan,男,18,北京);String startSql "insert into Student…

vue iframe进行父子页面通信并切换URL

需求是2个项目需要使用同一个面包屑进行跳转&#xff0c;其中一个是iframe所在的项目&#xff0c;另一个需要通过地址访问。通过 window.parent.postMessage &#xff0c;帮助 <iframe> 内嵌入的子页面和其父页面之间进行跨域通信。 使用通义千问提问后得到一个很好的示…

【Qt】显示类控件:QLabel、QLCDNumber、QProgressBar、QCalendarWidget

目录 QLabel QFrame 例子&#xff1a; textFormat pixmap、scaledContents alignment wordWrap、indent、margin buddy QLCDNumber 例子&#xff1a; QTimer QProgressBar 例子&#xff1a; QCalendarWidget 例子&#xff1a; QLabel 标签控件&#xff0c;用来显示…

UVM 验证方法学之interface学习系列文章(十二)virtual interface 终结篇

一 双向和三态问题 任何具有多个驱动器的信号,都需要使用网(net)来建模。网是唯一能够同时解决不同状态和强度驱动同一信号效果的构造。net的行为由内置解析函数定义,该函数使用net上所有驱动器的值和强度。每当其中一个驱动器发生变化时,就会调用该函数来生成解析值。该…

【游戏设计原理】22 - 石头剪刀布

一、游戏基础&#xff1a;拳头、掌心、分指 首先&#xff0c;石头剪刀布&#xff08;又名“Roshambo”&#xff09;看似简单&#xff0c;实际上可是个“深藏玄机”的零和博弈&#xff08;听起来很高深&#xff0c;其实就是输赢相抵消的意思&#xff09;。游戏中有三种手势&…

iterm2 focus时灰色蒙层出现的解决办法

问题描述&#xff1a; 当前我的iterm2版本是3.5.10&#xff0c;是我最近才更新的&#xff0c;然后就出现以下页面显示问题&#xff0c;如图所示&#xff1a; 我个人对终端、编辑器等使用存在洁癖&#xff0c;尤其是页面显示效果不满意更是不能忍受&#xff0c;之前找了很久没有…

如何在window 使用 conda 环境下载大模型

最近开始学习 变形金刚&#xff0c;最大的问题就是 huggingface 无法访问&#xff0c;无论是翻墙还是通过本地镜像网站HF-Mirror&#xff0c;然后再通过git下载都很慢&#xff0c;影响学习进度&#xff0c;后面看了如下文章&#xff0c;Huggingface配置镜像_huggingface镜像-CS…

Linux 网络维护相关命令简介

目录 零. 概要一. ping二. ip命令2.1 ip address2.2 ip route2.3 ip neighbour 三. traceroute四. DNS查询4.1 nslookup4.2 dig 五. ss 查看网络连接状态 零. 概要 ⏹在Linux系统中有2套用于网络管理的工具集 net-tools 早期网络管理的主要工具集&#xff0c;缺乏对 IPv6、网…

Liveweb视频融合共享平台在果园农场等项目中的视频监控系统搭建方案

一、背景介绍 在我国的大江南北遍布着各种各样的果园&#xff0c;针对这些地处偏僻的果园及农场等环境&#xff0c;较为传统的安全防范方式是建立围墙&#xff0c;但是仅靠围墙仍然无法阻挡不法分子的有意入侵和破坏&#xff0c;因此为了及时发现和处理一些难以察觉的问题&…

Ubuntu vi(vim)编辑器配置一键补全main函数

1.打开对应的配置文件 vi ~/.vim/snippets/c.snippets 2.按G将光标定位到文件末尾 3.按i进入插入模式 以tab键开头插入下的内容&#xff0c;空行也要加 tab键 4.:wq保存退出 5.再打开任意一个新的 .c文件后&#xff0c;插入模式输入 main 然后按tal键就能补全了

javaEE-线程的常用方法-4

目录 一.start():启动一个线程 调用start()方法 start()方法只能调用一次&#xff1a; java中的API: start()和run()的区别: 二.中断一个线程 中断线程方法1:引入标志位 中断线程方法2:调⽤interrupt()⽅法 抛出的异常: 三.等待一个线程 join() 四、获取线程引用 五…

服务器数据恢复—V7000存储中多块磁盘出现故障导致业务中断的数据恢复案例

服务器存储数据恢复环境&#xff1a; 一台V7000存储上共12块SAS机械硬盘&#xff08;其中1块是热备盘&#xff09;&#xff0c;组建了2组Mdisk&#xff0c;创建了一个pool。挂载在小型机上作为逻辑盘使用&#xff0c;小型机上安装的AIXSybase。 服务器存储故障&#xff1a; V7…

2024年图像处理、多媒体技术与机器学习

重要信息 官网&#xff1a;www.ipmml.org 时间&#xff1a;2024年12月27-29日 地点&#xff1a;中国-大理 简介 2024年图像处理、多媒体技术与机器学习&#xff08;CIPMT 2024&#xff09;将于2024年12月27-29日于中国大理召开。将围绕图像处理与多媒体技术、机器学习等在…

linux----文件访问(c语言)

linux文件访问相关函数 打开文件函数 - open 函数原型&#xff1a;int open(const char *pathname, int flags, mode_t mode);参数说明&#xff1a; pathname&#xff1a;这是要打开的文件的路径名&#xff0c;可以是绝对路径或者相对路径。例如&#xff0c;"/home/user/…

Redis 集群实操:强大的数据“分身术”

目录 Redis Cluster集群模式 1、介绍 2、架构设计 3、集群模式实操 4、故障转移 5、常用命令 Redis Cluster集群模式 1、介绍 redis3.0版本推出的Redis Cluster 集群模式&#xff0c;每个节点都可以保存数据和整个集群状态&#xff0c;每个节点都和其他所有节点连接。Cl…

探索 Seaborn Palette 的奥秘:为数据可视化增色添彩

一、引言 在数据科学的世界里&#xff0c;视觉传达是不可或缺的一环。一个好的数据可视化不仅能传递信息&#xff0c;还能引发共鸣。Seaborn 是 Python 中一款广受欢迎的可视化库&#xff0c;而它的调色板&#xff08;palette&#xff09;功能&#xff0c;则为我们提供了调配绚…

多模态医学图像融合概述

Part1: Summary 实际应用中&#xff0c;我们常用到多种来源不同数据进行融合&#xff1b; 包括图像分解、重建、融合规则及质量评估。如&#xff1a;MRI、CT、PET、SPECT、US等成像方式; 也可能有点云数据融合 CT&#xff0c;或MR 进行定位等&#xff1b; Part2: 融合数据的…

STM32F103 | Embedded IDE03 - 使用OpenOCD在STM32F103项目时出现下载固件失败

导言 在上一篇备忘录介绍使用OpenOCD的stlink-v2.cfg接口下载固件&#xff0c;在STM32F407的项目上很顺利。但是&#xff0c;在stm32f103上会出现下载失败。 在网上搜了一下&#xff0c;这位博主的文章解决了这个问题: https://www.iotword.com/26738.html 一、修改stm32f1x.c…

Android Studio IDE环境配置

​需要安装哪些东西&#xff1a; Java jdk Java Downloads | OracleAndroid Studio 下载 Android Studio 和应用工具 - Android 开发者 | Android DevelopersAndroid Sdk 现在的Android Studio版本安装时会自动安装&#xff0c;需要注意下安装的路径Android Studio插件…

人工智能ACA(四)--机器学习基础

零、参考资料 一篇文章完全搞懂正则化&#xff08;Regularization&#xff09;-CSDN博客 一、 机器学习概述 0. 机器学习的层次结构 学习范式&#xff08;最高层&#xff09; 怎么学 监督学习 无监督学习 半监督学习 强化学习 学习任务&#xff08;中间层&#xff0…