【Linux 之五】 Linux中使用fdisk命令实现磁盘分区

  最近由于工作的需要,初步研究了uboot中的fastboot实现方式。研究fastboot不可避免的需要了解磁盘分区的相关知识点,在linux下可以使用fdisk命令实现磁盘的分区。好了,下面步入正题。

1. 查看帮助信息(fdisk --help)

linux@linux-System-Product-Name:~$ fdisk --help

Usage:
 fdisk [options] <disk>      change partition table
 fdisk [options] -l [<disk>] list partition table(s)

Display or manipulate a disk partition table.

Options:
 -b, --sector-size <size>      physical and logical sector size
 -B, --protect-boot            don't erase bootbits when creating a new label
 -c, --compatibility[=<mode>]  mode is 'dos' or 'nondos' (default)
 -L, --color[=<when>]          colorize output (auto, always or never)
                                 colors are enabled by default
 -l, --list                    display partitions and exit
 -o, --output <list>           output columns
 -t, --type <type>             recognize specified partition table type only
......

2. 查看磁盘分区

  通过命令 sudo fdisk -l可以查看磁盘的详细分区情况,如下所示,我电脑目前存在两个磁盘:分别为sda和sdb(其中sda即为240G的固态硬盘,为系统盘,而sdb则为一个容量为16G的SD卡)。

linux@linux-System-Product-Name:~$ sudo fdisk -l
[sudo] password for linux:
Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: DE19ADF1-DDE6-4899-BC1B-C6B608AD5C31

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1050623   1048576   512M EFI System
/dev/sda2  1050624 488396799 487346176 232.4G Linux filesystem

Disk /dev/sdb: 14.6 GiB, 15646851072 bytes, 30560256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9b9208de

Device     Boot Start     End Sectors Size Id Type
/dev/sdb1        2048 2099199 2097152   1G 83 Linux
linux@linux-System-Product-Name:~$

以sdb为例进行详细的说明如下:

  1. 磁盘容量为14.6GiB, 合计共15646851072 字节,每个“扇区”的大小为512字节,总共30560256个扇区;
  2. 扇区的大小(物理 / 逻辑):512字节 / 512字节
  3. I / O大小(最小值 / 典型值):512字节 / 512字节
  4. 磁盘标签类型:dos (sda的磁盘标签类型为gpt)
  5. 磁盘标识符:0x9b9208de
  6. 该磁盘共分了一个“分区”,分区名称为sdb1, 该分区的起始扇区号为2048, 结束扇区号为2099199,共2097152个扇区(sector),大小为1GiB, 分区ID为0x83(linux native分区),类型为Linux

3. 磁盘分区

需求举例:

  1. 将sdb磁盘分为4个区,其中1,2,3分区为主分区,4分区为扩展分区;
  2. 分区1的大小为512M字节, 分区2的大小为2G字节,分区3的大小为4G字节,分区4的大小为剩余的磁盘空间;
  3. 创建DOS类型的分区表(MBR)

步骤1:执行命令 sudo fdisk /dev/sdb,输入 m 获取帮助信息,如下:

linux@linux-System-Product-Name:~$ sudo fdisk /dev/sdb

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): m

Help:

  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table


Command (m for help):

步骤2:输入 p,查看磁盘当前的分区表

Command (m for help): p
Disk /dev/sdb: 14.6 GiB, 15646851072 bytes, 30560256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9b9208de

Device     Boot Start     End Sectors Size Id Type
/dev/sdb1        2048 2099199 2097152   1G 83 Linux

当前磁盘共分了一个“分区”,分区名称为sdb1, 该分区的起始扇区号为2048, 结束扇区号为2099199,共2097152个扇区(sector),大小为1GiB, 分区ID为0x83(linux native分区),类型为Linux

步骤3:输入 o,创建一个新的GPT分区表

Command (m for help): o

Created a new DOS disklabel with disk identifier 0x6ade9f76.
The old dos signature will be removed by a write command.

步骤4:输入 n,添加一个新的分区(添加我们的第1个分区,大小为512M)

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p   // 主分区
Partition number (1-4, default 1):	// 分区号为1,直接按“回车”即可
First sector (2048-30560255, default 2048): // 直接按“回车”即可
Last sector, +sectors or +size{K,M,G,T,P} (2048-30560255, default 30560255): +512M // 分配的空间大小为512M

Created a new partition 1 of type 'Linux' and of size 512 MiB.

Command (m for help): p // 查询分区表
Disk /dev/sdb: 14.6 GiB, 15646851072 bytes, 30560256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6ade9f76

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1        2048 1050623 1048576  512M 83 Linux

步骤5:输入 n,依次添加2,3,4分区

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2):	// 创建第2个分区
First sector (1050624-30560255, default 1050624):
Last sector, +sectors or +size{K,M,G,T,P} (1050624-30560255, default 30560255): +2G // 分区大小为2G

Created a new partition 2 of type 'Linux' and of size 2 GiB.

Command (m for help): n
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3): // 创建第3个分区
First sector (5244928-30560255, default 5244928):
Last sector, +sectors or +size{K,M,G,T,P} (5244928-30560255, default 30560255): +4G // 分区大小为4G

Created a new partition 3 of type 'Linux' and of size 4 GiB.

Command (m for help): n
Partition type
   p   primary (3 primary, 0 extended, 1 free)
   e   extended (container for logical partitions)
Select (default e): e // 创建扩展分区

Selected partition 4	// 创建第3个分区,MBR最多只能创建4个分区
First sector (13633536-30560255, default 13633536):
Last sector, +sectors or +size{K,M,G,T,P} (13633536-30560255, default 30560255):

Created a new partition 4 of type 'Extended' and of size 8.1 GiB. // 分区大小为“磁盘剩余空间”

Command (m for help): p
Disk /dev/sdb: 14.6 GiB, 15646851072 bytes, 30560256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6ade9f76

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdb1           2048  1050623  1048576  512M 83 Linux
/dev/sdb2        1050624  5244927  4194304    2G 83 Linux
/dev/sdb3        5244928 13633535  8388608    4G 83 Linux
/dev/sdb4       13633536 30560255 16926720  8.1G  5 Extended

步骤6:输入 w,将分区表写入磁盘,至此磁盘分区完成。

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
linux@linux-System-Product-Name:~$  // 退出了磁盘的命令模式

步骤7:再次确认“磁盘分区表”是否真正的写入磁盘

linux@linux-System-Product-Name:~$ sudo fdisk /dev/sdb
[sudo] password for linux:

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sdb: 14.6 GiB, 15646851072 bytes, 30560256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6ade9f76

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdb1           2048  1050623  1048576  512M 83 Linux
/dev/sdb2        1050624  5244927  4194304    2G 83 Linux
/dev/sdb3        5244928 13633535  8388608    4G 83 Linux
/dev/sdb4       13633536 30560255 16926720  8.1G  5 Extended

Command (m for help):

如上,与我们预期的是一致的,磁盘分区成功。

4. 其它命令

首先执行命令:sudo fdisk /dev/sdb

4.1 更改分区类型

将分区1的类型由“Linux”改为“W95 FAT32 (LBA)”。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

我们详细讲讲UI自动化测试最佳设计模式POM

概念 什么是POM&#xff1f; POM是PageObjectModule&#xff08;页面对象模式&#xff09;的缩写&#xff0c;其目的是为了Web UI测试创建对象库。 在这种模式下&#xff0c;应用涉及的每一个页面应该定义为一个单独的类&#xff0c;类中应该包含此页面上的页面元素对象和处…

skywalking安全认证问题

skywalking安全认证 一、问题二、步骤2.1 skywalking-aop配置文件修改2.2 agent配置文件修改 一、问题 在springboot项目使用java-agent接入skywalking时&#xff0c;为保证两者之间的数据安全传输&#xff0c;准备加个安全认证 参考文章&#xff1a; https://www.helloworld…

亚马逊云科技使用Inf2实例运行GPT-J-6B模型

在2019年的亚马逊云科技re:Invent上&#xff0c;亚马逊云科技发布了Inferentia芯片和Inf1实例这两个基础设施。Inferentia是一种高性能机器学习推理芯片&#xff0c;由亚马逊云科技定制设计&#xff0c;其目的是提供具有成本效益的大规模低延迟预测。时隔四年&#xff0c;2023年…

java版企业电子招投标系统源码 招采系统源码 spring boot+mybatis+前后端分离实现电子招投标系统

spring bootmybatis前后端分离实现电子招投标系统 电子招投标系统解决方案 招标面向的对象为供应商库中所有符合招标要求的供应商&#xff0c;当库中的供应商有一定积累的时候&#xff0c;会节省大量引入新供应商的时间。系统自动从供应商库中筛选符合招标要求的供应商&#x…

【Mybatis】SpringBoot整合Mybatis

唠嗑部分 之前我们说了Mybatis的一些文章&#xff0c;相关文章&#xff1a; 【Mybatis】简单入门及工具类封装-一 【Mybatis】如何实现ORM映射-二 【Mybatis】Mybatis的动态SQL、缓存机制-三 【Mybatis】Mybatis处理一对多、多对多关系映射-四 这篇文章我们来说说SpringBoot如…

SpringCloud学习-实用篇03

以下内容的代码可见&#xff1a;SpringCloud_learn/day03 1.初识Docker 什么是Docker? 项目部署问题&#xff1a;大型项目组件较多&#xff0c;运行环境也较为复杂&#xff0c;部署时会碰到一些问题 依赖关系复杂&#xff0c;容易出现兼容性问题开发、测试、生产环境有差异 Do…

ADS - lesson 1. Patch antenna

Patch antenna 1. 开启 layout command line editor2. layout command line editor应用3. 画馈线4. 插入端口5. EM 冲冲冲6. 结果 1. 开启 layout command line editor ADS主界面 - Tools - App Manager… - 勾选 “layout command line editor” 然后重启软件 2. layout co…

一步一步详解LSTM网络【从RNN到LSTM到GRU等,直至attention】

