fdisk - Linux下的磁盘分区利器

文章目录

  • 前言
  • 一、安装和启动
  • 二、基本命令
    • 2.1 查看分区表
    • 2.2 删除分区
    • 2.3 创建新分区
    • 2.4 更改分区类型
    • 2.5 其他指令
  • 三、注意事项
  • 四、其他相关工具


前言

在Linux系统中,磁盘管理是维护系统性能和数据安全的重要环节。fdisk 是一个强大的命令行工具,专门用于磁盘分区的创建、删除和管理。本文将详细介绍 fdisk 命令的基本用法和常见操作,帮助用户高效地管理磁盘。


一、安装和启动

在大多数 Linux 发行版中,fdisk 默认已安装,如果未安装,可以通过包管理器进行安装。

启动 fdisk 的基本命令格式为:sudo fdisk /dev/sdX,其中,/dev/sdX 是你要操作的磁盘设备名,例如,/dev/sdb

root@jeff:/home/jeff# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0    64M  1 loop /snap/core20/2379
loop1                       7:1    0    87M  1 loop /snap/lxd/28373
loop2                       7:2    0  63.7M  1 loop /snap/core20/2434
loop3                       7:3    0  39.1M  1 loop /snap/snapd/21184
loop4                       7:4    0  38.8M  1 loop /snap/snapd/21759
loop5                       7:5    0    87M  1 loop /snap/lxd/29351
sda                         8:0    0    50G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0    48G  0 part└─ubuntu--vg-ubuntu--lv 253:0    0    48G  0 lvm  /
sdb                         8:16   1 115.6G  0 disk
└─sdb1                      8:17   1 115.6G  0 part
sr0                        11:0    1  1024M  0 rom
root@jeff:/home/jeff# fdisk /dev/sdbWelcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Command (m for help): 

二、基本命令

进入 fdisk 交互模式后,可以使用以下命令进行操作:

2.1 查看分区表

命令: p
功能: 打印当前分区表,显示分区的编号、起始扇区、结束扇区、大小和类型。

Command (m for help): pDisk /dev/sdb: 115.59 GiB, 124117843968 bytes, 242417664 sectors
Disk model: DataTraveler 3.0
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: 0x749ffca9Device     Boot Start	End   		Sectors   Size 		Id 	Type
/dev/sdb1  		2048 	242417663 	242415616 115.6G  	7 	HPFS/NTFS/exFATCommand (m for help):

以下是对各个部分的解释:

磁盘信息概述

  • Disk /dev/sdb: 磁盘设备,名为 /dev/sdb
  • Size: 磁盘的大小为 115.59 GiB(即 124117843968 字节)
  • Sectors: 磁盘包含 242417664 个扇区
  • Disk model: 磁盘的型号为 DataTraveler 3.0,表明这是一个 USB 闪存驱动器
  • Units: 每个单位的大小为 1 * 512 = 512 bytes,这表示每个扇区的大小为 512 字节
  • Sector size (logical/physical): 逻辑扇区大小和物理扇区大小都是 512 bytes,这是常见的扇区大小
  • I/O size (minimum/optimal): 最小和最优的 I/O 大小均为 512 bytes
  • Disklabel type: 分区表类型为 dos,这表明这是一个传统的 MBR 分区表格式
  • Disk identifier: 分区标识符为 0x749ffca9,是用于识别此磁盘的唯一值

分区信息

DeviceBootStartEndSectorsSizeIdType
/dev/sdb12048242417663242415616115.6G7HPFS/NTFS/exFAT
  • Device: /dev/sdb1 是磁盘上的第一个分区
  • Boot: 此列为空,表明该分区不是可引导的
  • Start: 分区的起始扇区为 2048,这是磁盘上的第一个有效数据扇区
  • End: 分区的结束扇区为 242417663
  • Sectors: 此分区包含 242415616 个扇区(从 2048 到 242417663)
  • Size: 分区的大小为 115.6G,与整个磁盘的大小一致,表明此分区使用了整个磁盘的空间
  • Id: 分区类型 ID 为 7,表示该分区的类型为 HPFS/NTFS/exFAT,这通常用于 Windows 系统的 NTFS 或 exFAT 文件系统
  • Type: 表示此分区的文件系统类型,主要为 HPFS/NTFS/exFAT,说明该分区可以用于存储大文件并且可以在多种操作系统之间共享

2.2 删除分区

命令: d
功能: 删除指定的分区 (注意:输入指令 w 使其生效,如果有多个分区会提示你输入要删除的分区编号)

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.Command (m for help): p
Disk /dev/sdb: 115.59 GiB, 124117843968 bytes, 242417664 sectors
Disk model: DataTraveler 3.0
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: 0x749ffca9Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.root@jeff:/home/jeff# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0    64M  1 loop /snap/core20/2379
loop1                       7:1    0    87M  1 loop /snap/lxd/28373
loop2                       7:2    0  63.7M  1 loop /snap/core20/2434
loop3                       7:3    0  39.1M  1 loop /snap/snapd/21184
loop4                       7:4    0  38.8M  1 loop /snap/snapd/21759
loop5                       7:5    0    87M  1 loop /snap/lxd/29351
sda                         8:0    0    50G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0    48G  0 part└─ubuntu--vg-ubuntu--lv 253:0    0    48G  0 lvm  /
sdb                         8:16   1 115.6G  0 disk
sr0                        11:0    1  1024M  0 rom

2.3 创建新分区

命令: n
功能: 创建新分区。你可以选择主分区或扩展分区,系统会提示输入分区编号、起始扇区和大小。

Command (m for help): n
Partition typep   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-242417663, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-242417663, default 242417663): +16GCreated a new partition 1 of type 'Linux' and of size 16 GiB.
Partition #1 contains a exfat signature.Do you want to remove the signature? [Y]es/[N]o: yesThe signature will be removed by a write command.Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.root@jeff:/home/jeff# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0    64M  1 loop /snap/core20/2379
loop1                       7:1    0    87M  1 loop /snap/lxd/28373
loop2                       7:2    0  63.7M  1 loop /snap/core20/2434
loop3                       7:3    0  39.1M  1 loop /snap/snapd/21184
loop4                       7:4    0  38.8M  1 loop /snap/snapd/21759
loop5                       7:5    0    87M  1 loop /snap/lxd/29351
sda                         8:0    0    50G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0    48G  0 part└─ubuntu--vg-ubuntu--lv 253:0    0    48G  0 lvm  /
sdb                         8:16   1 115.6G  0 disk
└─sdb1                      8:17   1    16G  0 part
sr0                        11:0    1  1024M  0 rom
root@jeff:/home/jeff#

流程:

  • 选择分区类型(主分区或扩展分区)
  • 输入分区编号(例如,1 ~ 4)
  • 输入起始扇区(可以按 Enter 使用默认值)
  • 输入分区大小(可以用 “+16G” 表示 16GB,直接按Enter默认使用全部内存)

主分区(Primary Partition): 主分区是磁盘上可以直接用于存储文件系统的分区。每个物理磁盘最多可以包含 4 个主分区。
扩展分区(Extended Partition): 扩展分区是一种特殊类型的分区,不能直接格式化为文件系统。它的主要目的是容纳多个逻辑分区。

2.4 更改分区类型

命令: t
功能: 更改分区的文件系统类型。

