磁盘分区工具和挂载

一、磁盘分区工具

1、fdisk

fdisk 是一个常用的磁盘分区工具,在 Linux 系统中用于创建、编辑和删除磁盘分区。它可以帮助您对磁盘进行分区管理。

常用命令

  1. 列出所有磁盘:

    fdisk -l
  2. 选择要分区的磁盘:

    fdisk /dev/sdX

    其中,/dev/sdX 是要分区的磁盘名称(例如,/dev/sda)。

  3. 查看帮助信息: 在 fdisk 提示符下,输入 m 可以查看可用的命令列表和帮助信息。

  4. 创建新分区:

    n

    fdisk 会提示您选择分区类型(主分区或扩展分区)和分区编号。

  5. 删除分区:

    d

    fdisk 会提示您选择要删除的分区编号。

  6. 打印分区表:

    p

    显示当前磁盘的分区表。

  7. 保存并退出:

    w

    保存分区表并退出 fdisk

  8. 退出不保存:

    q

    退出 fdisk,但不保存对分区表的修改。

在使用 fdisk 进行分区操作时,请确保您知道自己在做什么,并且确认操作不会导致数据丢失或损坏。

2、gdisk

gdisk 是用于在 Linux 系统上管理 GPT(GUID Partition Table)的磁盘分区工具。与传统的 MBR分区表相比,GPT支持更大的磁盘容量和更多的分区,并且更适用于现代硬件和操作系统。

常用命令

  1. 列出所有磁盘:

    gdisk -l
  2. 选择要分区的磁盘:

    gdisk /dev/sdX

    其中,/dev/sdX 是要分区的磁盘名称(例如,/dev/sda)。

  3. 查看帮助信息: 在 gdisk 提示符下,输入 ? 可以查看可用的命令列表和帮助信息。

  4. 创建新分区:

    n

    gdisk 会提示您选择分区类型(主分区、逻辑分区或EFI系统分区)和分区编号。

  5. 删除分区:

    d

    gdisk 会提示您选择要删除的分区编号。

  6. 打印分区表:

    p

    显示当前磁盘的分区表。

  7. 保存并退出:

    w

    保存分区表并退出 gdisk

  8. 退出不保存:

    q

    退出 gdisk,但不保存对分区表的修改。

在使用 gdisk 进行分区操作时,请确保您知道自己在做什么,并且确认操作不会导致数据丢失或损坏。建议在分区之前备份重要的数据,并且在对磁盘进行操作时格外小心。如果您不熟悉 gdisk 或者对磁盘分区有疑问,可以寻求专业的帮助。

3、parted

parted 是在 Linux 系统上用于进行磁盘分区操作的命令行工具。它支持创建、删除、调整磁盘分区,并且可以在 GPT(GUID Partition Table)和 MBR(Master Boot Record)分区表格式之间切换。parted 比较灵活,提供了多种分区和文件系统管理的功能。

以下是一些常用的 parted 命令:

注意:使用 parted 命令可能会导致数据丢失或磁盘损坏,请谨慎操作。在使用 parted 之前,请务必备份重要的数据。

  1. 列出所有磁盘:

    parted -l
  2. 选择要分区的磁盘:

    parted /dev/sdX

    其中,/dev/sdX 是要分区的磁盘名称(例如,/dev/sda)。

  3. 查看帮助信息: 在 parted 提示符下,输入 help 可以查看可用的命令列表和帮助信息。

  4. 创建新分区:

    mkpart

    parted 会提示您输入分区的起始位置和结束位置,并要求选择分区的文件系统类型。

  5. 删除分区:

    rm

    parted 会提示您选择要删除的分区编号。

  6. 调整分区大小:

    resizepart

    parted 会提示您选择要调整大小的分区编号和新的结束位置。

  7. 切换分区表格式:

    mklabel gpt

    或者

    mklabel msdos

    在上面的命令中,gpt 表示创建 GPT 分区表,msdos 表示创建 MBR 分区表。

  8. 退出 parted

    quit

    保存对分区表的修改并退出 parted

在使用 parted 进行分区操作时,请确保您知道自己在做什么,并且确认操作不会导致数据丢失或损坏。建议在分区之前备份重要的数据,并且在对磁盘进行操作时格外小心。如果您不熟悉 parted 或者对磁盘分区有疑问,可以寻求专业的帮助。

二、挂载

1、mount

mount 命令用于挂载文件系统,将文件系统连接到文件系统层次结构中的指定位置。以下是常用的 mount 命令参数及其说明:

bashCopy code
mount [选项] [-t 文件系统类型] 设备文件 挂载点

常用选项:

  • -a, --all: 挂载 /etc/fstab 中列出的所有文件系统。

  • -t, --types 文件系统类型: 指定要挂载的文件系统类型,例如 ext4、ntfs 等。

  • -o, --options 选项: 指定挂载时的选项,如 ro(只读)、rw(读写)、uidgidumask 等。

  • -r, --read-only: 挂载为只读。

  • -w, --read-write: 挂载为读写。

  • -L, --label 卷标: 按卷标挂载设备。

  • -U, --uuid UUID: 按 UUID 挂载设备。

  • -o remount: 重新挂载已挂载的文件系统,通常用于更改挂载选项。

  • -n, --no-mtab: 不更新 /etc/mtab 文件。

  • --bind: 将一个文件或目录挂载到另一个位置,创建一个挂载点的副本。

