【磁盘】用 gdisk 新增分区、删除分区

2024-05-10 03:12

本文主要是介绍【磁盘】用 gdisk 新增分区、删除分区,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

相关文章:
【Linux学习笔记16】磁盘的分区、格式化、检验与挂载(blkid、lsblk、UUID、parted查看分区的格式、lvm命令)

1. 用 gdisk 新增分区

如果你是按照鸟哥建议的方式去安装你的 CentOS 7,那么你的磁盘应该会预留一块容量来做练习的。如果没有的话, 那么你可能需要找另外一颗磁盘来让你练习才行呦!而经过上面的观察,我们也确认系统还有剩下的容量可以来操作练习分区! 假设我需要有如下的分区需求:

  • 1GB 的 xfs 文件系统 (Linux)

  • 1GB 的 vfat 文件系统 (Windows)

  • 0.5GB 的 swap (Linux swap)(这个分区等一下会被删除喔!)

那就来处理处理!

[root@study ~]# gdisk /dev/vda     //进入对某个磁盘进行分区操作入口Command (? for help): p           //查看当前磁盘的分区概况Number Start (sector) End (sector) Size Code Name1 2048 6143 2.0 MiB EF022 6144 2103295 1024.0 MiB 07003 2103296 65026047 30.0 GiB 8E00  //最后一个分区编号,后续需要在此进行递增  ,找出最后一个 sector 的号码是很重要的!Command (? for help): ?     // 查一下增加分区的指令选项
Command (? for help): n       //就是这个!所以开始新增的行为!Partition number (4-128, default 4): 4   //新的分区的编号,默认就是 4 号,所以也能 enter 即可! First sector (34-83886046, default = 65026048) or {+-}size{KMGTP}: 65026048 // 也能直接 enter,表示起始点,一般是接之前的末尾Last sector (65026048-83886046, default = 83886046) or {+-}size{KMGTP}: +1G   // **** 决不能 enter

注意设置 Last sector,是设置结束的地方,这样 和 这个地方和 First sector直接的值,就是新分区的大小。可有趣了!我们不需要自己去计算扇区号码,通过 +容量 的这个方式, 就可以让 gdisk 主动去帮你算出最接近你需要的容量的扇区号码喔!

我们设置了 +1G,就表示仅占1G空间。

Current type is 'Linux filesystem'Hex code or GUID (L to show codes, Enter = 8300):    // 使用默认值即可,直接按 enter !//这里在让你选择未来这个分区预计使用的文件系统!默认都是 Linux 文件系统的 8300 啰!Command (? for help): p            //再次查看当前的分区情况Number Start (sector) End (sector) Size Code Name1 2048 6143 2.0 MiB EF022 6144 2103295 1024.0 MiB 07003 2103296 65026047 30.0 GiB 8E004 65026048 67123199 1024.0 MiB 8300 Linux filesystem    //发现新增加了一个分区 ,注意:你此时另开一个窗口,lsblk命令时是看不到的

注意:你此时另开一个窗口,lsblk命令时是看不到的,因为还没写到分区表中,暂时查不到。

重点在“ Last sector ”那一行,那行绝对不要使用默认值!因为默认值会将所有的容量用光!因此它默认选择最大的扇区号码! 因为我们仅要 1GB 而已,所以你得要加上 +1G 这样即可!不需要计算 sector 的数量,gdisk 会根据你填写的数值, 直接计算出最接近该容量的扇区数!每次新增完毕后,请立即“ p ”查看一下结果喔!

请继续处理后续的两个分区! 最终出现的画面会有点像下面这样才对!

Command (? for help): pNumber Start (sector) End (sector) Size Code Name1 2048 6143 2.0 MiB EF022 6144 2103295 1024.0 MiB 07003 2103296 65026047 30.0 GiB 8E004 65026048 67123199 1024.0 MiB 8300 Linux filesystem5 67123200 69220351 1024.0 MiB 0700 Microsoft basic data   //注意这个类型是 0700,不能直接按回车键6 69220352 70244351 500.0 MiB 8200 Linux swap     注意这个类型是 8200,不能直接按回车键

基本上,几乎都用默认值,然后通过 +1G, +500M 来创建所需要的另外两个分区!比较有趣的是文件系统的 ID 啦!一般来说, Linux 大概都是 8200/8300/8e00 等三种格式, Windows几乎都用 0700 这样,如果忘记这些数字,可以在 gdisk 内按下:“ L ”来显示喔! 如果一切的分区状态都正常的话,那么就直接写入磁盘分区表吧!

Command (? for help): wFinal checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTINGPARTITIONS!!Do you want to proceed? (Y/N): y            //上面有个警告,选择YOK; writing new GUID partition table (GPT) to /dev/vda.Warning: The kernel is still using the old partition table.The new table will be used at the next reboot.The operation has completed successfully.

gdisk 会先警告你可能的问题,我们确定分区是对的,这时才按下 y !不过怎么还有警告?

这是因为这颗磁盘目前正在使用当中,因此系统无法立即载入新的分区表~

使用下面的命令 或者 lsblk,此时看不到新加的分区:

[root@study ~]# cat /proc/partitionsmajor minor #blocks name252 0 41943040 vda252 1 2048 vda1252 2 1048576 vda2252 3 31461376 vda3253 0 10485760 dm-0253 1 1048576 dm-1253 2 5242880 dm-2# 你可以发现,并没有 vda4, vda5, vda6 喔!因为核心还没有更新!

因为 Linux 此时还在使用这颗磁盘,为了担心系统出问题,所以分区表并没有被更新喔!这个时候我们有两个方式可以来处理! 其中一个是重新开机,不过很讨厌!另外一个则是通过partprobe 这个指令来处理即可!

2. partprobe 更新 Linux 核心的分区表信息

partprobe [-s] // s可选参数,打印详细信息, 你可以不要加 -s !那么屏幕不会出现讯息!


[root@study ~]# partprobe -s # 不过还是建议加上 -s 比较清晰!/dev/vda: gpt partitions 1 2 3 4 5 6[root@study ~]# lsblk /dev/vda # 实际的磁盘分区状态NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 252:0 0 40G 0 disk|-vda1 252:1 0 2M 0 part|-vda2 252:2 0 1G 0 part /boot|-vda3 252:3 0 30G 0 part| |-centos-root 253:0 0 10G 0 lvm /| |-centos-swap 253:1 0 1G 0 lvm [SWAP]| `-centos-home 253:2 0 5G 0 lvm /home|-vda4 252:4 0 1G 0 part       //能被看到了|-vda5 252:5 0 1G 0 part      //能被看到了`-vda6 252:6 0 500M 0 part       //能被看到了[root@study ~]# cat /proc/partitions # 核心的分区纪录major minor #blocks name252 0 41943040 vda252 1 2048 vda1252 2 1048576 vda2252 3 31461376 vda3252 4 1048576 vda4252 5 1048576 vda5252 6 512000 vda6# 现在核心也正确的抓到了分区参数了!

3. 用 gdisk 删除一个分区

已经学会了新增分区,那么删除分区呢?好!现在让我们将刚刚创建的 /dev/vda6 删除!你该如何进行呢?鸟哥下面很快的处理一遍, 大家赶紧来瞧一瞧先!

[root@study ~]# gdisk /dev/vdaCommand (? for help): pNumber Start (sector) End (sector) Size Code Name1 2048 6143 2.0 MiB EF022 6144 2103295 1024.0 MiB 07003 2103296 65026047 30.0 GiB 8E004 65026048 67123199 1024.0 MiB 8300 Linux filesystem5 67123200 69220351 1024.0 MiB 0700 Microsoft basic data6 69220352 70244351 500.0 MiB 8200 Linux swapCommand (? for help): d    //表示删除操作Partition number (1-6): 6   //输入分区序号Command (? for help): p   //你会发现 /dev/vda6 不见了!

非常棒!没问题就写入吧!

Command (? for help): w   //同样会有一堆讯息!鸟哥就不重复输出了!自己选择 y 来处理吧!
[root@study ~]# lsblk   // 你会发现!怪了!怎么还是有 /dev/vda6 呢?没办法!还没有更新核心的分区表啊!所以当然有错![root@study ~]# partprobe -s   //刷新[root@study ~]# lsblk    这个时候,那个 /dev/vda6 才真的消失不见了!了解吧!

4. 观察新分区

新加的卷,没有被mount,并且显示的type 为 part

[root@study ~]# lsblk /dev/vda # 实际的磁盘分区状态NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 252:0 0 40G 0 disk|-vda1 252:1 0 2M 0 part|-vda2 252:2 0 1G 0 part /boot|-vda3 252:3 0 30G 0 part| |-centos-root 253:0 0 10G 0 lvm /| |-centos-swap 253:1 0 1G 0 lvm [SWAP]| `-centos-home 253:2 0 5G 0 lvm /home|-vda4 252:4 0 1G 0 part       //能被看到了|-vda5 252:5 0 1G 0 part      //能被看到了`-vda6 252:6 0 500M 0 part       //能被看到了

这篇关于【磁盘】用 gdisk 新增分区、删除分区的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975277

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

python删除xml中的w:ascii属性的步骤

《python删除xml中的w:ascii属性的步骤》使用xml.etree.ElementTree删除WordXML中w:ascii属性,需注册命名空间并定位rFonts元素,通过del操作删除属... 可以使用python的XML.etree.ElementTree模块通过以下步骤删除XML中的w:as

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja