Parted 创建 GPT 分区
对于磁盘的分区表 MBR与GPT区别。
MBR:MBR分区表(即主引导记录)大家都很熟悉,是过去我们使用windows时常用的。
所支持的最大卷:2T,而且对分区有限制:最多4个主分区或3个主分区加一个扩展分区
GPT: GPT(即GUID分区表)。是源自EFI标准的一种较新的磁盘分区表结构的标准,是未来磁盘分区的主要形式。与MBR分区方式相比,具有如下优点。
突破MBR 4个主分区限制,每个磁盘最多支持128个分区。支持大于2T的分区,最大卷可达18EB。
对于 GPT 的分区,建议使用 parted 工具进行分区,fdisk 在 GPT 这块不是很好。
Parted 介绍
Parted 命令分为两种模式:命令行模式和交互模式。
命令行模式
parted [option] device [command] ,该模式可以直接在命令行下对磁盘进行分区操作,比较适合编程应用。如:
显示磁盘/dev/sdb分区。
parted /dev/sdb print
交互模式
parted [option] device 进入交互模式。尤其是对 parted 命令不是很熟悉的情况下建议使用交互模式。
parted /dev/sdb
parted命令常用选项
进入 交互模式下, 输入 help
可以看到如下提示,本文基于 Parted 3.2 进行说明。
test@test01:~$ sudo parted /dev/sdb
GNU Parted 3.2
使用 /dev/sdb
欢迎使用 GNU Parted! 输入 'help'可获得命令列表.
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkpart 分区类型 [文件系统类型] 起始点 终止点 创建一个分区
name NUMBER 名称 将编号为NUMBER 的分区命名为“名称”
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space,
all found partitions, or a particular partition
quit 退出程序
rescue 起始点 终止点 挽救临近“起始点”、“终止点”的遗失的分区
resizepart NUMBER END resize partition NUMBER
rm MINOR 删除编号为 MINOR 的分区
选择设备 选择要编辑的设备
disk_set FLAG STATE change the FLAG on selected device
disk_toggle [FLAG] toggle the state of FLAG on selected device
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] 切换分区 NUMBER 的 FLAG 标记
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU
Parted
(parted)
比较常用的几个选项是
- help 打印帮助信息
- print 输出分区信息
- mklabel 创建分区表, 即是使用msdos(MBR)还是使用gpt,或者是其他方式分区表
- mkpart 创建新分区
格式:mkpart PART-TYPE START END
PART-TYPE类型主要有primary(主分区), extended(扩展分区), logical(逻辑区). 扩展分区和逻辑分区只对msdos。 - rm 删除一个分区
- resizepart 调整指定的分区的大小
- quit 退出该交互界面
对磁盘进行分区
首先对于容量较大的磁盘使用 fdisk 工具会得到如下提示:
test@test01:~$ sudo fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.31.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
The size of this disk is 3.7 TiB (4000787030016 bytes). DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).
创建了一个磁盘标识符为 0x9f682389 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):
这个时候我们就需要更新 parted 来对磁盘进行分区。
更改分区表
操作如下:
(parted) mklabel gpt
(parted) print
Model: ATA ST4000DM004-2CV1 (scsi)
磁盘 /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
分区表:gpt
Disk Flags:
数字 开始: End 大小 文件系统 Name 标志
(parted)
创建分区
使用 mkpart 创建自己需要的大小的分区
(parted) mkpart primary 0 4TB
(parted) p
Model: ATA ST4000DM004-2CV1 (scsi)
磁盘 /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
分区表:gpt
Disk Flags:
数字 开始: End 大小 文件系统 Name 标志
1 1049kB 4001GB 4001GB primary
(parted)
创建好以后退出。
parted 的每一个操作都是即时生效,和 fdisk 不同,fdisk 只有在最后使用
w
进行保存以后才会生效 。
格式化分区
格式化成你需要的文件系统。
mkfs.ext4 /dev/sdb1
整个分区创建过程就结束了。
对齐分区以得到最优性能
当分区不对齐时,parted 会提示如下
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel?
对于这个提示,只要分区对齐就好。如果你的设计,就是要不对齐,那么可以忽略这个提示。
对齐分区有两个方法,
方法一,使用百分比来表示要分区的的空间大小,那么到100%的时候自然是对齐的。示例如下:
(parted) mkpart primary 0% 100%
(parted) p
Model: ATA ST4000DM004-2CV1 (scsi)
磁盘 /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
分区表:gpt
Disk Flags:
数字 开始: End 大小 文件系统 Name 标志
1 1049kB 4001GB 4001GB primary
(parted)
方法二,如果是使用容量来进行空间大小的话,那么 -1
这个值代表的是最后的位置。示例如下:
(parted) mkpart primary 0TB -1
(parted) p
Model: ATA ST4000DM004-2CV1 (scsi)
磁盘 /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
分区表:gpt
Disk Flags:
数字 开始: End 大小 文件系统 Name 标志
1 1049kB 4001GB 4001GB primary
(parted)
方法三,手动进行计算。
下边这篇博客的作者描述了如何计算磁盘的扇区来保证分区对齐。
https://rainbow.chard.org/2013/01/30/how-to-align-partitions-for-best-performance-using-parted/
Parted 创建 GPT 分区的更多相关文章
- 使用parted创建gpt大分区例子
[root@VM000000518 ~]# parted /dev/xvde GNU Parted 2.1 Using /dev/xvde Welcome to GNU Parted! Type 'h ...
- parted创建磁盘分区并创建LVM(Linux合并多块大于2T的磁盘并合并到一个分区)
文章转载自:https://blog.csdn.net/likemebee/article/details/85630808
- 2T以上的盘怎么分区, 利用parted创建 linuxTB硬盘GPT分区
parted创建GPT分区(fdisk不支持创建GPT分区,GPT支持大于2TB分区,MBR不支持) 介绍2种分区表: MBR分区表:(MBR含义:主引导记录) 所支持的最大卷:2T (T; tera ...
- [RHEL 6]GPT分区--parted
对于2T以上的硬盘,划分分区表需要GPT分区,RHEL 6中使用parted进行分区 用法:parted [选项]... [设备 [命令 [参数]...]...] 将带有“参数”的命令应用于“设备”. ...
- GPT分区基础知识及如何在GPT分区上安装WIN7
大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘,更快速的启动win8,预装系统都采取了GPT分区 ...
- 预装WIN8的电脑是GPT分区模式,无法安装WIN7
本人的笔记本自带的是WIN8系统,现在想安装WIN7的系统,但是安装不了,提示"windows无法安装到这个磁盘.选中的磁盘采用GPT分区形式". 通过上网搜索得知WIN7一般安装 ...
- 磁盘挂载问题:Fdisk最大只能创建2T分区的盘,超过2T使用parted
需求说明:云服务器上买了一块8T的磁盘,准备挂载到服务器上的/data目录下. ===================================parted命令说明=============== ...
- Linux下的GPT分区,使用parted命令
Linux下的GPT分区,这是另外一种分区,针对MBR分区,它有很多优点: (1)几乎突破了分区个数的限制. 在GPT分区表中最多可以支持128个主分区. (2)单个分区容量几乎没有限制. 单个分区最 ...
- 使用parted 创建一个大于2T的分区
1.查看现有分区 parted -l fdisk -l 2.对/dev/sdb分一个区 [root@test ~]# parted /dev/sdb (parted) mkpart ...
随机推荐
- 阿里云DLA工具 查询tablestore数据
OTS和DLA元信息映射逻辑 字段的映射关系 OTS DLA INTEGER(8bytes) bigint(8bytes) STRING varchar BINARY varbinary DOUBLE ...
- 设计模式----行为型模式之命令模式(Command Pattern)
下面来自head first设计模式的命令模式一章节. 定义 将"请求"封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象.命令模式也支持可撤销的操作. 类图 注: 1. ...
- 阿里云服务器ecs + tomcat + 域名解析 部署web页面
1.购买ecs:https://www.aliyun.com/product/ecs?spm=5176.12825654.eofdhaal5.2.3bf92c4aYOB7gL&aly_as=A ...
- iptables详解之filter
iptables详解之filter iptables令很多小伙伴脑阔疼,下面我们来说说如何使用iptables. 一.iptables格式 1.1.iptables 帮助 通过iptables --h ...
- 移动端网页常用meta
今天在对前公司的某直播室前端进行改版时,整理了一下平时移动端页面开发时,最常用的meta.如下: <!--定义页面制作者,可以留姓名,也可以留联系方式--> <meta name=& ...
- JVM参数的配置及意义
JVM参数设置.分析 因为在工作中遇到了JVM参数的配置,不明白,网上搜索发现一篇好文,转载至:https://www.cnblogs.com/redcreen/archive/2011/05/04/ ...
- 关于Stream的知识分享
一.什么是Stream 查了一下MSDN,他是这么解释的:提供字节序列的一般视图. 这个解释有点太笼统了,下面,我们来仔细的捋一下 1.什么是字节序列? 字节序列指的是:字节对象被存储为连续的字节序列 ...
- 2019.4.22 python_Flag
想了很久 最后觉得还是对编程的知识点好好重新的拉一边 回炉重造并不可笑 虽然从C到java到php到python 有两年的时间了 但是很多知识点都是零零碎碎,没有花时间复习和记录 所以决定从pyth ...
- 我家很管事的猫——mycat初步部署实践与问题排查
mycat,阿里出品的mysql中间件,提供读写分离和分库分表方案.项目中主要使用的是其读写分离功能. [如何部署?] 本文只采用并测试了双主从模式,配置看这一篇足矣: https://www.cnb ...
- Python开发【第十一篇】函数
函数 什么是函数? 函数是可以重复执行的语句块,可以重复调用并执行函数的面向过程编程的最小单位. 函数的作用: 函数用于封装语句块,提高代码的重用性,定义用户级别的函数.提高代码的可读性和易维护性. ...