系统环境:Centos6、7

命令信息:

1、lsblk  列出分区信息,可以查看分区的光在目录和使用情况  (读取内存中的分区表信息)

2、fdisk 用来创建MBR分区(也可以创建GPT分区,但是支持的并不是特别完美,)

3、gdisk 用来创建GPT分区(如果要创建GPT分区,就来使用这个命令吧)

4、parted 高级分区操作(注意操作,很多命令一键完成,没有提示,所以也就不存在后悔的余地,功能强大)

5、partprobe 重新读取分区列表,并加载到内存中(centos6这个命令有bug,不能使用,5和7没有问题,待会儿再说解决方法)。

6、cfdisk 比fdisk更傻更直观的分区方法

7、cgdisk比gdisk更傻更直观的分区方法

——————————————————————————————————————————————————————————————–

1、fdisk /dev/sd* 管理分区

子命令:
p 分区列表
t 更改分区类型
n 创建新分区
d 删除分区
v 校验分区
u 转换单位
w 保存并退出
q 不保存并退出

当使用fdisk分区时,不连续的未分配存储空间,会造成无法将不连续的未分配空间划分成1个分区,这个需要注意,分区的默认单位是块,也可以指定单位如:M,G,T

2、gdisk /dev/sd* 管理分区 (类似fdisk不再赘述)

3、cfdisk、cgdisk两个命令就是相对fdisk和gdisk的的,有菜单,太直观了,不说他俩了。

4、partprobe强大的分区命令,但是parted的操作都是实时生效的,小心使用

用/dev/sdb磁盘来做演示:

  1. parted #不带参数直接进入交互式模式 ,输入help有命令的选项和提示信息
  2. parted /dev/sdb mklabel gpt|msdos #---- 指定gpt分区还是mbr分区(注意没有提示,操作了无法逆转,丢了数据不赖我) ---第一步
  3. parted /dev/sdb print #---- 打印/dev/sdb这个磁盘现有的分区
  4. parted /dev/sdb mkpart primary 1 200 (默认M) #创建主分区,(直接生效)
  5. parted /dev/sdb rm 1 #---- 删除编号为1的分区

在有分区的磁盘上重新进行分区,分区完成之后,使用lsblk命令读取分区表会发现分区表并没有改变,这是因为,分完区之后,系统并没有重新读取新的分区表。为了将最新的配置生效,可以使用partprobe命令重新读取分区表

但是紧跟着问题又来了:

Centos6系统的partprobe命令有bug,不能正常的使用。

解决方法:

新增分区用

partx -a /dev/DEVICE
kpartx -a /dev/DEVICE -f: force

删除分区用
partx -d –nr M-N /dev/DEVICE

MBR的备份与恢复:

备份

dd if=/dev/sda of=/app/mbr bs=1 count=512

还原

dd if=mbr of=/dev/sda bs=1 count=64 skip=446 seek=446(只还原分区表,前面446个字节包含bootloader和错误数据区,如果这条指令不能回复分区,说明最后一个字节也被破坏了,count改为66)

dd if=mbr of=/dev/sdb bs=1 count=512 (完全恢复包括,bootloader和分区表)

gpt分区的备份与恢复:

    1. gdisk /dev/sdb
    2. #备份
    3. Command (? for help): ?
    4. b back up GPT data to a file
    5. c change a partition's name
    6. d delete a partition
    7. i show detailed information on a partition
    8. l list known partition types
    9. n add a new partition
    10. o create a new empty GUID partition table (GPT)
    11. p print the partition table
    12. q quit without saving changes
    13. r recovery and transformation options (experts only)
    14. s sort partitions
    15. t change a partition's type code
    16. v verify disk
    17. w write table to disk and exit
    18. x extra functionality (experts only)
    19. ? print this menu
    20. 输入b,输入名字,备份gpt分区表到当前目录
    21. #恢复
    22. gdisk /dev/sdb
    23. Command (? for help): ?
    24. b back up GPT data to a file
    25. c change a partition's name
    26. d delete a partition
    27. i show detailed information on a partition
    28. l list known partition types
    29. n add a new partition
    30. o create a new empty GUID partition table (GPT)
    31. p print the partition table
    32. q quit without saving changes
    33. r recovery and transformation options (experts only)
    34. s sort partitions
    35. t change a partition's type code
    36. v verify disk
    37. w write table to disk and exit
    38. x extra functionality (experts only)
    39. ? print this menu
    40. 输入r,进入恢复模式
    41. Recovery/transformation command (? for help):?
    42. Recovery/transformation command (? for help): ?
    43. b use backup GPT header (rebuilding main)
    44. c load backup partition table from disk (rebuilding main)
    45. d use main GPT header (rebuilding backup)
    46. e load main partition table from disk (rebuilding backup)
    47. f load MBR and build fresh GPT from it
    48. g convert GPT into MBR and exit
    49. h make hybrid MBR
    50. i show detailed information on a partition
    51. l load partition data from a backup file
    52. m return to main menu
    53. o print protective MBR data
    54. p print the partition table
    55. q quit without saving changes
    56. t transform BSD disklabel partition
    57. v verify disk
    58. w write table to disk and exit
    59. x extra functionality (experts only)
    60. ? print this menu
    61. 使用l选项,从备份的文件恢复
    62. 使用b选项,从gpt分区尾部的备份恢复到gpt头
    63. 使用d选项,将gpt的头部信息,备份到尾部

