Linux 磁盘分区工具 gdisk / fdisk

fdisk 是传统的 Linux 磁盘分区工具,磁盘容量有2T的大小限制;gdisk 又叫 GPT fdisk, 作为 fdisk 的升级版,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘,本文介绍使用方法。

简介
  • 早期的磁盘使用 fdisk 工具分区,fdisk只能用于MBR分区,最大限制磁盘容量 2T;
  • gdisk 又叫 GPT fdisk,是fdisk的升级版,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘。
  • 二者在使用上基本 相同。
磁盘分区

将磁盘划分为若干个区块操作为磁盘分区,在各个操作系统中都有类似的内容,分区会为硬盘管理带来一些好处:

  • 从硬盘管理上看,分区有利于用户使用和便于文件目录管理,使整个硬盘中的内容有条有理
  • 从数据安全上来看,硬盘分区将提高数据的安全性,不会因为某个逻辑硬盘分区出现问题而影响到其他逻辑硬盘分区上的数据。
GPT 与 MBR
  • 分区类型GPT和MBR。GPT最大支持18EB(1EB=1024PB,1PB=1024TB),MBR最大支持2TB。
  • GPT,全局唯一标识分区表(GUID Partition Table),它使用128位GUID来唯一标识每个磁盘和分区。与MBR存在单一故障点不同,GPT提供分区表信息的冗余,一个在磁盘头部,一个在磁盘尾部;它通过CRC校验来检测GPT头和分区表中错误与损坏。默认一个硬盘支持128个分区(可以更多)。
使用方法
安装 gdisk
  • 目前Linux 发行版一般会自带 gdisk,如果没有该命令可以手动安装

# Debian
sudo apt install gdisk
# Redhat
yum install gdisk -y

选定分区
  • 使用 gdisk 之前需要指定某块磁盘设备,进入设备操作状态

sudo gdisk [device]

例如:

$ sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.5Problem opening /dev/sda for reading! Error is 13.
You must run this program as root or use sudo!
vvd@vvd-desktop:~$ sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.5Partition table scan:MBR: protectiveBSD: not presentAPM: not presentGPT: presentFound valid GPT with protective MBR; using GPT.Command (? for help): 

  • 查看当前有哪些磁盘设备可以使用 lsblk 命令
可用命令
  • 进入设备操作状态后可以输入 ? 查询帮助文档

Command (? for help): ?
b	back up GPT data to a file
c	change a partition's name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

  • 总结一下:

命令

含义

b

将GPT数据备份到一个文件

c

更改分区名称

d

删除一个分区

i

显示分区详细信息

l

列出已知分区类型。此处8200是Linux swap,8300是Linux filesystem(对应fdisk的82和83)。还有一个8e00是Linux LVM

n

增加一个新的分区

o

创建一个新的空白的GPT分区表

p

显示当前磁盘的分区表

q

退出gdisk程序,不保存任何修改

r

恢复和转换选项(仅限专家)

s

排序分区

t

改变分区的类型

v

验证磁盘分区表

w

将分区表写入裁判并退出(保存并退出)

x

额外功能(仅限专家)

?

显示帮助信息

可选分区类型

磁盘编辑状态下,使用命令 l

Command (? for help): l
Type search string, or <Enter> to show all codes: 
0700 Microsoft basic data                0c01 Microsoft reserved                
2700 Windows RE                          3000 ONIE boot                         
3001 ONIE config                         3900 Plan 9                            
4100 PowerPC PReP boot                   4200 Windows LDM data                  
4201 Windows LDM metadata                4202 Windows Storage Spaces            
7501 IBM GPFS                            7f00 ChromeOS kernel                   
7f01 ChromeOS root                       7f02 ChromeOS reserved                 
8200 Linux swap                          8300 Linux filesystem                  
8301 Linux reserved                      8302 Linux /home                       
8303 Linux x86 root (/)                  8304 Linux x86-64 root (/)             
8305 Linux ARM64 root (/)                8306 Linux /srv                        
8307 Linux ARM32 root (/)                8308 Linux dm-crypt                    
8309 Linux LUKS                          830a Linux IA-64 root (/)              
830b Linux x86 root verity               830c Linux x86-64 root verity          
830d Linux ARM32 root verity             830e Linux ARM64 root verity           
830f Linux IA-64 root verity             8310 Linux /var                        
8311 Linux /var/tmp                      8400 Intel Rapid Start                 
8500 Container Linux /usr                8501 Container Linux resizable rootfs  
8502 Container Linux /OEM customization  8503 Container Linux root on RAID      
8e00 Linux LVM                           a000 Android bootloader                
a001 Android bootloader 2                a002 Android boot 1 