一步一步详解LSTM网络【从RNN到LSTM到GRU等&#xff0c;直至attention】 0、前言1、Recurrent Neural Networks循环神经网络2、The Problem of Long-Term Dependencies长期依赖的问题3、LSTM Networks4、The Core Idea Behind LSTMs5、Step-by-Step LSTM Walk Through6、Varian…

微信小程序原生开发功能合集十五:个人主页功能实现

本章个人主页功能实现,展示当前登录用户信息、个人主页、修改密码、浏览记录、我的收藏、常见问题、意见反馈、关于我们等界面及对应功能实现。   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如…

(1分钟速览)g2o入门指南--笔记版

在slam后端中&#xff0c;优化的框架很多&#xff0c;有ceres&#xff0c;g2o&#xff0c;gtsam这些。要想真正掌握slam后端的优化内容&#xff0c;这些框架是必不可少的上手练习的内容。本文则介绍有关g2o的相关内容&#xff0c;作为一个入门指南&#xff0c;目标&#xff1a;…

Python 学习 2022.08.28 周日

文章目录 一、 概述1.1&#xff09; 之前写的文章&#xff1a;1.2) 基础点1.3) 配置1.4) Python2 和 Python3 的区别1.5&#xff09; 相关问题跟踪解决1.6) 其他 一、 概述 1.1&#xff09; 之前写的文章&#xff1a; 【Python大系】Python快速教程《Python 数据库 GUI CGI编…

怎么取消只读模式?硬盘进入只读模式怎么办?

案例&#xff1a;电脑磁盘数据不能修改怎么办&#xff1f; 【今天工作的时候&#xff0c;我想把最近的更新的资料同步到电脑上的工作磁盘&#xff0c;但是发现我无法进行此操作&#xff0c;也不能对磁盘里的数据进行改动。有没有小伙伴知道这是怎么一回事&#xff1f;】 在使…

无线充+台灯专用PD诱骗芯片LDR6328S

近几年&#xff0c;日常生活中到处可以看到消费者使用支持Type-c接口的电子产品&#xff0c;如手机&#xff0c;笔记本&#xff0c;筋膜枪&#xff0c;蓝牙音箱等等。例如&#xff0c;像筋膜枪&#xff0c;蓝牙音箱&#xff0c;无人机&#xff0c;小风扇。 无线充台灯方案&…

容器安装Datax+Datax-web2.1(一)

目录 简介1、安装Datax-web2.1.11&#xff09;安装docker-compose2&#xff09;创建Datax-web和MySQL容器 2、安装Datax-web2.1.21&#xff09;安装MySQL2&#xff09;初始化数据3&#xff09;安装datax和datax-web4&#xff09;浏览器登录 DataxDatax-web2.1实现MySQL数据库数…

如何通过SOLIDWORKS driveworksxpress初步实现参数化设计

当提到参数化设计&#xff0c;我们首先需要了解究竟什么是参数化设计&#xff0c;它是指从一个系统的角度&#xff0c;计划所有的设计过程&#xff0c;在整个系统中建立组件、次组件和子零件之间的关系&#xff0c;在最上层的部分建立设计意图&#xff0c;并将其往较下层的部分…

RK3588光电载荷处理板研制进展

本来就是一个很小众的市场&#xff0c;但是偶尔也会有同行询问&#xff0c;这儿就简单汇报一下后期的进展 板子已经开发完成&#xff0c;并有幸得到了两个订单&#xff0c;虽然量不是很大&#xff0c;但是也很开心由于一段时间的努力和付出&#xff0c;将该设备应用在了国防事业…

微信小程序等待wx.requestPayment的回调函数执行完后再执行后续代码

async/await & Promise的再认识 背景 在开发微信小程序过程中&#xff0c;遇到如下需求&#xff1a; 需要等待wx.requestPayment的回调函数执行完后再执行后续代码 这是因为在调用wx.requestPayment之后&#xff0c;会弹出一个支付弹窗&#xff0c;如果此时点击右上角的…

Electron自定义窗口

Electron标题栏隐藏和自定义 Electron应用自定义标题栏样式 标题栏样式允许隐藏浏览器窗口的大部分色彩&#xff0c;同时保持系统原生窗口控件完整无损&#xff0c;并可以在 BrowserWindow 的构造器中使用 titleBarStyle 选项来配置。 应用 hidden 标题栏样式的结果是隐藏标…

AI智能机器人的语音消息使用方式

如何在没有资金扩大营销的情况下增加收入&#xff0c;这是不是有点像先有蛋还是先有鸡的问题&#xff1f;如果没有足够的收入来源&#xff0c;小型企业很难对新客源扩展营销和传播。有关系统问题欢迎和博主一起交流。 机器人的语音消息是不是给百姓造成了生活上的影响&#xf…

Springcloud1---->openFeign

目录 简介快速入门导入依赖开启Feign配置Feign客户端接口Feign使用小结feign feign配置负载均衡feign配置Hystix支持 简介 Feign可以把Rest的请求进行隐藏&#xff0c;伪装成类似SpringMVC的Controller一样。你不用再自己拼接url&#xff0c;拼接参数等等操作&#xff0c;一切…