交换文件硬盘似乎有漏洞

交换文件硬盘似乎有漏洞

伙计们,我需要在我的 ubuntu 系统上启用交换,并且我想避免在 SSD 上进行交换或格式化不包含交换分区的硬盘。因此,我尝试创建一个文件交换并使用它,但按照 ubuntu 指南: https://help.ubuntu.com/community/SwapFaq 我无法找出问题所在。首先,我无法使用 fallocate 分配文件,因为它说不允许操作,然后我用 dd 创建了一个全为零的文件,但在设置正确的权限并调用 mkswap 后,命令 swapon 失败,提示:kipping - 它似乎有漏洞。我想使用文件交换来避免在已经有完整分区的磁盘上创建分区,并且我希望它在硬盘上而不是 SSD 上。你能帮帮我吗? 这些是我所做的步骤

问题在于 swapon 被中断,因为文件似乎有漏洞。该文件是使用 dd 创建的。

继续说问题是什么:我的系统根本没有交换。我想在辅助硬盘上添加一个新的,而不是主 SSD,但我想避免格式化它并创建分区。这就是我创建交换文件的原因。但是当我尝试使用命令“swapon”激活它时,我收到错误:它似乎有漏洞。

答案1

要在 20.04 中使用交换文件启用休眠功能:

我昨天用这种方法增加了我的交换文件大小并启用休眠(可选)。最后一段是我如何寻找漏洞的。

增加swapfile尺寸以匹配高达 8GB 的​​ RAM 大小。

  • 检查正在使用的交换:

    sudo swapon -s
    
  • 如果找到交换分区:

    sudo swapoff -a
    sudo nano -Bw /etc/fstab
    
  • 在交换分区#之前添加:UUID

    # UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX   none   swap    sw     0       0
    
  • swapfile如果不存在,请添加一行:

    swapfile   none    swap     sw      0       0
    
  • 创建swapfile

    sudo fallocate -l XG /swapfile*
    

    X其中的大小(以 GB 为单位swapfile):

    sudo mkswap /swapfile
    sudo chmod 0600 /swapfile
    sudo swapon /swapfile
    
  • 重启:

    sudo reboot
    

添加resume位置和偏移量至grub.cfg

  • 编辑/etc/default/grub

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX resume_offset=XXXXX"
    
  • 从 root 端使用UUID

  • 使用偏移量:

    sudo filefrag -v /swapfile |grep " 0:"| awk '{print $4}'
    
  • 更新 GRUB:

    sudo update-grub
    
  • 测试休眠:

    sudo systemctl hibernate
    

可以使用 GNOME 扩展添加休眠按钮。

swapfile请注意,使用 创建时,可能会出现漏洞fallocate/var/log/syslog可以搜索短语swapon: swapfile has holes以确保不会丢失数据。

相关内容