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

95 天前
 Lanyangzhi

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

4. 创建 Swap 分区( 4GB )
输入 n 新建第二个分区。

选择分区类型(主分区或逻辑分区,默认直接回车)。

起始扇区直接回车(自动接在上一个分区之后)。

结束扇区输入 +4G 。

设置分区类型:

输入 t → 输入 2 (选择分区号)→ 输入 82 ( Linux Swap 的类型码)。

我照做,得到了

之后我尝试了使用82,8200作为类型码,均显示linux root verity(s390)
查询 guid 是{7AC63B47-B25C-463B-8DF8-B4A94E6C90E1}(s390)
之后我选择直接写swap作为类型码,这次类型成功改为了 swap ,但 guid 没有发生变化,同时出现了以下状况

(guid 不对,但仍然被读取为swap,且在 arch 对 s390 修改类型时提示 unchanged,在 ubuntu 上对 netbsd 修改时提示 changed)
我有点郁闷,打开了 ubuntu 做测试,结果和 arch 是一样的,只不过 82 代表的类型不同了{2DB519EC-B10F-11DC-B99B-0019D1879648}(netbsd)

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

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

2898 次点击
所在节点    Linux
27 条回复
alsa
95 天前
cfdisk
yanqiyu
95 天前
没必要在这个地方折腾,要创建 swap 分区只需要他是一个分区+格式化成 swap+写 fstab 就行

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

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

swap 本来就是一个文件,没必要专门分个区
sleepm
95 天前
导致开不了机
lucifer9
95 天前
如果你磁盘是 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
94 天前
还是用 zram 吧
KamenReborn
94 天前
不要在这里用 ai ,因为你不知道它什么时候就会胡言乱语,现在 archinstall 也非常好用了
webcape233
94 天前
swapfile 吧 falloc -l 8G /swap
mkswap /swap
chmod 600 /swap

swapon /swap

再放到 fstab
june4
94 天前
现在这时代别搞这个了,真的内存不够用 zram 才是正道

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1138590

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX