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

相关推荐

  • 密码和全名这样填安全吗?

    添加用户的两种核心命令useradd 命令(通用)语法:sudo useradd [选项] 用户名常用选项:-m:创建用户家目录(默认位置 /home/用户名)-s /bin/bash:指定登录Shell(如不指定,默认使用/bin/sh)-g 主组名:设置主用户组(需提前存在)-G 附加组名:设置附加组(如……

    2025年7月8日
    15500
  • 如何安全登录Linux服务器?

    远程登录(最常用场景)SSH 登录(推荐安全方式)步骤:ssh 用户名@服务器IP地址 -p 端口号示例:ssh admin@192.168.1.100 -p 22 # 默认端口22可省略关键操作:首次登录:需输入yes确认主机指纹(防中间人攻击),认证方式:密码登录:输入用户密码(输入时无显示),密钥登录(更……

    2025年7月26日
    15800
  • 如何将Linux系统语言修改为英文?详细步骤与操作指南?

    在Linux系统中,将系统语言修改为英文是常见的操作,尤其适合需要使用英文软件、避免乱码或习惯英文界面的用户,不同Linux发行版的操作步骤略有差异,但主要分为图形界面修改和命令行修改两种方式,以下将针对主流发行版(如Ubuntu/Debian、CentOS/RHEL、Fedora)进行详细说明,图形界面修改……

    2025年10月4日
    10400
  • Linux系统如何正确设置Qt配置?

    在Linux系统中配置Qt开发环境是进行跨平台GUI应用开发的基础,本文将详细介绍从Qt安装到环境变量配置、项目构建及常见问题排查的完整流程,帮助开发者快速搭建高效的Qt开发环境,Qt在Linux中的安装方式Qt的安装方式主要有三种:官网离线安装包、在线安装器(Qt Maintenance Tool)以及Lin……

    2025年10月6日
    13700
  • Linux编译C程序必学技巧?

    环境准备:安装GCC编译器打开终端Ctrl+Alt+T 启动终端(适用于Ubuntu/Debian等主流发行版),安装GCC执行命令安装GNU编译器集合(GCC):sudo apt update && sudo apt install gcc # Ubuntu/Debiansudo dnf in……

    2025年7月24日
    16800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信