类型特别多,还有好几页,这里就不列出了 默认类型 8300

增加分区
  • 磁盘编辑状态下,使用命令 n

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-11721045134, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-11721045134, default = 11721045134) or {+-}size{KMGTP}: +500G
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'
  • 需要依次输入分区编号(建议使用默认). 起始扇区. 终止扇区. 磁盘类型
  • 其中 +500G 表明当前分区大小 500 G,可以使用的单位为 K\M\G(T是不能用的),如果不填或填错会默认使用所有剩余空间
查看当前分区表
  • 使用命令 p 可以查看当前正在编辑的分区表
  • 在我们保存分区表之前,改表并没有真正生效,但是可以查看修改


Command (? for help): p
Disk /dev/sda: 11721045168 sectors, 5.5 TiB
Model: ST6000NM0115-2R7
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): DA785A85-79D2-4AD1-911E-F169800B803A
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 11721045134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)Number  Start (sector)    End (sector)  Size       Code  Name1            2048      1048578047   500.0 GiB   8300  Linux filesystem2      1048578048      3145730047   1000.0 GiB  8300  Linux filesystem3      3145730048      6291458047   1.5 TiB     8300  Linux filesystem4      6291458048     11721045134   2.5 TiB     8300  Linux filesystem

这里我们生成了4个分区表

删除分区表
  • 删除命令为 d

Command (? for help): d
Partition number (1-4): 4
  • 删除刚刚创建的第四个分区表
  • 再次查看


Command (? for help): p
Disk /dev/sda: 11721045168 sectors, 5.5 TiB
Model: ST6000NM0115-2R7
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): DA785A85-79D2-4AD1-911E-F169800B803A
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 11721045134
Partitions will be aligned on 2048-sector boundaries
Total free space is 5429589101 sectors (2.5 TiB)Number  Start (sector)    End (sector)  Size       Code  Name1            2048      1048578047   500.0 GiB   8300  Linux filesystem2      1048578048      3145730047   1000.0 GiB  8300  Linux filesystem3      3145730048      6291458047   1.5 TiB     8300  Linux filesystem
  • 可以看到第四个分区确实删除了
修改分区名称
  • 命令为 c

Command (? for help): c
Partition number (1-4): 4
Enter name: DATA_I_XL

  • 将四个分区改了名称后

Command (? for help): p
Disk /dev/sda: 11721045168 sectors, 5.5 TiB
Model: ST6000NM0115-2R7
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): DA785A85-79D2-4AD1-911E-F169800B803A
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 11721045134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)Number  Start (sector)    End (sector)  Size       Code  Name1            2048      1048578047   500.0 GiB   8300  DATA_I_S2      1048578048      3145730047   1000.0 GiB  8300  DATA_I_M3      3145730048      6291458047   1.5 TiB     8300  DATA_I_L4      6291458048     11721045134   2.5 TiB     8300  DATA_I_XL

退出编辑状态
  • 命令 q 表示不保存本次修改的分区表,退出编辑状态
  • 命令 w 表示保存本次分区表编辑情况,退出编辑状态

Command (? for help): wFinal checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
  • 此时使用 lsblk 命令查看 /dev/sda

$ lsblk
NAME                  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                     8:0    0   5.5T  0 disk 
├─sda1                  8:1    0   500G  0 part 
├─sda2                  8:2    0  1000G  0 part 
├─sda3                  8:3    0   1.5T  0 part 
└─sda4                  8:4    0   2.5T  0 part 
sdb                     8:16   0   5.5T  0 disk 

可以看到我们分的四个分区保存了下来,至此我们磁盘分区已经完成

之后对磁盘进行格式化. 挂载即可正常使用。

设置文件系统
  • 在磁盘分区后得到了几块指定空间的磁盘空间
  • 之后需要为每块空间分配文件系统
  • 命令一般使用:

mkfs.<file_system> <device>

在命令行 mkfs. 下按 TAB 可以看到相关命令

$ mkfs.
mkfs.bfs  mkfs.cramfs  mkfs.ext2  mkfs.ext3  mkfs.ext4  mkfs.fat  mkfs.minix  mkfs.msdos  mkfs.ntfs  mkfs.vfat  mkfs.xfs 

示例:为 /dev/sda1 分区配置 XFS 文件系统:

sudo mkfs.xfs /dev/sda1
查看修改

Ubuntu 可以在图形界面的磁盘管理看到修改内容

  • 进入磁盘管理

  • 查看分区个数、大小、名称、文件系统

  • 也可以使用

blkid -p <device>

命令查看分区详细信息

总结分区流程
  1. 关机添加磁盘
  2. 开始分区 fdisk /dev/sda / gdisk /dev/sda
  3. n添加分区默认p主分区直接回车
  4. 可以分区的序号 默认1 直接回车
  5. 起始位大小默认直接回车
  6. 终止位大小 + 多少(K. M. G)回车
  7. w写入分区并退出
  8. 创建 XFS 文件系统mkfs.xfs /dev/sda1
  9. 挂载 mount /dev/sda1 /opt
  10. 查看挂载是否成功 df -h
参考资料
  • https://www.cnblogs.com/diantong/p/10489553.html
  • http://ipcmen.com/gdisk
  • https://zhuanlan.zhihu.com/p/448403378
  • https://m.iask.sina.com.cn/b/iRLJ70FHLOqh.html?ivk_sa=1024320u

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

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

相关文章

C++ 多态 - 下

目录 1. 多态的原理 1.1. 虚函数表 1.2. 多态原理 1.3. 静态绑定和动态绑定 1.3.1. 运行时决议 1.3.2. 编译时决议 1.4. 为什么基类的对象调用虚函数不能构成多态 2. 单继承中的虚函数表 2.1. 同类型对象的虚表 2.2. 单继承的对象的虚表 2.2.1. 内存窗口查看 2.2.2…

[CISCN 2018]sm

目录 1.题目 3.解题 4.参考 1.题目 题目链接 from Crypto.Util.number import getPrime,long_to_bytes,bytes_to_long from Crypto.Cipher import AES import hashlib from random import randint def gen512num():order[]while len(order)!512:tmprandint(1,512)if tmp n…

【送书福利第六期】Java开发的150多个坑,你踩过几个?(文末送书)

文章目录 做Java开发别掉坑里还不知道 程序员为什么会掉到坑里却不自知&#xff1f;第一是意识不到坑的存在。第二是有些 bug 或问题只在特定情况下暴露。第三是变化不明显的性能问题。 《Java开发坑点解析&#xff1a;从根因分析到最佳实践》Java 开发完美避坑指南结语 &#…

2010-2022年ESA_ CCI-LC数据集下载

扫描文末二维码&#xff0c;关注微信公众号&#xff1a;ThsPool 后台回复 g009&#xff0c;领取 2010-2022年300m分辨率 ESA_ CCI-LC 数据集 哥白尼气候数据集&#xff1a;土地利用和土地覆盖研究的宝贵资源 &#x1f30d;&#x1f50d; 土地利用和土地覆盖变化是全球变化研究…

纯血鸿蒙APP实战开发——自定义安全键盘案例

介绍 金融类应用在密码输入时&#xff0c;一般会使用自定义安全键盘。本示例介绍如何使用TextInput组件实现自定义安全键盘场景&#xff0c;主要包括TextInput.customKeyboard绑定自定义键盘、自定义键盘布局和状态更新等知识点。 效果图预览 实现思路 1. 使用TextInput的cu…

docker安装nginx支持ssl 实现https访问(完整版)

全文目录,一步到位 1.前言简介1.1 专栏传送门1.1.1 本文简介 2. docker安装nginx支持ssl2.0 准备ssl证书(例: 阿里云)2.0.1 配置域名解析2.0.2 找到数字证书管理服务并签发ssl证书2.0.3 选择默认证书 填写域名 创建2.0.4 提交审核, 签发成功2.0.5 解压并上传到宿主机ssl路径下 …

异常处理/__LINE__ 与 __FILE__ 宏在调试和异常处理中的高级使用

