![Systemd-hibernate 服务在哪个文件中转储 RAM 内容?](https://linux22.com/image/209015/Systemd-hibernate%20%E6%9C%8D%E5%8A%A1%E5%9C%A8%E5%93%AA%E4%B8%AA%E6%96%87%E4%BB%B6%E4%B8%AD%E8%BD%AC%E5%82%A8%20RAM%20%E5%86%85%E5%AE%B9%EF%BC%9F.png)
我想从磁盘映像中获取它以使用 Volatility 进行分析,但我无法找到它(我在 systemd-sleep.conf 文件中进行了搜索,但没有相关指令)谢谢!
答案1
这里 (https://www.linuxuprising.com/2021/08/how-to-enable-hibernation-on-ubuntu.html)或这里(https://confluence.jaytaala.com/display/TKB/Use+a+swap+file+and+enable+hibernation+on+Arch+Linux+-+include+on+a+LUKS+root+partition...它不使用 Systemd-hibernate,但它很有趣)对此问题有一些相关的答复
参考文档在这里(https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt)
谢谢
答案2
这里是:
1.-在根分区上创建交换文件(值得注意的是,您需要一个至少与计算机 RAM 一样大的交换文件)
sudo dd if=/dev/zero of=/swapfile bs=1M count=17408
sudo mkswap /swapfile
sudo chmod 600 /swapfile
2.-持久激活交换
echo "/swapfile none swap defaults 0 0" | sudo tee -a /etc/fstab
sudo mount -a
3.-找出交换文件所在分区的 UUID。我们将在后面的步骤中需要它
findmnt -no UUID -T /swapfile
4.-找出交换文件偏移量。我们在后面的步骤中也将需要它。
sudo filefrag -v /swapfile
注意:从此命令的输出中,“physical_offset”列中的第一个数字块是您需要的值(仅复制数字,而不复制数字块后面的点)
5.-编辑/etc/默认/grub文件以便使用“resume”和“resume offset”内核参数启动。在此文件中,在 GRUB_CMDLINE_LINUX_DEFAULT 行末尾的“” 结尾之前,添加以下内容:(resume=UUID=UUID_FROM_STEP_3 resume_offset=SWAP_OFFSET_FROM_STEP_4
将这些值替换为您在步骤 3 中获得的 UUID 以及在步骤 4 中获得的交换恢复偏移量)例如,这就是添加交换 UUID 和交换偏移量后 GRUB_CMDLINE_LINUX_DEFAULT 行的外观: GRUB_CMDLINE_LINUX_DEFAULT="quiet splashresume=UUID=4a59c6a7-ca54-4e24-a362-3eac83bfe226resume_offset=4974592"
5BIS.-..并更新 GRUB 配置。要在基于 Debian 的 Linux 发行版上执行此操作,您只需运行以下命令:
sudo update-grub
6.-创建(或编辑,如果已存在)/etc/initramfs-tools/conf.d/resume使用交换 UUID 和恢复偏移量(这仅适用于基于 Debian 的 Linux 发行版...在 RedHat 的发行版中,您应该使用 Dracut)。在此文件中,如果您有以“RESUME”开头的行,请编辑该行,或者如果没有这样的行(或文件完全为空),请添加该行,使其看起来像这样:RESUME=UUID=UUID_FROM_STEP_3 resume_offset=SWAP_OFFSET_FROM_STEP_4
6BIS.-...并使用此命令重新生成 initramfs:
sudo update-initramfs -c -k all
7.-重新启动计算机。重新启动后,使用以下命令使计算机休眠:
sudo systemctl hibernate