V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Lanyangzhi
V2EX  ›  Linux

如何使用 fdisk 创建正确的 swap 分区?

  •  
  •   Lanyangzhi · 2025 年 6 月 14 日 · 3553 次点击
    这是一个创建于 226 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近受到了 arch 的感召,尝试装一个 arch 玩玩,按照说明进行安装和分区
    感觉 archwiki 还是不太适合我这样的,用了 ds 辅助我安装。分区时 ds 说

    4. 创建 Swap 分区( 4GB )
    输入 n 新建第二个分区。
    
    选择分区类型(主分区或逻辑分区,默认直接回车)。
    
    起始扇区直接回车(自动接在上一个分区之后)。
    
    结束扇区输入 +4G 。
    
    设置分区类型:
    
    输入 t → 输入 2 (选择分区号)→ 输入 82 ( Linux Swap 的类型码)。
    

    我照做,得到了
    zZPbc.png
    之后我尝试了使用82,8200作为类型码,均显示linux root verity(s390)
    查询 guid 是{7AC63B47-B25C-463B-8DF8-B4A94E6C90E1}(s390)
    之后我选择直接写swap作为类型码,这次类型成功改为了 swap ,但 guid 没有发生变化,同时出现了以下状况
    zZDi9.png zZQnp.png
    (guid 不对,但仍然被读取为swap,且在 arch 对 s390 修改类型时提示 unchanged,在 ubuntu 上对 netbsd 修改时提示 changed)
    我有点郁闷,打开了 ubuntu 做测试,结果和 arch 是一样的,只不过 82 代表的类型不同了{2DB519EC-B10F-11DC-B99B-0019D1879648}(netbsd)
    zZWB6.png

    最后的最后,我在 fdisk 里查询类型码,ubuntu 和 arch 均显示为 19 ,同时在 oracle 的指南里也写了使用 fdisk 的 82 获得 swap 分区
    zZ2FO.jpeg

    作为一个'用了'十年 Linux 还在查命令的菜鸟,我选择把问题抛给各路 dalao😅

    27 条回复    2025-06-16 14:08:27 +08:00
    alsa
        1
    alsa  
       2025 年 6 月 14 日 via Android
    cfdisk
    yanqiyu
        2
    yanqiyu  
       2025 年 6 月 14 日
    没必要在这个地方折腾,要创建 swap 分区只需要他是一个分区+格式化成 swap+写 fstab 就行

    想要遵循什么管理的话是分区类型 8200 但是风趣 UUID 是 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F (这两个是独立的,要分别调)
    sagaxu
        3
    sagaxu  
       2025 年 6 月 14 日
    内存都 16G/32G 起步了,你搞个 4G 的 swap 毫无意义啊
    ByteCat
        4
    ByteCat  
       2025 年 6 月 14 日
    只是安装的话 archinstall 已经很方便了;
    swapfile 感觉比 swap 分区更灵活,但如果需要硬盘休眠好像另说
    donaldturinglee
        5
    donaldturinglee  
       2025 年 6 月 14 日 via Android
    不会 fdisk 建议直接用 cfdisk
    momocraft
        6
    momocraft  
       2025 年 6 月 14 日
    短的 parttype 是 MBR 分区表的,长的是 GPT 分区表的
    momocraft
        7
    momocraft  
       2025 年 6 月 14 日
    另外 parttype 不对同样可以 mkswap 和 swapon ,不是很重要

    GPT 设置正确的 type 可以不写 fstab 自动 swapon
    WhatTheBridgeSay
        8
    WhatTheBridgeSay  
       2025 年 6 月 14 日   ❤️ 1
    1. swap 没必要
    2. swap 可以是个文件 swap.img 并非必须是个磁盘分区
    unused
        9
    unused  
       2025 年 6 月 14 日 via Android
    类型不重要,直接 swapon 然后 genfstab
    baobao1270
        10
    baobao1270  
       2025 年 6 月 14 日
    1. 建议用 cfdisk
    2. 分区类型直接用 Linux Filesystem 也行,Linux 内核会自动识别
    3. 分区为 Linux Filesystem 后直接 mkswap /dev/sda2 && swapon /dev/sda2 就行,然后添加对应的 fstab
    baobao1270
        11
    baobao1270  
       2025 年 6 月 14 日
    顺便推推我写的 arch linux installer - lty.vc/archinst
    Cooky
        12
    Cooky  
       2025 年 6 月 14 日
    19 才是 Linux swap ,怎么成了 82 了
    Cooky
        13
    Cooky  
       2025 年 6 月 14 日
    ds 和你查到的都是非常老的版本的 fdisk
    sleepm
        14
    sleepm  
       2025 年 6 月 14 日
    作为一个手欠删了 swap 导致开了机,因为找不到 swap 的过来人
    给 swap 设置 uuid 用 swaplabel
    https://man7.org/linux/man-pages/man8/swaplabel.8.html

    swap 本来就是一个文件,没必要专门分个区
    sleepm
        15
    sleepm  
       2025 年 6 月 14 日
    导致开不了机
    lucifer9
        16
    lucifer9  
       2025 年 6 月 14 日
    如果你磁盘是 MBR 模式的话,那确实应该输入 82.
    但是图里 fdisk 显示的是类似 “Linux swap”、“Linux root verity (S390)” 这样的 GPT 分区别名而不是传统的 MBR 0xxx 代码,这说明磁盘是 GPT 格式。而 fdisk 会自动检测磁盘的分区表类型,于是就工作在 GPT 模式。这个时候 fdisk 让输入的是别名列表里的条目对应的第几条那个数字( 19 )或者是直接输入 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F 。
    另外,GPT 格式磁盘最好用 gdisk 来搞,这个时候就可以输入 8200 ,比较符合习惯
    expy
        17
    expy  
       2025 年 6 月 14 日
    还是用 zram 吧
    KamenReborn
        18
    KamenReborn  
       2025 年 6 月 14 日
    不要在这里用 ai ,因为你不知道它什么时候就会胡言乱语,现在 archinstall 也非常好用了
    webcape233
        19
    webcape233  
       2025 年 6 月 15 日 via iPhone
    swapfile 吧 falloc -l 8G /swap
    mkswap /swap
    chmod 600 /swap

    swapon /swap

    再放到 fstab
    june4
        20
    june4  
       2025 年 6 月 15 日
    现在这时代别搞这个了,真的内存不够用 zram 才是正道
    linhua
        21
    linhua  
       2025 年 6 月 15 日
    刚开始也是用的 swap ,但是一旦内存用完,开始用 swap 的时候,系统就卡顿。现在用 zram 了,zstd 压缩,设置成 真实内存( 16G ,比较小)的 3 倍,没有出现卡顿的情况了。
    nuk
        22
    nuk  
       2025 年 6 月 15 日
    那个你输 82 的地方,直接输 swap 就行
    msg7086
        23
    msg7086  
       2025 年 6 月 15 日
    MBR 里
    82 Linux swap / So
    GPT 里
    19 Linux swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
    mark2025
        24
    mark2025  
       2025 年 6 月 16 日
    @linhua 3 倍内存是不是大了呢。好像推荐值一般是物理内存 30%-80%
    zjvbqla
        25
    zjvbqla  
       2025 年 6 月 16 日
    我刚刚也在折腾,但是年纪大了,没耐心搞了。还是装了 Debian 。哈哈
    lucifer9
        26
    lucifer9  
       2025 年 6 月 16 日
    有 hibernate 需求的话还是需要 swap 的
    xuwen
        27
    xuwen  
       2025 年 6 月 16 日
    用 zram 当 swap
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1043 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:47 · PVG 02:47 · LAX 10:47 · JFK 13:47
    ♥ Do have faith in what you're doing.