Linux磁盘分区的实用管理命令的更多相关文章

  1. Linux 磁盘分区修改与管理

    --Linux 磁盘分区修改与管理 -----------------------------2014/03/05 1. 目的,将磁盘卷/dev/cciss/c0d0p8修改成新的用途. 原: /de ...

  2. Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk

    fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...

  3. Linux 实用指令(7)--Linux 磁盘分区、挂载

    目录 Linux 磁盘分区.挂载 1 分区基础知识 1.1 分区的方式: 1.2 windows 下的磁盘分区 2 Linux分区 2.1 原理分析 2.2 磁盘说明 2.3 使用lsblk指令查看当 ...

  4. Linux磁盘分区(二)之挂载卸载常用命令

    Linux磁盘分区(二)之挂载卸载常用命令 转自:https://blog.csdn.net/qq_36183935/article/details/81053383           https: ...

  5. Linux磁盘分区(三)之查看磁盘分区常用命令

    Linux磁盘分区(三)之查看磁盘分区常用命令转自https://blog.csdn.net/x356982611/article/details/77893264 1.df     df -T 总的 ...

  6. Linux磁盘分区(一)之fdisk命令

    Linux磁盘分区(一)之fdisk命令转自:https://www.cnblogs.com/machangwei-8/p/10353683.html 一.fdisk 的介绍fdsik 能划分磁盘成为 ...

  7. Linux磁盘分区fdisk命令操作(简洁版)

    实例(环境为: CentOS Linux release 7.2.1511 (Core), 3.10.0-327.el7.x86_64) 选择要具体操作的第二块磁盘(linux下一切是文件形式对应): ...

  8. <实训|第七天>横扫Linux磁盘分区、软件安装障碍附制作软件仓库

    期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...

  9. Linux磁盘分区与文件系统

    一 Linux磁盘分区与文件系统 在Linux中常见的操作系统有:ext2 ext3 ext4 xfs btrfs reiserfs等文件系统的作用主要是明确磁盘或分区上的文件存储方法以及数据结构,L ...

随机推荐

  1. createjs小游戏开发总结

    createjs缩放,html组件input的缩放,transform位置,缩放,字体的大小. 移动端横屏和竖屏幕旋转屏幕自适应,input弹出软键盘的原理和位置偏移,focus,blur弹出软键盘. ...

  2. Oracle-DQL 5- 分组函数(多行函数)

    分组函数(多行函数):--针对表中的多行数据进行运算,返回一个结果 1.多行函数 --sum() 求和SELECT SUM(sal) FROM emp; --avg() 求平均值SELECT AVG( ...

  3. 数据排序 sort

    排序命令: 常和管道进行协作的命令  -sort  (默认使用字符的第一个字符进行排序) -n  按数字排序 -r  反序排序 -o  结果 输出到文件 -t  分隔符 (sort -n -t &qu ...

  4. 【LOJ】#3046. 「ZJOI2019」语言

    LOJ#3046. 「ZJOI2019」语言 先orz zsy吧 有一个\(n\log^3n\)的做法是把树链剖分后,形成logn个区间,这些区间两两搭配可以获得一个矩形,求矩形面积并 然后就是对于一 ...

  5. 20190507-学习dubbo有感于梁飞

    “作为一名程序员,BAT肯定是大多数人都想进的,仿佛是一种情愫,就像学生时代的我们对清华北大的向往感觉一样.Dubbo团队中,其中主要负责人就是梁飞了,梁飞的经历还是蛮励志的.梁飞,花名虚极, 200 ...

  6. 【重启C++】 关于 【类】

    1.什么是抽象类 带有纯虚函数成员的类,称为抽象类.抽象类不能被实例化,因为如果能实例化,调用这个纯虚的成员函数时怎么处理. 2.什么是纯虚函数 纯虚函数是在声明虚函数时被“初始化”为0的函数.声明纯 ...

  7. find_in_set使用

    FIND_IN_SET(str,strList) str 要查询的字符串 strList 字段名,参数以“,”分隔,如(1,2,6,8) 查询字段(strList)中包含的结果,返回结果null或记录 ...

  8. c++11 跨平台多线程demo和qt 静态链接(std::thread有join函数,设置 QMAKE_LFLAGS = -static)

    #include <stdio.h>#include <stdlib.h> #include <chrono> // std::chrono::seconds#in ...

  9. 怎样理解Node接口 / ParentNode接口 / ChildNode接口

    ParentNode 和 ChildNode可以理解为是Node的子集, 它对一些具有父节点或子节点的节点提供了一些额外的方法和属性, 比如: 1. 继承了ParentNode的接口有: 元素节点 / ...

  10. EF 查询扩展

    using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Da ...