当前位置: 首页 > news >正文

磁盘分区工具(fdisk 和 parted)区别及操作笔记

fdisk 和 parted 都是 Linux 系统中用于磁盘分区的工具

两者主要区别:

  1. 支持的分区表类型

    • fdisk 主要支持 MBR分区表,MBR分区表支持的硬盘单个分区最大容量为2TB,最多可以有4个主分区
    • parted 支持 MBR分区表 和 GPT分区表,GPT分区表可以支持更大的硬盘容量和更多的分区数量。
  2. 用户界面:fdisk 使用命令行界面,而 parted 也使用命令行但提供了更丰富的命令和交互。

  3. 功能:parted 提供了一些 fdisk 没有的功能,如调整分区大小、格式化分区等。

  4. 易用性:parted 通常被认为比 fdisk 更易用,特别是在处理 GPT 分区表时。

但它们在功能和使用上有一些区别:

fdisk的功能

fdisk 是一个较老的分区表创建和管理工具,主要**支持 MBR (Master Boot Record) 格式的分区表**。它可以用来创建、删除、调整分区大小等。

基本命令:
fdisk /dev/sda:启动 fdisk 工具并选择 /dev/sda 磁盘。

  • p:显示磁盘分区表
  • n:创建新分区
  • d:删除分区
  • t:改变分区类型
  • w:写入分区表并退出
  • q:不保存更改并退出
使用示例
  1. 使用 fdisk 创建新分区:
    fdisk /dev/sda

    	Command (m for help): nCommand actione   extendedp   primary partition (1-4)pPartition number (1-4): 1First sector (2048-104857551, default 2048): Last sector, +sectors or +size{K,M,G} (2048-104857551, default 104857551): +500GCommand (m for help): w
    
  2. 格式化新分区
    使用 mkfs 命令为新分区创建文件系统。假设想要为该分区创建 ext4 文件系统:

       sudo mkfs.ext4 /dev/sda1
    
  3. 挂载分区
    如果想挂载这些分区,可以使用 mount 命令。首先创建挂载点,然后挂载:

       # 创建挂载点sudo mkdir /data01# 手动挂载sudo mount /dev/sda1 /data01
    

    再配置永久挂载,请参考下面parted永久挂载部分


parted的功能

parted 是一个更现代的分区工具,**支持 MBR 和 GPT (GUID Partition Table) 格式的分区表**。parted 提供了更丰富的命令和功能,包括调整分区大小、创建新的分区表、格式化分区等。

基本命令:
parted /dev/sda:启动 parted 工具并选择 /dev/sda 磁盘。

  • print:显示磁盘分区信息
  • mklabel:创建新的分区表,可以是 msdos 或 gpt
  • mkpart:创建新分区,需要指定分区类型(如 primary, logical)和大小(如 1MiB, 50%)
  • rm:删除分区,需要指定分区号
  • resizepart:调整分区大小,需要指定分区号和新大小
  • set:设置分区属性,如bootable
  • quit:退出 parted
使用示例
  1. 使用 parted 创建新分区

    parted /dev/sda

    假如/dev/sda是一块10TB的大硬盘,按第1个分区为500GB,第2个分区9TB来创建分区。

    	(parted) mklabel gpt # 创建gpt分区表,也支持MBR,对于目前大硬盘,更推荐选择GPT# 新建分区(parted) mkpart primary 0% 500GB	# 创建第1个分区(按大小),0% 表示分区从磁盘的起始位置开始,500GB 是分区的大小。(parted) mkpart primary 500GB 100%	# 创建第2个分区(按百分比),500GB 是第一个分区的结束位置,100% 表示使用所有剩余空间。# 删除分区(parted) print		# 首先查看当前磁盘的分区信息,确保你将要删除的是正确的分区。使用 print 命令来显示分区表(parted) rm 1		# 确定要删除的分区号,例如,如果你要删除第一个分区,分区号是 1。特别注意:删除分区会丢失该分区上的所有数据# 退出parted(parted) quit	
    
  2. 格式化新分区
    使用 mkfs 命令为新分区创建文件系统。假设想要为第一个分区创建 ext4 文件系统,第二个分区创建 XFS 文件系统:

       sudo mkfs.ext4 /dev/sda1sudo mkfs.xfs /dev/sda2
    
  3. 挂载分区
    3.1. 如果想挂载这些分区,可以使用 mount 命令:

```bash# 首先创建挂载点sudo mkdir /data01sudo mkdir /data02# 然后挂载sudo mount /dev/sda1 /data01sudo mount /dev/sda2 /data02
```
3.2. 添加永久挂载(以上mount直接挂载为临时挂载,重启后丢失)编辑 /etc/fstab 文件,文件内容末尾追加以下内容,后再保存关闭文件```bash/dev/sda1	/data01	ext4	default	0	2/dev/sda2	/data02	xfs		default 0	2```3.3. 测试挂载配置,会尝试挂载 /etc/fstab 中定义的所有挂载点。如果没有错误消息,说明配置正确。```mount -a```3.4. 可再通过 ```df -h ```查看下 /data01、/data02 的分区信息---
  • 假如后期使用中需要重新调整分区的大小

    parted /dev/sda # 启动 parted 并选择磁盘

    	(parted) print 		# 查看当前分区信息,确定你想要调整大小的分区号# 方式1# 调整分区大小,注意:1 是分区号,300GB 是新的分区大小(parted) resizepart 1 300GB		# 例如,如果想要调整第一个分区的大小到300GB:# 方式2# 也支持调整分区的起始或结束位置# 2. 1 如果你需要调整分区的起始位置,可以使用 --set 选项# 例如,将第一个分区的起始位置设置为 10GB(parted) resizepart 1 --set 10GB	# # 2.2 如果你需要调整分区的结束位置,可以使用 --end 选项来指定新的结束位置# 例如,如果你想要将第一个分区的结束位置设置为 30GB(parted) resizepart 1 --end 30GB	# # 退出parted(parted) quit	
    

注意事项:

  • 在调整分区大小之前,请确保备份所有重要数据,以防数据丢失。
  • 如果分区中的数据已经填满了整个分区,你可能需要先清理一些数据,以确保有足够的空间进行调整。
  • 如果调整的分区不是最后一个分区,或者调整操作涉及到多个分区,可能需要先移动数据,这通常涉及到更复杂的步骤,比如使用partprobe 命令通知内核分区表的变化,或者在调整前卸载分区。

相关文章:

磁盘分区工具(fdisk 和 parted)区别及操作笔记

fdisk 和 parted 都是 Linux 系统中用于磁盘分区的工具。 两者主要区别: 支持的分区表类型: fdisk 主要支持 MBR分区表,MBR分区表支持的硬盘单个分区最大容量为2TB,最多可以有4个主分区。parted 支持 MBR分区表 和 GPT分区表&…...

VisualStudio2019受支持的.NET Core

1.VS Studio2019受支持的.NET Core? 适用于 Visual Studio 的 .NET SDK 下载 (microsoft.com) Visual Studio 2019 默认并不直接支持 .NET 6 及以上版本。要使用 .NET 6 或更高版本,你需要在 Visual Studio 2019 中采取额外步骤,比如安装相应…...

Java——IO流(二)-(1/7):字符流-FileReader、FileWriter、字符输出流的注意事项(构造器及常用方法、小结)

目录 文件字符输入流-读字符数据进来 介绍 构造器及常用方法 实例演示 文件字符输出流-写字符数据出去 介绍、构造器及常用方法 实例演示 字符输出流使用时的注意事项 小结 文件字符输入流-读字符数据进来 介绍 FileReader(文件字符输入流) 作…...

Spring循环依赖问题——从源码画流程图

文章目录 关键代码相关知识为什么要使用二级缓存为什么要使用三级缓存只使用两个缓存的问题不能解决构造器循环依赖为什么多例bean不能解决循环依赖问题初始化后代理对象赋值给原始对象解决循环依赖SpringBoot开启循环依赖 循环依赖 在线流程图 关键代码 从缓存中查询getSingl…...

Android SurfaceFlinger——动画播放准备(十五)

BootAnimation 本质上是一个线程,执行 run 之后,会先执行 readyToRun,接着执行 treadLoop 方法。 一、线程启动 1、BootAnimation 源码位置:/frameworks/base/cmds/bootanimation/BootAnimation.cpp readyToRun status_t BootAnimation::readyToRun() {// 添加默认资源…...

Zynq7000系列FPGA中的DMA控制器简介(二)

AXI互连上的DMA传输 所有DMA事务都使用AXI接口在PL中的片上存储器、DDR存储器和从外设之间传递数据。PL中的从设备通过DMAC的外部请求接口与DMAC通信,以控制数据流。这意味着从设备可以请求DMA交易,以便将数据从源地址传输到目标地址。 虽然DMAC在技术…...

获取 url 地址栏 ? 后面的查询字符串,并以键值对形式放到对象里面

写在前面 在前端面试当中,关于 url 相关的问题很常见,而对于 url 请求参数的问题也很常见,大部分以笔试题常见,今天就根据这道面试题一起来看一下。 问题 获取 url 地址栏?后面的查询字符串,并以键值对形式放到对象…...

List接口, ArrayList Vector LinkedList

Collection接口的子接口 子类Vector,ArrayList,LinkedList 1.元素的添加顺序和取出顺序一致,且可重复 2.每个元素都有其对应的顺序索引 方法 在index 1 的位置插入一个对象,list.add(1,list2)获取指定index位置的元素&#…...

探讨数字化背景下VSM(价值流程图)的挑战和机遇

在信息化、数字化飞速发展的今天,各行各业都面临着前所未有的挑战与机遇。作为源自丰田生产模式的VSM(价值流程图),这一曾经引领制造业革命的工具,在数字化背景下又将如何乘风破浪,应对新的市场格局和技术变…...

Conda跨平台环境迁移

问题描述: 在一台Ubuntu电脑上完全复刻在Windows中通过conda创建的环境。 导出环境 在Windows机器上,需要导出当前conda环境的配置。这将生成一个environment.yml文件,其中包含所有已安装的包和版本信息。 打开Anaconda Prompt(…...

全面掌握 Jackson 序列化工具:原理、使用与高级配置详解

全面掌握 Jackson 序列化工具:原理、使用与高级配置详解 Jackson 是一个功能强大的 JSON 处理库,广泛应用于 Java 项目中。它提供了丰富的功能和灵活的配置选项,可以轻松地在 Java 对象和 JSON 数据之间进行转换。本文将详细介绍 Jackson 的…...

mathtype7.4永久激活码密钥及2024最新破解版注册码附安装教程

MathType 7版本号还提升了对教育行业的支持,如增加了大量预定义的教学公式和符号,使老师和学生在教学过程中能够更加便捷的应用。同时,它还加强了云备份功能,用户可将自己的公式存储在云端,随时随地访问和编辑&#xf…...

【SQL】优化慢 SQL的简单思路

优化慢 SQL 需要综合考虑多个方面,包括查询的结构、索引的使用、表结构设计等。以下是一些常见的 SQL 优化技巧和步骤: 1. 检查查询计划 使用数据库提供的工具查看查询计划(例如 MySQL 的 EXPLAIN 命令)可以帮助了解查询的执行路…...

禁止浏览器对input的自动填充和填充提示(适用于谷歌、火狐、Edge(原IE浏览器)等常见浏览器)

目录 1.要解决的问题2.一技能:原生属性,小试牛刀3.二技能:傀儡input,瞒天过海4.三技能:JavaScript出击,直接开大5.九九八十一难,永远还有最后一难 写在前面: 如有转载,务…...

鸿蒙项目实战-月木学途:1.编写首页,包括搜索栏、轮播图、宫格

效果展示 搜索栏制作 相关知识回顾 输入框组件TextInput 单行输入框类型.type(InputType.Normal)//基本输入框.type(InputType.Password)//密码.type(InputType.Email)//邮箱.type(InputType.Number)//数字.type(InputType.PhoneNumber)//电话号.type(InputType.Normal).type…...

深入浅出:npm常用命令详解和实践

npm 是 Node.js 的包管理器,用于管理 Node.js 应用的依赖关系和版本。 以下是一些常用的 npm 命令: npm init: 命令用于初始化一个新的 Node.js 项目。它会创建一个 package.json 文件,这个文件包含了项目的元数据和依赖信息。 npm initnpm…...

山东大学-科技文献阅读与翻译(期末复习)(选择题+翻译)

目录 选择题 Chapter1 1.which of the following is not categorized as scientific literature 2.Which of the followings is defined as tertiary(三级文献) literature? 3.Which type of the following international conferences is listed as Number one conference…...

二分查找:自定义 upper_bound、lower_bound

二分查找详细介绍可以看这篇文章&#xff0c;此篇文章介绍返回索引的 upper_bound 和 lower_bound 的 C 实现。 lower_bound 实现代码 #include <vector>int lower_bound_index(const std::vector<int>& vec, const int& target) {int left 0;int right…...

Java 搭建个人博客基本框架

为了实现一个功能完善的个人博客系统&#xff0c;我们将使用Spring Boot作为框架&#xff0c;MySQL作为数据库&#xff0c;并引入Spring Security来处理用户认证和授权。以下是系统的详细设计和实现步骤&#xff1a; ## 项目结构 - src/main/java/com/blog - controller …...

停车场智能化管理:车位引导系统实现车位资源优化与数据分析

随着城市汽车保有量的不断增长&#xff0c;停车难问题日益凸显。尤其是在高峰时段&#xff0c;寻找停车位和取车成为了许多车主的头疼问题。为了解决这一难题&#xff0c;维小帮智能车位引导系统应运而生&#xff0c;它利用先进的技术手段&#xff0c;帮助车主快速找到停车位&a…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...