Linux基础(day14)

时间:2022-04-27
本文章向大家介绍Linux基础(day14),主要内容包括4.1 df命令、df命令用法、4.2 du命令、du命令用法、du命令总结、4.3/4.4 磁盘分区、划分磁盘分区、分区的类型:、划分主分区、划分扩展分区、对比:删除主分区和逻辑分区、划分扩展分区、总结、扩展学习 parted分区gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

4.1 df命令

df命令介绍

  • df命令,汇报文件系统磁盘的使用情况
[root@localhost ~]# df
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda3      18658304 1179512 17478792    7% /
devtmpfs         494376       0   494376    0% /dev
tmpfs            504196       0   504196    0% /dev/shm
tmpfs            504196    6860   497336    2% /run
tmpfs            504196       0   504196    0% /sys/fs/cgroup
/dev/sda1        201380  111488    89892   56% /boot
tmpfs            100840       0   100840    0% /run/user/0
[root@localhost ~]# 
  1. 第一列:文件系统,也就是磁盘分区的名字
  2. 第二列:磁盘的总大小(单位:kb)
  3. 第三列:已使用的磁盘大小量(单位:kb)
  4. 第四列:磁盘大小的剩余量(单位:kb)
  5. 第五列:已使用百分比 ##平常需要工作中需要注意的地方,注意磁盘使用的百分比,再到百分之八十、九十的时候就需要关注了
  6. 第六列:挂载点,其实系统的目录,linux中的磁盘是不能直接访问的,必须要有一个挂载点,才能进入磁盘中读写

df命令用法

df -h命令

  • df -h 可以根据磁盘的大小,适当的显示单位
    • 可用单位有:Byte字节 KB MB
      • 1000Byte=1kb
      • 1000KB=1MB
      • 1000MB=1GB
      • 1000GB=1TB
    • 其实真正的换算单位是1024,但其中的24对于1000微不足道,所以忽略掉了
