在Linux中仍然可以使用Windows的pagefile.sys作为交换文件,而且并不复杂。
首先,您需要在启动时自动挂载Windows分区。将以下行添加到/etc/fstab
文件中:
UUID=<MY_UUID> /mnt/Windows_C auto auto 0 0
然后创建一个脚本,如果需要的话,将格式化交换文件并挂载它。例如:home//swap.sh
#!/bin/bash
pagefile=/mnt/Windows_C/pagefile.sys
type=$(blkid -s TYPE -o value $pagefile)
if [[ $type != swap && $type != swsuspend ]]; then
mkswap $pagefile
fi
swapon $pagefile
将脚本设为可执行,并创建一个服务,在Windows分区挂载后启动它:创建文件
/etc/systemd/system/swap.service
,内容如下:
[Unit]
Description=Use Windows swap file
After=local-fs.target
[Service]
Type=simple
ExecStart=/home/<username>/swap.sh
[Install]
WantedBy=multi-user.target
启动服务以检查其是否正常工作:
sudo systemctl start swap
如果脚本正常工作,命令
swapon
应该返回类似以下内容:
NAME TYPE SIZE USED PRIO
/mnt/Windows_C/pagefile.sys file 8,5G 0B -2
如果不行的话,尝试执行
systemctl status swap.service
来查看发生了什么。
如果一切顺利,你可以启用该服务:
sudo systemctl enable swap
现在你基本上完成了。如果你想避免在pagefile.sys上出现一些不安全的权限警告,你需要在Windows和Linux之间设置一个权限映射。
为此,卸载Windows分区,然后生成一个用户映射文件。
sudo ntfsusermap /dev/disk/by-uuid/<UUID>
重新挂载分区并将用户映射文件移动到一个名为
.NTFS-3G
的新文件夹中。
sudo mkdir /mnt/Windows_C/.NTFS-3G
sudo mv UserMapping /mnt/Windows_C/.NTFS-3G/
从我所看到的情况来看,你在Windows方面不需要做任何操作,页面文件pagefile.sys的重新格式化会在启动时自动进行。
https://linuxize.com/post/create-a-linux-swap-file/
在fstab之后运行脚本
如何在NTFS(或FAT32)分区上使用'chmod'命令?