文章目录 概述痛点分析_LINE_ 代码所在行号_LINE_ 直接转为字符串_LINE_ 作为整型数据使用_LINE_标记宏函数的调用位置 _FILE_ 代码所在文件名简单实验不期望 _FILE_ 宏代表全路径 assert 使用了 _FILE_ 和 _LINE_借助TLS技术小结 概述 _LINE_和_FILE_是C/C中的预定义宏&#…

HarmonyOS开发案例:【生活健康app之编写通用工具类】(5)

本节将介绍日志打印、时间换算等通用工具类的编写和使用&#xff0c;工具类可以简化应用代码编写和业务流程处理。 日志类 日志类Logger旨在提供一个全局的日志打印、日志管理的地方&#xff0c;既可以规范整个应用的日志打印&#xff0c;也方便日后对日志工具类进行修改&…

利用106短信群发平台能否提升沟通效率?

利用106短信群发平台确实能够显著提升沟通效率&#xff0c;具体体现在以下几个方面&#xff1a; 1.快速传递信息&#xff1a;106短信群发平台能够实现信息的快速传递。一旦设置好发送内容和接收群体&#xff0c;短信便能在瞬间发送至大量用户。这种即时性确保了信息的迅速传达…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-15.4讲 GPIO中断实验-IRQ中断服务函数详解

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

java对象互换工具类

1:将Object类型转成json字符串 /*** 将对象转为字符串* param obj* return*/public static String toString(Object obj) {if(obj null) {return null;}if ("".equals(obj.toString())) {return null;}if (obj instanceof String) {return obj.toString();}try {Ob…

Spring Cloud Gateway 11种断言工厂

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Spring Cloud Gateway路由匹配是Spring WebFlux基础功能的一部分,在Spri…

你认识edge吗,edge是做什么的

简介 Microsoft Edge&#xff08;研发代号为Project Spartan&#xff0c;又译作微软边缘浏览器&#xff0c;Edge浏览器&#xff09;是一个由微软研发的基于Chromium开源项目及其他开源软件的网页浏览器&#xff0c;于2015年1月21日公布&#xff0c;2015年3月30日公开发布第一个…

pyqt曲线轨迹运动

pyqt曲线轨迹运动 pyqt QPropertyAnimation介绍曲线轨迹运动代码 pyqt QPropertyAnimation介绍 QPropertyAnimation 是 PyQt中的一个类&#xff0c;它用于对 Qt 对象的属性进行动画处理。通过使用 QPropertyAnimation&#xff0c;你可以平滑地改变一个对象的属性值&#xff0c…

闭散列哈希表

一、什么是 哈希 &#xff1f; 1.1 哈希概念 与 哈希冲突 在正式介绍闭散列哈希之前&#xff0c;我们需要明确 哈希 的概念。 哈希 &#xff1a;构造一种数据存储结构&#xff0c;通过函数 HashFunc() &#xff0c;使 元素的存储位置 与 其对应的键值 建立一一映射关系&…

国产开源物联网操作系统

软件介绍 RT-Thread是一个开源、中立、社区化发展的物联网操作系统&#xff0c;采用C语言编写&#xff0c;具有易移植的特性。该项目提供完整版和Nano版以满足不同设备的资源需求。 功能特点 1.内核层 RT-Thread内核包括多线程调度、信号量、邮箱、消息队列、内存管理、定时器…

JVM基础之垃圾回收

垃圾回收 1. Base 内存泄漏&#xff1a;不再使用的对象在系统中未被回收 内存溢出&#xff1a;内存泄漏的积累 手动触发垃圾回收&#xff1a;System.gc(),该方法不一定会立即回收垃圾&#xff0c;仅仅是向JVM发送一个垃圾回收请求&#xff0c;具体是否需要垃圾回收由JVM自行…

怎么找回回收站里删除的XLS文件?5个恢复方法

我们经常会使用到XLS文件来存储和整理数据。然而有时候由于误操作或不小心&#xff0c;我们可能会将重要的XLS文件删除&#xff0c;并且这些文件可能还被清空出了回收站。面对这种情况许多人会感到焦虑和无助。但是不必过于担心&#xff0c;因为有专门的软件可以帮助我们找回这…

(Java)心得:LeetCode——5.最长回文子串

一、原题 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同&#xff0c;则该字符串称为回文字符串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba"…