目录

1. 对 Linux 磁盘进行分区时有哪两种方案?分别加以详细说明。

1.1 MBR 分区方案

2. GPT 分区方案

2. 简单说下创建 MBR 磁盘分区涉及哪几个步骤?

3. 创建 GPT 分区与创建 MBR 分区有什么不同?

4. 在创建分区时就会在分区上创建文件系统吗?

5. 如何持久挂载文件系统?

6. Linux 为什么要使用 swap?

7. 过度使用 swap 有什么缺点?

8. 如何持久激活交换空间?

9. 使用哪个命令可以查看文件系统的 UUID?

总结


在 Linux 系统中,磁盘的管理和交换空间的配置对于系统性能和稳定性至关重要。本篇博客将详细讲解 Linux 中的磁盘分区方案、创建分区的步骤、GPT 与 MBR 的区别、交换空间的使用以及如何管理文件系统。

1. 对 Linux 磁盘进行分区时有哪两种方案?分别加以详细说明。

MBR(Master Boot Record)GPT(GUID Partition Table)

1.1 MBR 分区方案

MBR 是传统的分区方案,适用于较老的硬件设备,特别是那些使用 BIOS 启动的机器。它有以下特点:

  • 适用场景:磁盘容量小于 2TB,分区数量不超过 4 个的场景,兼容性要求高,需要多操作系统共存(如 Windows 7/XP)的情况。

  • 限制:MBR 分区表没有备份,一旦损坏,恢复困难;不支持磁盘超过 2TB 的容量;最大支持 4 个主分区,不能有更多分区。

2. GPT 分区方案

GPT 是现代的分区方案,支持大容量磁盘和更多分区,适用于使用 UEFI 启动的设备。其特点包括:

  • 适用场景:磁盘容量大于 2TB,多分区需求,高数据安全性要求的环境(如现代服务器、PC)。

  • 优势:分区表在磁盘头和尾部都备有备份,并带有 CRC 校验,容错性强;支持最多 128 个主分区,分区标识使用 GUID,且支持 UEFI 启动。

2. 简单说下创建 MBR 磁盘分区涉及哪几个步骤?

  1. 选择磁盘
    使用 fdisk 进入目标磁盘(如 /dev/sdb):

    fdisk /dev/sdX
  2. 查看现有分区
    输入 p 命令查看当前分区表,确认磁盘状态。

  3. 创建新分区
    输入 n 创建新分区,选择主分区(p)或扩展分区(e),设定分区号,起始扇区和结束扇区(如 +20G)。

  4. 设置分区类型(可选)
    输入 t 设置分区类型,如 83 表示 Linux 数据分区,82 表示交换分区。

  5. 保存并退出
    输入 w 保存分区表并退出,或者输入 q 放弃更改。

  6. 更新内核分区表

    partprobe /dev/sdX

3. 创建 GPT 分区与创建 MBR 分区有什么不同?

特性 MBR GPT
最大磁盘容量 ≤ 2TB 最大 18EB
分区数量 最多 4 个主分区 最多 128 个主分区
数据安全性 弱(无备份) 强(头尾双备份,带 CRC 校验)
启动支持 仅支持 BIOS 启动 支持 UEFI 启动
支持工具 fdisk、cfdisk gdisk、parted、fdisk(新版支持)

4. 在创建分区时就会在分区上创建文件系统吗?

不会

创建分区时,我们只是简单地“划分”磁盘区域,记录其起始和结束位置及类型,实际上并没有创建文件系统。要让分区能够存储文件和目录,我们需要使用 mkfs 系列命令来创建文件系统。

常用文件系统类型:

  • ext4:Linux 常用的文件系统。
  • xfs:大文件存储和高性能需求的文件系统。
  • btrfs:现代的文件系统,具有快照、压缩等功能。

例如,创建一个 ext4 文件系统:

mkfs.ext4 /dev/sdb1

5. 如何持久挂载文件系统?

要持久挂载文件系统,我们可以通过配置 /etc/fstab 文件。

  1. 查看磁盘 UUID(推荐用 UUID,不会变)

    blkid
    
  2. 创建挂载目录

    sudo mkdir -p /mnt/mydata
    
  3. 编辑开机挂载配置

    sudo nano /etc/fstab
    

    末尾加一行(把 UUID 换成你的):

    UUID=你的UUID  /mnt/mydata  ext4  defaults  0  2
    
  4. 测试挂载(不报错就没问题)

    sudo mount -a
    
  5. 查看是否成功

    df -h
    

完成,重启后会自动挂载

sudo reboot  # 重启后再次执行df -h,确认/mnt/mydata仍存在

6. Linux 为什么要使用 swap?

swap 是一种虚拟内存技术,允许系统在物理内存不足时,将暂时不活跃的内存页交换到磁盘上,从而扩展内存使用量。Swap 的使用有助于防止内存溢出(OOM)。

  1. 内存溢出保护
    当物理内存不足时,系统会将不活跃的内存页换出到 swap 中,以避免 OOM 杀死进程。

  2. 扩展物理内存
    swap 可以作为物理内存的扩展,增加系统可用的内存。

7. 过度使用 swap 有什么缺点?

  1. 性能下降
    磁盘的 I/O 速度远低于内存,频繁的 swap 操作(swap thrashing)会导致系统变得非常缓慢,甚至卡顿。

  2. 磁盘寿命损耗
    对于 SSD 磁盘,频繁的写入 swap 会减少其使用寿命。

8. 如何持久激活交换空间?

  1. 创建一个交换分区:

    mkswap /dev/sdb1
  2. 查看交换设备(记好路径,如 /swapfile/dev/sdb2

    swapon --show
    
  3. 编辑开机自动挂载配置

    sudo nano /etc/fstab
    

    末尾加一行:

    /swapfile  none  swap  defaults  0 0
    
  4. 测试生效(无报错即成功)

    swapon -a
    
  5. 验证

    swapon --show
    

重启后会自动激活交换空间:systemctl daemon-reload

9. 使用哪个命令可以查看文件系统的 UUID?

lsblk -fp

或:blkid

总结

Linux 的磁盘管理和交换空间配置是确保系统稳定和高效运行的重要部分。通过合理选择磁盘分区方案(MBR 或 GPT),创建适当的文件系统,设置持久挂载点,并管理 swap 空间,我们能够更好地提升系统的性能和安全性。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