Linux磁盘分区的实用管理命令

系统环境: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的头部信息,备份到尾部
posted @ 2018-02-28 21:05  莫孟林  阅读(1133)  评论(0编辑  收藏  举报