示例:

  1. 基本挂载:

    mount /dev/sdb1 /mnt/data

    这将 /dev/sdb1 分区挂载到 /mnt/data 目录。

  2. 指定文件系统类型:

    mount -t ntfs /dev/sdb1 /mnt/windows

    这将使用 NTFS 文件系统类型挂载 /dev/sdb1/mnt/windows 目录。

  3. 只读挂载:

    mount -o ro /dev/sdb1 /mnt/data

    这将以只读模式挂载 /dev/sdb1/mnt/data 目录。

  4. 重新挂载:

    mount -o remount,rw /mnt/data

    这将重新挂载 /mnt/data 目录为读写模式。

2、临时挂载

[root@fishman-160 ~]# mount /dev/sdb1 /media #临时挂载
[root@fishman-160 ~]# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  942M     0  942M   0% /dev
tmpfs          tmpfs     970M     0  970M   0% /dev/shm
tmpfs          tmpfs     970M  9.3M  961M   1% /run
tmpfs          tmpfs     970M     0  970M   0% /sys/fs/cgroup
/dev/sda3      xfs        50G  6.4G   44G  13% /
/dev/sr0       iso9660   4.5G  4.5G     0 100% /mnt
/dev/sda1      xfs      1014M  242M  773M  24% /boot
tmpfs          tmpfs     194M   12K  194M   1% /run/user/42
tmpfs          tmpfs     194M  4.0K  194M   1% /run/user/0
/dev/sdb1      ext4      974M   24K  907M   1% /media

3、永久挂载

配置/etc/fstab

 

在配置文件/etc/fsatb中进行挂载信息添加,有以下格式:

/dev/sr0 /mnt iso9660 defaults 0 0
要挂载的分区设备 挂载点 文件系统类型 挂载选项 是否备份 是否检测

其中第四列:parameters-文件系统的参数

参数 描述
Async/sync 设置是否为同步方式运行,默认为async
auto/noauto 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
rw/ro 是否以以只读或者读写模式挂载
exec/noexe 限制此文件系统内是否能够进行"执行"的操作
user/nouser 是否允许用户使用mount命令挂载
suid/nosuid 是否允许SUID的存在
Usrquota 启动文件系统支持磁盘配额模式
Grpquota 启动文件系统对群组磁盘配额模式的支持
Defaults 同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置 samba nfs

第五列:是否进行备份。通常这个参数的值为0或者1

参数 描述
0 代表不要做备份
1 代表要每天进行操作
2 代表不定日期的进行操作

第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整

参数 描述
0 不要检验
1 最早检验(一般根目录会选择)
2 1级别检验完成之后进行检验

三、扩展swap分区

1、通过创建分区方式扩展

1、先创建分区

[root@fishman-160 ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): 

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}: +1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.

2、格式化成swap

[root@fishman-160 ~]# mkswap /dev/sdb1
mkswap: /dev/sdb1: warning: wiping old swap signature.
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=ea4119e2-039c-4fa6-ae79-52596e47948f

3、开启swap扩展

[root@fishman-160 ~]# swapon /dev/sdb1 #开启/dev/sdb1 的swap扩展
[root@fishman-160 ~]# swapon -s  #查看swap分区
Filename				Type		Size	Used	Priority
/dev/sda2                              	partition	2097148	0	-2
/dev/sdb1                              	partition	1048572	0	-3
[root@fishman-160 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
├─sda3   8:3    0   50G  0 part /
└─sda4   8:4    0    1G  0 part 
sdb      8:16   0   20G  0 disk 
└─sdb1   8:17   0    1G  0 part [SWAP]
sr0     11:0    1  4.4G  0 rom  /mnt

4、开机启动swap分区

[root@fishman-160 ~]# lsblk -f  #查询sdb1的UUID
NAME   FSTYPE  LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 xfs                     627e70f9-0231-4474-bfd5-45b509a672da /boot
├─sda2 swap                    46d0c215-3841-4a96-aa8f-53574afc8b8d [SWAP]
├─sda3 xfs                     75bbfbae-a006-489e-95ee-214aa24d94ff /
└─sda4                                                              
sdb                                                                 
└─sdb1 swap                    ea4119e2-039c-4fa6-ae79-52596e47948f [SWAP]
sr0    iso9660 CentOS 7 x86_64 2022-07-26-15-09-17-00               /mnt

2、通过文件方式拓展

1、创建500M的空文件

[root@fishman-160 ~]# dd if=/dev/zero of=swap_file count=10 bs=50M
记录了10+0 的读入
记录了10+0 的写出
524288000 bytes (524 MB, 500 MiB) copied, 1.50549 s, 348 MB/s

2、转换成swap

root@fishman-160 ~]# mkswap -f ./swap_file 
mkswap: ./swap_file:不安全的权限 0644,建议使用 0600
正在设置交换空间版本 1,大小 = 500 MiB (524283904  个字节)
无标签,UUID=f651317f-c8c6-42e8-bf7d-92a3f3eee98d

3、开启swap

[root@fishman-160 ~]# swapon swap_file
swapon: /root/swap_file:不安全的权限 0644,建议使用 0600

4、开启成功

[root@fishman-160 ~]# swapon -s
文件名				类型		大小	已用	权限
/dev/sda2                              	partition	2097148	0	-2
/dev/sdb1                              	partition	1048572	0	-3
/root/swap_file                        	file    	511996	0	-4

3、开机启动swap

1、把sdb1 swapUUID加入到/etc/fstab

 

2、开机启动挂载成功

[root@fishman-160 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1939         591         846          10         500        1184
Swap:          3071           0        3071
posted @   墨香清梦  阅读(232)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示