Arch/Manjaro启用休眠教程 您所在的位置:网站首页 manjaro睡眠无法唤醒 Arch/Manjaro启用休眠教程

Arch/Manjaro启用休眠教程

2024-07-14 05:53| 来源: 网络整理| 查看: 265

Arch/Manjaro默认是没有休眠机制的,需要用户手动启用这是一个教程,已经尽可能写得详细了,希望你能看得懂

设置Swap

Swap分为Swap分区和Swap文件两种,Swap分区不容易更改,Swap文件可以方便更改大小我这里用的是Swap文件

进入管理员模式进入管理员模式非常简单,只需要在命令行中输入su,再输入你的密码即可(如果有的话)身为管理员,可以对系统进行任何操作所以进入这个模式之后要小心谨慎,别打错命令损坏系统了哦~( ̄▽ ̄)~*

创建Swap文件

1dd if=/dev/zero of=/swapfile bs=1M count=512 status=progress

解释一下这行命令每个参数的意思:if是要读取的内容,of是将刚才读取内容写入的文件,bs为单位,count为容量所以此样例中意思为“在/swapfile里面写入/dev/zero中的内容(也就是写入0),大小为512个1M(512M)”⚠️Swap的容量需要创建比较大,最好和物理内存相同,至少也要物理内存的2/3,否则会导致休眠失败

设置权限chmod 600 /swapfile意思是给文件所有者读写的权限,其他用户没有任何权限

格式化mkswap /swapfile这个很好理解,交换文件需要特定的文件格式

启用swapon /swapfile

自动挂载

编辑文件/etc/fstab1/swapfile none swap defaults 0 0

在每次开机时,系统都会读取fstab来自动挂载。如果没有设置,则需要自己手动挂载之后才能用。

设置内核参数

在这个环节中,有两个重要参数:resume和resume_offset获取方法:resume:命令行输入findmnt -no UUID -T /swapfileresume_offset:命令行输入

1sudo filefrag -v /swapfile | awk '{ if($1=="0:"){print substr($4, 1, length($4)-2)} }'

然后编辑grub文件

/etc/default/grub123...GRUB_CMDLINE_LINUX="resume=UUID=xxx resume_offset=xxx"...

*xxx代表在上面命令中获取到的值*如果该行=后面已经有东西,直接在行末添加上文中=后面的内容即可(如果有双引号要添加在双引号内)

配置 initramfs

添加resume钩子或systemd钩子编辑/etc/mkinitcpio.conf,在HOOKS行中添加resume钩子或systemd钩子例如该行原有内容是:HOOKS="base udev autodetect modconf block filesystems keyboard fsck"

添加resume后就是:HOOKS="base udev resume autodetect modconf block filesystems keyboard fsck"

添加systemd后是:HOOKS="base udev systemd autodetect modconf block filesystems keyboard fsck"

resume和systemd二选一加入即可

重新生成 initramfs 镜像:

命令行输入1mkinitcpio -P 重启电脑

更改内核参数后需要重启电脑生效,接下来就可以试试能否正常使用了

本文大部分参考自Archlinux Wiki,如有错误请即使指出



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有