一、双系统分区划分
1.windows 系统下查看
2.ubuntu系统下查看
lsblk -f
lsblk
是一个列出系统中所有块设备(block devices,如硬盘、分区、光驱等)信息的命令。-f
参数专门显示每个设备的文件系统信息,包括类型、标签、UUID 等。
# 通过 -o 参数显示指定列,可以比较 lsblk 额外添加 SIZE 列,更方便
lsblk -o NAME,SIZE,FSTYPE,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINT
这里有一个很奇怪的点,我安装 ubuntu 时是将 nvme0n1p6 分区挂载到了 ubuntu 的 /boot/efi 下,不知道这里为什么是 nvme0n1p1 分区挂载到了 /boot/efi 下。
NAME:设备名称。
- 表示设备的路径,通常位于
/dev
目录下。 sda
是主硬盘设备,sda1
是其第一个分区,sda2
是第二个分区,依次类推。sda
和nvme0n1
:分别表示传统硬盘(SATA)和 NVMe 固态硬盘
FSTYPE:文件系统类型。
- 表示每个分区的文件系统类型,例如:
ext4
:Linux 常用文件系统。swap
:交换分区,用于虚拟内存。ntfs
:Windows 常用文件系统。vfat
:兼容性高的 FAT 文件系统。
- 如果没有文件系统(如原始设备),此列会为空。
LABEL:分区标签。
- 可由用户为分区命名,方便识别。
rootfs
和home
是自定义标签,常用于挂载点说明。
UUID:分区的唯一标识符(Universally Unique Identifier)。
- 每个分区都有唯一的 UUID,方便在配置文件(如
/etc/fstab
)中引用。 - UUID 比设备名更稳定,不会因设备插拔顺序变化而改变。
FSAVAIL:可用空间(文件系统级别)。
- 显示分区中剩余可用的空间。
- 单位通常为
G
(GB)。
FSUSE%:已用空间的百分比。
- 显示分区的使用率。
- 如
40%
表示此分区使用了 40% 的空间。
MOUNTPOINT:挂载点。
- 表示分区挂载到文件系统中的路径,例如
/
(根目录)、/home
或/mnt/data
。 - 如果分区未挂载,此列为空。
3.分区介绍
EFI系统分区(Windows):自Windows 8起,UEFI模式下的BIOS使用该分区。简单来说,它用于存储已安装系统的EFI引导程序。此分区在资源管理器中无法查看,因为它没有驱动器号,但它必须存在,否则系统将无法启动。因此,除非是使用传统Legacy引导方式的老型电脑,否则不应删除此分区。
C盘(Windows):在各个磁盘中,C盘是最特殊的一个,其磁盘图标上带有Windows标志。显然,系统中的重要文件通常存储在C盘中,因此建议尽量不要随意删除、移动或修改其中的文件名,以免导致系统崩溃或其他异常情况。
D、E盘(Windows)等:这些盘用于存放用户的一些应用安装文件和文档。用户可以选择将数据安装到C盘中,但一般情况下,通常会将这些数据放在自定义的磁盘中。因此,这些磁盘中的文件若损坏或丢失,最多会导致应用无法使用或文件丢失(除非多系统安装于这些磁盘)。
恢复分区(Windows):这是Windows系统的恢复环境,包含一些恢复工具,实际上是一个微型系统操作环境。重启计算机并进入高级启动项后,可以发现该分区(具体作用将在文章末尾展示),不建议删除。
此外,虽然计算机的磁盘管理工具只能识别这些功能,但实际上还有一些更深层次的隐藏分区。例如,使用DiskGenius磁盘管理工具可以发现更多信息。
其中,SYSTEM(0) 对应 EFI系统分区(Windows),ESP(4) 对应 EFI系统分区(Ubuntu),WinRE_DRV(6) 对应 恢复分区(Windows)。
MSR分区:MSR保留分区(Microsoft Reserved Partition,缩写为MSR)是微软为Windows操作系统专门创建的分区,通常在使用GPT分区表的磁盘上创建。它的主要作用是确保操作系统在需要时能够创建和管理其他必要的分区,而不受限于分区表的空间。简单来说,当启用“动态分区”时,MSR分区会额外占用一部分空间,以记录这些不连续的分区,因此不建议删除该分区。
此外,用户的计算机中可能还存在其他分区,例如:
OEM分区:这是品牌机厂商预装系统及出厂随机软件一键还原的存放分区。通常情况下,这个分区也被设置为隐藏分区,但可以进行删除操作。用户可以使用专业的磁盘管理工具或命令释放并重新分配其占用的空间。
二、Ubuntu 20.04 永久关闭 swap分区
1. 临时关闭SWAP分区:
使用以下命令临时关闭所有SWAP分区(不重启系统的情况下关闭):
sudo swapoff -a
这只会临时关闭,重启后SWAP分区还会重新启用。
2. 编辑 /etc/fstab
文件:
打开 /etc/fstab
文件并注释掉所有SWAP相关的行:
sudo gedit /etc/fstab
找到与SWAP分区相关的行,例如最后一行,在前面加上 #
注释掉该行,保存并退出。
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/nvme0n1p7 during installation
UUID=f1d138b3-bedd-4a9c-bb66-7a65d9f4311a / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=7078-5E4E /boot/efi vfat umask=0077 0 1
# /home was on /dev/sda4 during installation
UUID=e66c479d-c0e8-4b5c-bf3a-0e7316bb8176 /home ext4 defaults 0 2
# swap was on /dev/sda3 during installation
UUID=aa2d5620-36b4-4551-be51-6df0b97e2090 none swap sw 0 0
3. 使用 systemctl
禁用SWAP服务:
执行以下命令,阻止系统启用旧的SWAP分区。将 sdXX
替换为你的实际设备名,比如 /dev/sda3
。这会防止在启动时自动启用该SWAP设备。
sudo systemctl mask dev-sdXX.swap
sudo systemctl mask dev-sdXX.swap
是一个用于禁用系统启动时自动启用指定SWAP分区的命令。具体解释如下:
-
systemctl
:是一个系统管理工具,用于控制系统和服务的状态,适用于使用systemd作为初始化系统的Linux发行版。 -
mask
:这个命令会创建一个符号链接,将指定的服务或设备链接到/dev/null
,使其无法启动。通过“mask”某个服务,可以确保该服务不会被任何其他命令启动。 -
dev-sdXX.swap
:这是指要禁用的SWAP分区。sdXX
是设备名的占位符,具体来说,sd
表示SCSI设备,XX
是设备的具体标识符(例如sda3
)。这将指向对应的SWAP分区。
实际设备名 sdXX
可通过以下命令查询:
swapon --show
查询结果为:
wu@WP:~$ swapon --show
NAME TYPE SIZE USED PRIO
/dev/sda3 partition 19.1G 0B -2
使用 systemctl 命令输出如下:
wu@WP:~$ sudo systemctl mask dev-sda3.swap
Unit dev-sda3.swap does not exist, proceeding anyway.
Created symlink /etc/systemd/system/dev-sda3.swap → /dev/null.
三、恢复 SWAP 分区
1. 使用 systemctl unmask
恢复 SWAP 服务:
wu@WP:~$ sudo systemctl unmask dev-sda3.swap
Removed /etc/systemd/system/dev-sda3.swap.
2. 修改 /etc/fstab
文件,打开文件取消注释
sudo gedit /etc/fstab
3. 启用SWAP分区
sudo swapon -a
4. 检查SWAP状态
swapon --show
四、更换 swap 分区
①查看当前的交换空间
wu@WP:~$ swapon --show
NAME TYPE SIZE USED PRIO
/dev/sda3 partition 19.1G 0B -2
②关闭当前交换空间,注意修改为自己的分区名
sudo swapoff /dev/sda3
③使用GParted 新建格式为 linux-swap 的交换分区
参考 Ubuntu 硬盘分区并挂载 中提到调整大小/移动(R)分区 和 新建分区 操作新建格式为 linux-swap 的交换分区
④启用新分区作为交换空间,注意修改为自己的分区名
sudo swapon /dev/nvme0n1p8
⑤验证新的交换分区是否生效
wu@WP:~$ swapon --show
NAME TYPE SIZE USED PRIO
/dev/nvme0n1p8 partition 15.6G 0B -2
⑥编辑 /etc/fstab
文件,删除旧的交换分区,添加新的交换分区
sudo gedit /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/nvme0n1p7 during installation
UUID=f1d138b3-bedd-4a9c-bb66-7a65d9f4311a / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=7078-5E4E /boot/efi vfat umask=0077 0 1
# /home was on /dev/sda4 during installation
UUID=e66c479d-c0e8-4b5c-bf3a-0e7316bb8176 /home ext4 defaults 0 2
# swap was on /dev/sda3 during installation
# old
# UUID=aa2d5620-36b4-4551-be51-6df0b97e2090 none swap sw 0 0
/dev/nvme0n1p8 none swap sw 0 0
⑦使用 GParted 删除旧的交换空间的 linux-swap 格式,使其变为未分配的分区,以便重新使用。
参考
Ubuntu 20.04 server 永久关闭 swap分区