Совместное использование пространства подкачки между Windows и Ubuntu

Этот Linux Swap Space Mini-HOWTO описывает, как разделить пространство подкачки между Windows и Linux. ** Применяются ли эти инструкции к Ubuntu в 2011 году? Как мне изменить шаги для Ubuntu?

Есть ли лучший подход к совместному использованию пространства подкачки? **

Основываясь на HOWTO, кажется, лучше создать отдельный раздел подкачки NTFS:

  • Выделенный поэтому файл подкачки будет смежным и останется нефрагментированным.
  • NTFS, чтобы и Windows, и Ubuntu могли читать / записывать в него. (Или FAT32 лучше для этой цели?)

Затем настройте Ubuntu для подготовки пространства подкачки для использования Linux при запуске; Windows закрыта.

Я хочу использовать двойную загрузку Ubuntu и Windows 7 на моем ноутбуке X301. Тем не менее, мой ноутбук имеет только 64 ГБ SDD, поэтому я хотел бы сохранить как можно больше дискового пространства.


обновление: Существует альтернативный метод , использующий специальный драйвер для Windows, который позволяет использовать раздел подкачки Linux для временного хранения, например RAM-диск, но это кажется, не так хорошо ...

4
задан 9 April 2012 в 06:22

3 ответа

Пространство подкачки Windows обычно представляет собой файл pagefile.sys, хранящийся на диске. Он имеет произвольный размер и может использовать не более этого размера.

Ubuntu и Linux требуют выделенного раздела подкачки или выделенного пространства подкачки. Однако пространство подкачки между Linux и Windows неправильно отформатировано для каждой системы, чтобы понять пространство подкачки другой. Это приводит к ограничению возможности совместного использования пространства подкачки. Однако вам не нужно делить пространство подкачки. Он действует исходя из оперативной памяти: каждый бит памяти заполняется данными и распределяется по мере необходимости. Когда данные там не нужны, они помечаются как пригодные для перезаписи. Это означает, что какая-то другая программа может прийти и перезаписать последнюю выделенную область новыми данными. Этот цикл затем продолжается.

0
ответ дан 9 April 2012 в 06:22

Не возможно. Формат pagefile.sys является частным и неизвестным.

0
ответ дан 9 April 2012 в 06:22

Все еще можно использовать Windows pagefile.sys в качестве подкачки файл в Linux и, в конце концов, не так уж и сложно.

Сначала вам нужно автоматически смонтировать раздел 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/

Из что я увидел, на стороне винды ничего делать не надо, переформатирование pagefile.sys происходит автоматически при запуске.

https://linuxize.com/post/create-a-linux-swap-file/

Запустить скрипт после fstab

Как использовать chmod в разделе NTFS (или FAT32)?

1
ответ дан 19 June 2020 в 08:28

Другие вопросы по тегам:

Похожие вопросы: