Arch安装分区不当会怎样?

分区前的核心准备

  1. 备份数据

    • 使用ddrsync备份整个磁盘:dd if=/dev/sdX of=/path/to/backup.img status=progress
    • 双系统用户需提前用fdisk -l确认Windows/Mac分区位置,避免误删。
  2. 选择分区工具

    • 命令行工具(推荐):
      • fdisk:通用MBR/GPT工具
      • gdisk:专用GPT工具
      • parted:高级交互式工具
    • 图形工具:GParted(Live环境可用)
  3. 分区表类型选择
    | 分区表 | 适用场景 | 最大支持 |
    |——–|———-|———-|
    | GPT | UEFI启动、磁盘>2TB | 128分区 |
    | MBR | Legacy BIOS启动、旧硬件 | 4主分区 |


推荐分区方案(桌面用户)

根据磁盘容量灵活调整,以下为500GB SSD示例:
| 挂载点 | 分区类型 | 大小 | 文件系统 | 作用 |
|———|———-|——|———-|——|
| /boot/efi | EFI系统分区 | 512 MiB | FAT32 | UEFI启动文件 |
| /boot | Linux文件系统 | 1 GiB | EXT4 | 内核与引导 |
| | 根分区 | 100 GiB | Btrfs/EXT4 | 系统核心文件 |
| /home | 用户数据 | 剩余空间 | XFS/EXT4 | 用户文件与配置 |
| swap | 交换空间 | 内存的1.5倍 | swap | 休眠/内存扩展 |

特殊场景调整

  • 游戏/媒体工作站:增加/var分区(50GiB+)存放缓存
  • 服务器:单独/var/log分区(20GiB)隔离日志
  • 小内存设备:交换分区=物理内存×2

详细分区步骤(以GPT+UEFI为例)

  1. 识别磁盘

    lsblk -f  # 确认目标磁盘(如/dev/nvme0n1)
  2. 创建分区表

    gdisk /dev/nvme0n1
    > o     # 新建GPT分区表
    > n     # 新建分区(按顺序创建EFI、/boot、/、/home、swap)
  3. 设置分区类型

    • EFI分区:类型代码 EF00
    • Swap分区:类型代码 8200
    • Linux根目录:默认 8300
  4. 格式化分区

    mkfs.fat -F32 /dev/nvme0n1p1    # EFI
    mkfs.ext4 /dev/nvme0n1p2        # /boot
    mkfs.btrfs -f /dev/nvme0n1p3    # /
    mkfs.xfs /dev/nvme0n1p4         # /home
    mkswap /dev/nvme0n1p5           # swap
    swapon /dev/nvme0n1p5

挂载分区到安装环境

mount /dev/nvme0n1p3 /mnt         # 先挂载根分区
mkdir /mnt/{boot,home}            # 创建子目录
mount /dev/nvme0n1p2 /mnt/boot    # 挂载/boot
mount /dev/nvme0n1p4 /mnt/home    # 挂载/home
mkdir -p /mnt/boot/efi            # 创建EFI目录
mount /dev/nvme0n1p1 /mnt/boot/efi # 挂载EFI

验证挂载:执行lsblk确认结构应类似:

├─nvme0n1p1 /mnt/boot/efi  
├─nvme0n1p2 /mnt/boot  
├─nvme0n1p3 /mnt  
├─nvme0n1p4 /mnt/home  
└─nvme0n1p5 [SWAP]

高级技巧与避坑指南

  1. Btrfs子卷方案(替代传统分区)

    • 单分区布局:
      mkfs.btrfs -f /dev/nvme0n1p3
      mount /dev/nvme0n1p3 /mnt
      btrfs subvolume create /mnt/@          # 根目录
      btrfs subvolume create /mnt/@home      # 家目录
      umount /mnt
      mount -o subvol=@ /dev/nvme0n1p3 /mnt
      mkdir /mnt/home
      mount -o subvol=@home /dev/nvme0n1p3 /mnt/home
    • 优势:支持快照回滚、动态卷管理。
  2. Swap替代方案

    • 交换文件(SSD友好):
      dd if=/dev/zero of=/mnt/swapfile bs=1M count=8192 status=progress
      chmod 600 /mnt/swapfile
      mkswap /mnt/swapfile
      swapon /mnt/swapfile
    • ZRAM:内存压缩技术,适用于内存>8GB的设备。
  3. 双系统分区要点

    • Windows共存时:
      • 禁用Fast Startup(Windows电源设置)
      • 通过ntfs-3g挂载NTFS分区:mount -t ntfs-3g /dev/sdaX /mnt/windows

最终检查清单

  1. 使用df -h确认所有分区挂载无误
  2. 通过genfstab -U /mnt >> /mnt/etc/fstab生成自动挂载配置
  3. 验证fstab:cat /mnt/etc/fstab 检查UUID是否正确(推荐用UUID而非设备路径)

重要提醒

  • 操作前务必确认目标磁盘,错误命令可能导致数据丢失。
  • 对SSD启用TRIM:在/etc/fstab中添加discard挂载选项(需确认SSD支持)。

参考文献

  1. Arch Linux Wiki. Partitioning. https://wiki.archlinux.org/title/Partitioning
  2. Arch Linux Wiki. File systems. https://wiki.archlinux.org/title/File_systems
  3. Btrfs Wiki. SysadminGuide. https://btrfs.wiki.kernel.org/index.php/SysadminGuide
    持续更新,最后修订于2025年10月,遵循Arch Linux的KISS原则(Keep It Simple, Stupid),确保步骤清晰可重现,建议结合官方安装指南同步操作。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4859.html

(0)
酷番叔酷番叔
上一篇 2025年6月18日 04:58
下一篇 2025年6月18日 05:30

相关推荐

  • Linux如何查看当前正在运行的服务?

    在Linux系统中,服务是后台运行的关键程序,负责提供特定功能(如Web服务、数据库服务等),查看正在运行的服务是系统运维、故障排查和性能优化的基础操作,本文将详细介绍多种查看Linux运行服务的方法,涵盖常用命令、系统工具及实际应用场景,帮助用户全面掌握服务状态监控技巧,通过systemctl命令查看服务状态……

    2025年8月31日
    11900
  • Linux账户密码忘记,如何删除该账户?

    在Linux系统中,若忘记账户密码且需要删除该账户,通常需要先获取系统管理权限(如root权限),再通过用户管理工具完成删除操作,由于普通用户无法直接登录系统,核心思路是通过启动引导进入单用户模式或救援环境,绕过密码验证后执行删除命令,以下是具体操作步骤、注意事项及不同场景的解决方案,获取系统管理权限(解决无法……

    2025年9月16日
    10900
  • 阿里云Linux主机如何添加并配置2个网站的详细步骤?

    在阿里云Linux主机上添加两个网站,主要涉及环境准备、网站目录创建、数据库配置、Nginx服务器配置及SSL证书部署等步骤,以下以CentOS 7系统为例,结合Nginx+MySQL+PHP(LNMP环境)详细说明操作流程,环境准备首先确保阿里云Linux主机已安装LNMP环境(若未安装,可通过阿里云云市场的……

    2025年9月26日
    10300
  • Linux强制结束进程的必学技巧

    键盘中断:Ctrl + C(最常用)适用场景:终止当前终端中正在前台运行的命令(如卡死的脚本、持续输出的进程),操作步骤:在运行命令的终端窗口中,直接按下 Ctrl + C,系统会发送 SIGINT 信号,命令立即终止,注意:仅对当前终端的前台进程有效,可能无法强制结束某些顽固进程(需结合后续方法),挂起进程……

    2025年7月15日
    11800
  • systemctl服务启动失败怎么办?

    在Linux系统中,停止启动文件(即系统启动时自动运行的服务或脚本)是常见的运维需求,以下详细介绍四种主流方法,适用于不同初始化系统(init),操作前请务必确认目标服务的必要性,避免禁用关键服务(如网络管理、系统日志)导致系统异常,适用系统:Ubuntu 16.04+、CentOS 7+、Fedora 等Sy……

    2025年7月6日
    12100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信