[root@localhost ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.2G   17G    7% /
devtmpfs        483M     0  483M    0% /dev
tmpfs           493M     0  493M    0% /dev/shm
tmpfs           493M  6.7M  486M    2% /run
tmpfs           493M     0  493M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            99M     0   99M    0% /run/user/0
  • 在装系统的时候,我们划分了/boot,/,swap这三个分区,但在使用df -h会看到还有其他分区,其中文件系统中只有带有 tmpfs 的,就说明该文件系统是一个临时的文件系统(在该文件系统中写入了文件,在重启后文件还是会消失)
  • /dev/shm是内存,把文件写入其中,读取速度很快 (大小是物理内存的一半)
  • 查看swap大小,使用 free 命令查看 [root@localhost ~]# free 查看swap大小 total used free shared buff/cache available Mem: 1008392 117776 554532 6864 336084 708060 Swap: 2097148 0 2097148 [root@localhost ~]#
    • total 表示一共有多大,free 表示还剩多少
    • swap大小为内存的两倍

df -i命令

  • df -i 查看该分区下有多少个inode,以及inode的使用情况
[root@localhost ~]# df -i
文件系统         Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3      9334272   32347 9301925       1% /
devtmpfs        123594     377  123217       1% /dev
tmpfs           126049       1  126048       1% /dev/shm
tmpfs           126049     446  125603       1% /run
tmpfs           126049      16  126033       1% /sys/fs/cgroup
/dev/sda1       102400     330  102070       1% /boot
tmpfs           126049       1  126048       1% /run/user/0
  • 创建好分区后,一旦格式化(格式化的过程就是在创建inode,inode大小是根据磁盘大小来决定)
  • 有时会遇到一种情况,
    • 磁盘df -h命令后,会看到只使用了百分之七八十,还有剩余空间,但就是写入不了
    • 这时候可以使用df -i 查看inode使用情况,看inode是否使用到100%
    • 在inode满了后,即使磁盘有空间,会是无法写入磁盘中的

df -m命令

  • df -m 命令,以 兆 为单位显示
[root@localhost ~]# df -m
文件系统       1M-块  已用  可用 已用% 挂载点
/dev/sda3      18221  1152 17070    7% /
devtmpfs         483     0   483    0% /dev
tmpfs            493     0   493    0% /dev/shm
tmpfs            493     7   486    2% /run
tmpfs            493     0   493    0% /sys/fs/cgroup
/dev/sda1        197   109    88   56% /boot
tmpfs             99     0    99    0% /run/user/0
[root@localhost ~]# 

4.2 du命令

du命令

  • du命令,查看文件的大小

du命令用法

du -sh 目录/文件命令用法

  • du -sh 目录/文件 查看目录或文件的大小
[root@localhost ~]# du -sh /root/      查看目录的大小
80K	/root/
[root@localhost ~]# du -sh /boot/      
99M	/boot/
[root@localhost ~]# du -sh /etc/passwd     查看文件的大小
4.0K	/etc/passwd
[root@localhost ~]# ls -lh /etc/passwd
-rw-r--r--. 1 root root 1.2K 11月  1 16:20 /etc/passwd
- ls -lh和du -sh查看文件的大小不同,里面设计到块的大小
  • 磁盘会划分成很多个小块,每个小块为 4kb ,把文件写入到块当中去,即使文件小于 4kb ,那也会占据一个块,所以一个块只能有一个文件,而不能有多个文件去占用这个块

du -s 目录

  • du -s 目录 会不显示单位,但默认单位是K
[root@hf-01 ~]# du -s /root/
496	/root/
[root@hf-01 ~]# du -sh /root/
496K	/root/

du 目录/文件

  • du 目录/文件 直接显示文件/目录大小
    • 弊端:既不显示单位,也不知道具体列出的目录里面包含哪些文件
[root@hf-01 ~]# du /etc/passwd
4	/etc/passwd
[root@hf-01 ~]# du /root/
0	/root/hf
0	/root/123
0	/root/234/am
0	/root/234/am1
0	/root/234/asddf
0	/root/234
0	/root/6666
0	/root/7777
496	/root/
[root@hf-01 ~]# 

du命令总结

  • 在查看一个目录/文件的时候,一般使用 du -sh 去查看
    • 其中的 h 表示单位k

4.3/4.4 磁盘分区

添加虚拟磁盘

  1. 第一步,选择虚拟机中的“设置”
  1. 第二步,选择“添加硬盘”
  1. 第三步,选择_SCSI (推荐) # 保持默认
  1. 第四步,选择“创建新的虚拟磁盘”
  1. 第五步,选择_添加10个G
  1. 第六步,选择-完成
  1. 第七步,选择-确认
  • 在服务器上,是支持 热拔插 功能的,但在虚拟机中是无法实现的
  • fdisk命令,
    • 查看系统的磁盘
    • 给磁盘分区,fdisk /dev/sdb 磁盘的名称
[root@hf-01 ~]# fdisk
用法:
 fdisk [选项] <磁盘>    更改分区表
 fdisk [选项] -l <磁盘> 列出分区表
 fdisk -s <分区>        给出分区大小(块数)

选项:
 -b <大小>             扇区大小(512、1024、2048或4096)
 -c[=<模式>]           兼容模式:“dos”或“nondos”(默认)
 -h                    打印此帮助文本
 -u[=<单位>]           显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
 -v                    打印程序版本
 -C <数字>             指定柱面数
 -H <数字>             指定磁头数
 -S <数字>             指定每个磁道的扇区数
  • fdisk -l 列出所有系统中的所有磁盘
[root@hf-01 ~]# fdisk -l        列出系统中所有的磁盘

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009d2c4

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     4605951     2097152   82  Linux swap / Solaris
/dev/sda3         4605952    41943039    18668544   83  Linux
- 这里会发现没有识别出新添加的磁盘
  • 我们进行重启 reboot
[root@hf-01 ~]# reboot
  • 在重启之后,用 fdisk -l 命令,会发现新添加的磁盘被识别到了
[root@hf-01 ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009d2c4

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     4605951     2097152   82  Linux swap / Solaris
/dev/sda3         4605952    41943039    18668544   83  Linux

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

划分磁盘分区

  • fdisk /dev/sdb 划分磁盘分区
    • n 表示new,重新创建一个新的分区
    • p 表示打印当前磁盘的分区情况
    • w 表示保存
    • d 表示delete,删除
  • 输入m,查看帮助文档
[root@hf-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x73857001 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m        //查看相关命令使用方法
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)
命令(输入 m 获取帮助):p        //这时会发现没有任何分区列表

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System

分区的类型:

  • fdisk命令,划分的分区有一种格式,叫做mbr分区
  • mbr分区特点:
    • 最高支持2T,超过2T,就不能使用fdisk去划分磁盘分区了
    • 该分区最多只能有四个主分
      • 若想划分成多个分区,我们可以三个划分成主分区,另外一个划分成扩展分区
        • 然后在扩展分区里面再去划分逻辑分区
    • 公式:主分区 + 扩展分区 两者的和,不能超过4,最多是4,可以小于4

划分主分区

  • 当输错字母时,可以按 快捷键ctrl+u 来进行清空
  • 输入n后
    • 会提示,选择 p 主分区
    • 选择 e 扩展分区
命令(输入 m 获取帮助):n        //新建一个分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p        //然后选择主分区
分区号 (1-4,默认 1):1        //分区号范围只能是1-4之间,默认为1
起始 扇区 (2048-20971519,默认为 2048):        //定义分区大小,默认2048
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):P        //查看划分的分区,会看到刚刚划分的主分区

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
  • 接着继续来划分磁盘,再来划分两个主分区
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (4196352-20971519,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):p        //这里会看到划分的两个分区

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (8390656-20971519,默认为 8390656):
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-20971519,默认为 20971519):+1G
分区 3 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):P        //这里会看到划分的三个主分区

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux

删除其中一个主分区

  • 输入 d 之后,然后选择要删除分区的编号 (这里实验删除 主分区4)
命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): p
已选择分区 4
起始 扇区 (10487808-20971519,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):+1G
分区 4 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):P

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    12584959     1048576   83  Linux

命令(输入 m 获取帮助):d        //删除分区
分区号 (1-4,默认 4):4        //选择分区号4,进行删除
分区 4 已删除

命令(输入 m 获取帮助):p        //这时再来查看,会发现只有三个主分区了

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux

划分扩展分区

  • 划分扩展分区
命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e
已选择分区 4
起始 扇区 (10487808-20971519,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):+4G
分区 4 已设置为 Extended 类型,大小设为 4 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
  • 其中Blocks中的,前四位数值单位是M,后三位数值单位是K - 比如4194304中的,4194M,304K。 - 换算成兆,是4194M;换算成G,是4G
  • ID号是查看分区的类型
    • 83是linux,是主分区或逻辑分区
    • 5是扩展分区

划分三个主分区和一个扩展分区后,继续划分

  • 会直接默认划分逻辑分区,并且其ID是83
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (10489856-18876415,默认为 10489856):
将使用默认值 10489856
Last 扇区, +扇区 or +size{K,M,G} (10489856-18876415,默认为 18876415):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p  

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        10489856    12587007     1048576   83  Linux

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 6
起始 扇区 (12589056-18876415,默认为 12589056):
将使用默认值 12589056
Last 扇区, +扇区 or +size{K,M,G} (12589056-18876415,默认为 18876415):+1G
分区 6 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):P

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        10489856    12587007     1048576   83  Linux
/dev/sdb6        12589056    14686207     1048576   83  Linux

对比:删除主分区和逻辑分区

  • 删除分区,直接看分区号即可删除
  • 删除主分区,只看到直接从/dev/sdb2开始排序了
命令(输入 m 获取帮助):d
分区号 (1-6,默认 6):1
分区 1 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        10489856    12587007     1048576   83  Linux
/dev/sdb6        12589056    14686207     1048576   83  Linux
  • 删除逻辑分区,会看到删除的db5和此刻的db5是不同的
    • 观察其Start和End会看出不同
  • 总结:
    • 删除一个逻辑分区后,其分区号是不会留空的,必须连续
命令(输入 m 获取帮助):d
分区号 (2-6,默认 6):5
分区 5 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73857001

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        12589056    14686207     1048576   83  Linux

按q 不保存退出,再去查看会发现之前设置的分区消失了

  • 输入q,就是不保存退出
  • 输入w,就是保存退出
命令(输入 m 获取帮助):q

[root@hf-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x3ca8a288 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x3ca8a288

   设备 Boot      Start         End      Blocks   Id  System
命令(输入 m 获取帮助):

划分扩展分区

  • 直接划分扩展分区后,再去创建分区
    • 选择p 创建主分区
    • 选择l 创建逻辑分区
命令(输入 m 获取帮助):n   
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): e        //直接创建扩展分区
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+3G
分区 1 已设置为 Extended 类型,大小设为 3 GiB

命令(输入 m 获取帮助):n    //再去划分分区,会提示是创建主分区,还是逻辑分区
Partition type:
   p   primary (0 primary, 1 extended, 3 free)
   l   logical (numbered from 5)
Select (default p): p  
分区号 (2-4,默认 2):3
起始 扇区 (6293504-20971519,默认为 6293504):
将使用默认值 6293504
Last 扇区, +扇区 or +size{K,M,G} (6293504-20971519,默认为 20971519):+1G
分区 3 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2f44041b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728    5  Extended
/dev/sdb3         6293504     8390655     1048576   83  Linux

命令(输入 m 获取帮助):n    //新建一个分区
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l        //创建逻辑分区
添加逻辑分区 5
起始 扇区 (4096-6293503,默认为 4096):
将使用默认值 4096
Last 扇区, +扇区 or +size{K,M,G} (4096-6293503,默认为 6293503):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2f44041b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728    5  Extended
/dev/sdb3         6293504     8390655     1048576   83  Linux
/dev/sdb5            4096     2101247     1048576   83  Linux
  • 逻辑分区一定是以第 5 个分区号开始
    • 前四个分区是留给主分区或者扩展分区的
  • 逻辑分区一定是连续的
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 6
起始 扇区 (2103296-6293503,默认为 2103296):
将使用默认值 2103296
Last 扇区, +扇区 or +size{K,M,G} (2103296-6293503,默认为 6293503):+100M
分区 6 已设置为 Linux 类型,大小设为 100 MiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l   
添加逻辑分区 7
起始 扇区 (2310144-6293503,默认为 2310144):
将使用默认值 2310144
Last 扇区, +扇区 or +size{K,M,G} (2310144-6293503,默认为 6293503):+100M
分区 7 已设置为 Linux 类型,大小设为 100 MiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2f44041b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728    5  Extended
/dev/sdb3         6293504     8390655     1048576   83  Linux
/dev/sdb5            4096     2101247     1048576   83  Linux
/dev/sdb6         2103296     2308095      102400   83  Linux
/dev/sdb7         2310144     2514943      102400   83  Linux
 这里会看到逻辑分区都是连续的
  • 删除逻辑分区中的一个,但他们依旧是连续的分区号
命令(输入 m 获取帮助):d
分区号 (1,3,5-7,默认 7):6
分区 6 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2f44041b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728    5  Extended
/dev/sdb3         6293504     8390655     1048576   83  Linux
/dev/sdb5            4096     2101247     1048576   83  Linux
/dev/sdb6         2310144     2514943      102400   83  Linux

总结

  • 一个磁盘中只能有四个主分区或者主分区加扩展分区的总和小于等于4
  • 逻辑分区从第5个分区号开始,并且是连续的
  • 扩展分区本身不支持格式化,扩展分区仅仅是一个壳子,装着的是逻辑分区,写数据的是逻辑分区

扩展学习 parted分区gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html