Command (m for help): p
Disk /dev/sdb: 115.59 GiB, 124117843968 bytes, 242417664 sectors
Disk model: DataTraveler 3.0
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: 0x749ffca9Device     Boot Start      End  Sectors Size Id Type
/dev/sdb1        2048 33556479 33554432  16G 83 LinuxCommand (m for help): t
Selected partition 1
Hex code or alias (type L to list all): L00 Empty            24 NEC DOS          81 Minix / old Lin  bf Solaris
01 FAT12            27 Hidden NTFS Win  82 Linux swap / So  c1 DRDOS/sec (FAT-
02 XENIX root       39 Plan 9           83 Linux            c4 DRDOS/sec (FAT-
03 XENIX usr        3c PartitionMagic   84 OS/2 hidden or   c6 DRDOS/sec (FAT-
04 FAT16 <32M       40 Venix 80286      85 Linux extended   c7 Syrinx
05 Extended         41 PPC PReP Boot    86 NTFS volume set  da Non-FS data
06 FAT16            42 SFS              87 NTFS volume set  db CP/M / CTOS / .
07 HPFS/NTFS/exFAT  4d QNX4.x           88 Linux plaintext  de Dell Utility
08 AIX              4e QNX4.x 2nd part  8e Linux LVM        df BootIt
09 AIX bootable     4f QNX4.x 3rd part  93 Amoeba           e1 DOS access
0a OS/2 Boot Manag  50 OnTrack DM       94 Amoeba BBT       e3 DOS R/O
0b W95 FAT32        51 OnTrack DM6 Aux  9f BSD/OS           e4 SpeedStor
0c W95 FAT32 (LBA)  52 CP/M             a0 IBM Thinkpad hi  ea Linux extended
0e W95 FAT16 (LBA)  53 OnTrack DM6 Aux  a5 FreeBSD          eb BeOS fs
0f W95 Ext'd (LBA)  54 OnTrackDM6       a6 OpenBSD          ee GPT
10 OPUS             55 EZ-Drive         a7 NeXTSTEP         ef EFI (FAT-12/16/
11 Hidden FAT12     56 Golden Bow       a8 Darwin UFS       f0 Linux/PA-RISC b
12 Compaq diagnost  5c Priam Edisk      a9 NetBSD           f1 SpeedStor
14 Hidden FAT16 <3  61 SpeedStor        ab Darwin boot      f4 SpeedStor
16 Hidden FAT16     63 GNU HURD or Sys  af HFS / HFS+       f2 DOS secondary
17 Hidden HPFS/NTF  64 Novell Netware   b7 BSDI fs          fb VMware VMFS
18 AST SmartSleep   65 Novell Netware   b8 BSDI swap        fc VMware VMKCORE
1b Hidden W95 FAT3  70 DiskSecure Mult  bb Boot Wizard hid  fd Linux raid auto
1c Hidden W95 FAT3  75 PC/IX            bc Acronis FAT32 L  fe LANstep
1e Hidden W95 FAT1  80 Old Minix        be Solaris boot     ff BBTAliases:linux          - 83swap           - 82extended       - 05uefi           - EFraid           - FDlvm            - 8Elinuxex        - 85
Hex code or alias (type L to list all): 7
Changed type of partition 'Linux' to 'HPFS/NTFS/exFAT'.Command (m for help): p
Disk /dev/sdb: 115.59 GiB, 124117843968 bytes, 242417664 sectors
Disk model: DataTraveler 3.0
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: 0x749ffca9Device     Boot Start      End  Sectors Size Id Type
/dev/sdb1        2048 33556479 33554432  16G  7 HPFS/NTFS/exFATCommand (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

注意:fdisk 工具的 t 指令用于更改现有分区的文件系统类型标识符,分区类型标识符是用于指示特定分区应使用哪种文件系统或用途的数字代码,并不会直接改变分区的文件系统格式,因此我们需要一些额外的工具来格式化该分区的文件系统类型,比如将分区格式化为 exFAT,可以使用 mkfs.exfat 工具。

使用指令 sudo mkfs.exfat /dev/sdb1 将sdb1分区文件系统类型格式化为exfat类型。

root@jeff:/home/jeff# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0    64M  1 loop /snap/core20/2379
loop1                       7:1    0    87M  1 loop /snap/lxd/28373
loop2                       7:2    0  63.7M  1 loop /snap/core20/2434
loop3                       7:3    0  39.1M  1 loop /snap/snapd/21184
loop4                       7:4    0  38.8M  1 loop /snap/snapd/21759
loop5                       7:5    0    87M  1 loop /snap/lxd/29351
sda                         8:0    0    50G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0    48G  0 part└─ubuntu--vg-ubuntu--lv 253:0    0    48G  0 lvm  /
sdb                         8:16   1 115.6G  0 disk
└─sdb1                      8:17   1    16G  0 part
sr0                        11:0    1  1024M  0 rom
root@jeff:/home/jeff# mkfs.exfat /dev/sdb1
exfatprogs version : 1.1.3
Creating exFAT filesystem(/dev/sdb1, cluster size=32768)Writing volume boot record: done
Writing backup volume boot record: done
Fat table creation: done
Allocation bitmap creation: done
Upcase table creation: done
Writing root directory entry: done
Synchronizing...exFAT format complete!

这样,该分区既能在Linux下使用,也能在Windows上使用啦。

2.5 其他指令

输入 m 可以查看所有的指令

Command (m for help): mHelp:DOS (MBR)a   toggle a bootable flagb   edit nested BSD disklabelc   toggle the dos compatibility flagGenericd   delete a partitionF   list free unpartitioned spacel   list known partition typesn   add a new partitionp   print the partition tablet   change a partition typev   verify the partition tablei   print information about a partitionMiscm   print this menuu   change display/entry unitsx   extra functionality (experts only)ScriptI   load disk layout from sfdisk script fileO   dump disk layout to sfdisk script fileSave & Exitw   write table to disk and exitq   quit without saving changesCreate a new labelg   create a new empty GPT partition tableG   create a new empty SGI (IRIX) partition tableo   create a new empty DOS partition tables   create a new empty Sun partition tableCommand (m for help):

三、注意事项

  • 备份数据: 在进行任何分区操作之前,确保已备份所有重要数据,以防止数据丢失。
  • 操作权限: fdisk 需要 root 权限。
  • MBR与GPT: fdisk 主要用于 MBR 分区,如果你的磁盘使用 GPT,推荐使用 gdisk 或 parted。

备注:MBR 是较老的分区格式,适合小型磁盘(最大2TB)和简单分区需求。GPT 是现代标准,提供更大的灵活性和扩展性,适合大容量磁盘(超过2TB)和复杂分区需求

四、其他相关工具

  • parted: 一个更强大、更灵活的分区工具,支持 MBR 和 GPT 分区。
  • gdisk: 专为 GPT 分区表设计的工具,提供了类似 fdisk 的功能。
  • gparted: 一个图形界面的分区管理工具,适合不熟悉命令行的用户。

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

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

相关文章

【解决】Linux环境中mysqlclient安装失败问题

问题描述 在Linux系统下安装myslclient报异常。系统为Centos 8 使用 pip install mysqlclient 报出下面的异常 error: subprocess-exited-with-error Getting requirements to build wheel did not run successfully.│ exit code: 1╰─> [30 lines of output]/bin/sh: pkg…

GitHub 上传项目保姆级教程

构建项目仓库 登录 GitHub 并进入主页。点击右上角的 New 按钮&#xff0c;进入创建新仓库页面。输入仓库名称和描述&#xff08;可选&#xff09;&#xff0c;选择是否公开&#xff08;Public&#xff09;或私有&#xff08;Private&#xff09;。可以选择是否初始化仓库&…

WPF中设置DataGrid的常用样式

1. 设置DataGrid控件的外观和行为 <!-- 定义一个名为DataGridDefault的样式&#xff0c;专门用于设置DataGrid控件的外观和行为 --> <Style x:Key"DataGridDefault" TargetType"DataGrid"><!-- 设置DataGrid在Grid布局中的行索引为1 -->…

计算机网络:网络层 —— 路由选择与静态路由配置

文章目录 路由选择路由选择的基本概念路由选择算法路由选择策略 路由器的工作原理路由表静态路由配置默认路由特定主机路由 路由选择 路由选择&#xff08;Routing&#xff09;是网络层的一个关键功能&#xff0c;负责在源和目的地之间选择最佳路径&#xff0c;以确保数据包高…

Pytest-Bdd-Playwright 系列教程(5):仅执行测试用例的收集阶段

Pytest-Bdd-Playwright 系列教程&#xff08;5&#xff09;&#xff1a;仅执行测试用例的收集阶段 一、为什么需要仅收集测试用例二、应用场景三、方法详解【方法1】&#xff1a;添加pytest.ini文件的addopts配置项【方法2】&#xff1a;通过命令行参数运行 四、CI/CD 环境下的…

联想笔记本电脑睡眠后打开黑屏解决方法

下载联想机器睡眠无法唤醒修复工具 下载地址&#xff1a;https://tools.lenovo.com.cn/exeTools/detail/id/233/rid/6182522.html 使用完后重启电脑&#xff0c;问题解决。

(11)(2.1.6) Hobbywing DroneCAN ESC(一)

文章目录 前言 1 连接和配置 2 参数说明 前言 具有 CAN 接口&#xff08;including these&#xff09;的业余 ESC 支持 DroneCAN&#xff0c;它允许自动驾驶仪通过 CAN 控制 ESC /电机&#xff0c;并检索单个转速、电压、电流和温度。 具有 CAN 接口&#xff08;including …

AI助力医疗:未来的医生会是机器人吗?

内容概要 在这一场医疗科技的新浪潮中&#xff0c;AI医疗正以前所未有的速度渗透到各个角落。随着技术的飞速进步&#xff0c;人工智能成为了推动医疗领域革新的重要力量。从精准诊断到个性化治疗&#xff0c;AI正在帮助医生们更快速、准确地分析患者的病情&#xff0c;提高了…

HTMLCSS:3D旋转动画机器人摄像头

效果演示 创建了一个3D机器人摄像头效果。 HTML <div class"modelViewPort"><div class"eva"><div class"head"><div class"eyeChamber"><div class"eye"></div><div class&quo…

用 css 实现空列表自动提示 “空状态”

css实现 /* 空列表状态通用css */ .list-auto-empty:empty::after {content: attr(empty);color: gray;margin: 50px auto 0;background-image: url(empty_data.png);background-size: 100%;background-repeat: no-repeat;width: 224px;height: 140px;padding-top: 140px;text…

计算机科学与技术-毕业设计选题推荐

基于特定技术的系统设计与实现 基于深度学习的图像识别系统设计与实现基于区块链的数据安全保护技术研究与实现基于云计算的大数据处理平台设计与开发基于物联网的智能家居系统设计与实现基于机器学习的推荐算法研究与实现 面向实际应用的需求分析与开发 智慧医疗信息系统设…

如何在Linux系统中使用Git进行版本控制

如何在Linux系统中使用Git进行版本控制 Git简介 安装Git 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 初始化Git仓库 配置全局用户信息 基本的Git命令 添加文件到暂存区 查看状态 提交更改 查看提交历史 工作流 分支管理 切换分支 合并分支 远程仓库 添加远程仓库 推…

大型商场应急响应系统开发:SpringBoot篇

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

记录一次查询优化

一.背景描述 1.1问题和情况 生产环境&#xff0c;有一张按每天一份数据的表&#xff08;下面简称表1&#xff09;&#xff0c;跨天查询较慢&#xff0c;跨月查询甚至超时查询一天内的数据速度不怎么慢查询是分页的表1按照日期做了子分区&#xff0c;一个月一个子分区 1.2造成…

【网络安全 | 漏洞挖掘】逻辑漏洞+无限制爆破实现业务瘫痪

未经许可,不得转载。 文章目录 前言正文前言 目标:target.com,是一个为设计团队服务的工作平台。 该程序允许用户创建账户并组建团队,指定的领导者担任管理员。团队类型包括: 1、免费团队:限于一个项目,最多三份文件。 2、学生团队:项目和文件无限制,学生可免费获…

头歌C语言数据结构课程实验(栈的应用)

第1关&#xff1a;利用栈实现整数的十进制转八进制 本关必读 栈是基础的数据结构&#xff0c;元素操作遵循后进先出的原理。本关卡基于数组存储实现了栈的基本操作。 该方案将栈存储在一片连续空间里&#xff0c;并通过data、top和max三个属性元素。组织成为一个结构&#xf…

Java | Leetcode Java题解之第521题最长特殊序列I

题目&#xff1a; 题解&#xff1a; class Solution {public int findLUSlength(String a, String b) {return !a.equals(b) ? Math.max(a.length(), b.length()) : -1;} }

机器学习、深度学习和强化学习的区别

在当今的人工智能领域&#xff0c;机器学习、深度学习和强化学习是三个重要的概念&#xff0c;它们各自有着独特的特点和应用场景。下面我们来详细了解一下这些概念的区别。 一、定义和基本原理 机器学习&#xff1a;是一种让计算机通过数据学习和发现规律的方法。它使用各种…

《使用Gin框架构建分布式应用》阅读笔记:p212-p233

《用Gin框架构建分布式应用》学习第12天&#xff0c;p212-p233总结&#xff0c;总22页。 一、技术总结 1.JavaScript知识点 (1)class、method (2)function, arrow function, (3)fetch() (4)Promise, then() 2.bootstrap 第5章主要涉及前端技术的运用&#xff0c;作为后…

音视频入门基础:FLV专题(19)——FFmpeg源码中,解码Audio Tag的AudioTagHeader,并提取AUDIODATA的实现

一、引言 从《音视频入门基础&#xff1a;FLV专题&#xff08;18&#xff09;——Audio Tag简介》可以知道&#xff0c;未加密的情况下&#xff0c;FLV文件中的一个Audio Tag Tag header AudioTagHeader AUDIODATA。本文讲述FFmpeg源码中是怎样解码Audio Tag的AudioTagHead…