早期硬盘一圈63个扇区,一个扇区512bytes,一圈占用空间512x63,1024个磁道(0-1023),磁头256个
总容量:512x63x1024x256=8G
一个柱面:512x63x256=8064K=8M

1.MBR分区结构

磁盘管理 - 图1

2.GPT分区结构

磁盘管理 - 图2

3.BIOS+MBR与UEFI+GPT

磁盘管理 - 图3

4.查看分区的四种方式

  1. 内存中的分区表
  2. ls /dev/sd*
  3. cat /proc/partitions
  4. lsblk
  5. 磁盘中的分区表
  6. fdisk -l /dev/sda 查看磁盘具体分区(传统查看)
  7. parted /dev/sdb print

5.管理分区

  • parted 高级分区操作(可直接也可交互)

  1. dd if=/dev/zero of=/dev/sdb bs=1 count=512 清空分区表类型
  2. dd if=/dev/zero of=/dev/sdb 清空整块硬盘分区和数据
  3. mdadm --zero-superblock /dev/sdb1 删除raid信息表,-f强制,不需要挂载
  4. parted的操作都是实时生效,时刻注意
  5. parted /dev/sdb mklabel gpt 创建gpt分区
  6. parted /dev/sdc mklabel msdos 创建mbr分区
  7. 查看分区
  8. parted /dev/sdb print
  9. 创建分区
  10. parted /dev/sdb mkpart primay 1 1000 (默认M,从1M开始)
  11. 删除分区(1是查看分区后的显示编号)
  12. parted /dev/sdb rm 1
  13. 查看所有硬盘分区
  14. parted -l
  • gdisk 管理分区(gpt)

  1. gdisk /dev/sdb
  2. gdisk -l /dev/sdb
  3. 子命令:
  4. p 分区列表
  5. t 更改分区类型
  6. n 创建新分区
  7. d 删除分区
  8. v 校验分区
  9. u 转换单位
  10. w 保存并退出
  11. q 不保存并退出
  1. 操作
  2. Command (? for help): n 创建新分区
  3. Partition number (2-128, default 2): 3 分区编号
  4. First sector (34-209715166, default = 1953792) or {+-}size{KMGTP}:
  5. Last sector (1953792-209715166, default = 209715166) or {+-}size{KMGTP}: +1G
  6. Current type is 'Linux filesystem'
  7. Hex code or GUID (L to show codes, Enter = 8300):
  8. Changed type of partition to 'Linux filesystem'
  9. Command (? for help): p 显示分区列表
  10. Disk /dev/sdb: 209715200 sectors, 100.0 GiB
  11. Logical sector size: 512 bytes
  12. Disk identifier (GUID): 1490A4FD-FBF1-40F7-BD12-457C26970D46
  13. Partition table holds up to 128 entries
  14. First usable sector is 34, last usable sector is 209715166
  15. Partitions will be aligned on 2048-sector boundaries
  16. Total free space is 205666237 sectors (98.1 GiB)
  17. Number Start (sector) End (sector) Size Code Name
  18. 1 2048 1953791 953.0 MiB 0700 primay
  19. 3 1953792 4050943 1024.0 MiB 8300 Linux filesystem
  20. Command (? for help): d 删除分区
  21. Partition number (1-3): 3
  • fdisk 管理分区(mbr)

  1. mbr覆盖gpt分区
  2. parted /dev/sdb mklabel msdos
  3. fdisk /dev/sdb
  4. fdisk -l /dev/sda 以扇区方式查看分区
  5. fdisk -u=cylinders /dev/sda 以柱面方式查看分区
  6. 子命令:
  7. p 分区列表
  8. t 更改分区类型
  9. n 创建新分区
  10. d 删除分区
  11. v 校验分区
  12. u 转换单位
  13. w 保存并退出
  14. q 不保存并退出
  1. 操作
  2. Command (m for help): n 创建新分区
  3. Partition type:
  4. p primary (0 primary, 0 extended, 4 free)
  5. e extended
  6. Select (default p):
  7. Using default response p
  8. Partition number (1-4, default 1):
  9. First sector (2048-209715199, default 2048):
  10. Using default value 2048
  11. Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): +1G
  12. Partition 1 of type Linux and of size 1 GiB is set
  13. Command (m for help): p 查看分区
  14. Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
  15. Units = sectors of 1 * 512 = 512 bytes
  16. Sector size (logical/physical): 512 bytes / 512 bytes
  17. I/O size (minimum/optimal): 512 bytes / 512 bytes
  18. Disk label type: dos
  19. Disk identifier: 0x000d714a
  20. Device Boot Start End Blocks Id System
  21. /dev/sdb1 2048 2099199 1048576 83 Linux
  22. /dev/sdb2 2099200 6293503 2097152 83 Linux 后续加的分区
  23. Command (m for help): d
  24. Partition number (1,2, default 2): 2 2指的是sdb2
  • 同步分区表

  1. CentOS 57: 使用partprobe
  2. partprobe [/dev/DEVICE] 不加设备默认全部同步
  3. CentOS 6
  4. 新增分区用
  5. partx -a /dev/DEVICE
  6. kpartx -a /dev/DEVICE -f: force
  7. 删除分区用(6-7指的删除sdb6sdb7,或一个一个写)
  8. partx -d --nr 6-7 /dev/DEVICE