如何使用fdisk命令新建、修改或删除磁盘的分区表信息?

  • Post author:
  • Post category:其他




学习目标:

  • 学习如何使用fdisk命令变动磁盘分区表信息
  • 学会如何对分区进行格式化操作
  • 学会如何使用及辨别du、df命令查看磁盘信息
  • 理解并学会使用交换分区



内容前导:

  1. fdisk命令用于新建、修改及删除磁盘的分区表信息,格式为“fdisk 磁盘名称”,如下表格是fdisk命令中的参数及作用。

    参数 作用
    m 查看全部可用的参数
    n 添加新的分区
    l 列出所有可用的分区类型
    t 改变某个分区的类型
    p 查看分区表信息
    w 保存并退出
    q 不保存并退出
    d 删除某个分区信息

    2. du命令:用于查看

    分区或目录

    所占用的磁盘容量的大小,格式“du -sh 目录名称”

    df命令: 查看已挂载的磁盘空间使用情况,格式“df -h”

    3. mkfs命令:用于格式化操作,格式为“mkfs.文件类型 分区”。如“mkfs.xfs /dev/sdb1”

    4.交换(swap)分区:是一种通过在硬盘中预先划分一定的空间,然后把内存中暂时不用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,目的是为了解决真是物理内存不足的问题。




成果输出:

实验一:使用fdisk命令给/dev/sdb进行分区,并进行格式化以及挂载等操作。

[root@linuxprobe ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x0e608123.

Command (m for help): n  //输入N创建新的分区
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p  //输入p来创建主分区
Partition number (1-4, default 1): 1  //主分区的编号范围是1~4,这里默认是1就可以了
First sector (2048-41943039, default 2048):   //此处敲击回车键即可
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +2G //创建一个容量为2G的分区

Created a new partition 1 of type 'Linux' and of size 2 GiB.

Command (m for help): p  //查看分区表信息
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0e608123

Device     Boot Start     End Sectors Size Id Type
/dev/sdb1        2048 4196351 4194304   2G 83 Linux

Command (m for help): w  //保存并退出
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

实验二:实验一中创建的分区/dev/sdb1因为还没有进行格式化,Linux系统无法在此分区写数据,因此需要使用mkfs命令格式化分区/dev/sdb1,并创建目录挂载此分区。

[root@linuxprobe ~]# mkfs.xfs /dev/sdb1  //格式化/dev/sdb1分区为xfs文件类型
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=524288, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@linuxprobe ~]# mkdir /newFile  //创建新目录
[root@linuxprobe ~]# mount /dev/sdb1 /newFile  //挂载此分区
[root@linuxprobe ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               969M     0  969M   0% /dev
tmpfs                  984M     0  984M   0% /dev/shm
tmpfs                  984M  9.7M  974M   1% /run
tmpfs                  984M     0  984M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  3.9G   14G  23% /
/dev/sda1             1014M  152M  863M  15% /boot
tmpfs                  197M   16K  197M   1% /run/user/42
tmpfs                  197M  3.5M  194M   2% /run/user/0
/dev/sr0               6.7G  6.7G     0 100% /run/media/root/RHEL-8-0-0-BaseOS-x86_64
/dev/sdb1              2.0G   47M  2.0G   3% /newFile

实验三:交换分区的创建过程与挂载并使用存储设备的过程非常类似,同时在生产环境中,交换分区的大小一般为真是物理内存的1.5-2倍。这里我们尝试取出一块大小为5G的主分区作为交换分区资源:

step1:先创建一个容量为5GB的新分区

[root@linuxprobe ~]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): //敲击回车即可
First sector (4196352-41943039, default 4196352):  //敲击回车即可
Last sector, +sectors or +size{K,M,G,T,P} (4196352-41943039, default 41943039): +5G

Created a new partition 2 of type 'Linux' and of size 5 GiB.

step2:修改硬盘的标识码,将其改为82(Linux swap)

Command (m for help): t  //改变某个分区的类型
Partition number (1,2, default 2): 2  //选择分区2
Hex code (type L to list all codes): 82  //82为swap文件类型

Changed type of partition 'Linux' to 'Linux swap / Solaris'.

Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0e608123

Device     Boot   Start      End  Sectors Size Id Type
/dev/sdb1          2048  4196351  4194304   2G 83 Linux
/dev/sdb2       4196352 14682111 10485760   5G 82 Linux swap / Solaris

Command (m for help): w
The partition table has been altered.
Syncing disks.

step3:使用mkswap命令对新设备进行交换分区格式化,格式“mkswap 设备名称”

[root@linuxprobe ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 5 GiB (5368705024 bytes)
no label, UUID=6f81d258-816b-4815-9db8-0356cb1daae2

step4:使用swapon激活新的交换分区设备,格式“swapon 设备名称”,同时可以使用free -m命令查看交换分区的大小变化。

[root@linuxprobe ~]# free -m  //一卡式交换分区大小是2047MB
              total        used        free      shared  buff/cache   available
Mem:           1966        1227          91          14         646         540
Swap:          2047           0        2047
[root@linuxprobe ~]# swapon /dev/sdb2
[root@linuxprobe ~]# free -m  //激活新设备后,交换分区大小变为7167MB了
              total        used        free      shared  buff/cache   available
Mem:           1966        1232          87          14         646         535
Swap:          7167           0        7167



学习心得:

  • fdisk命令可以给一块硬盘设备分区,同时不同的参数有着不同且有效的作用
  • 创建好分区后,一定记得格式化,不然无法写入数据
  • 创建好交换分区后,记得分别使用“mkswap”以及“swapon”格式化和激活交换分区设备



版权声明:本文为qq_45364825原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。