Этот Linux Swap Space Mini-HOWTO описывает, как разделить пространство подкачки между Windows и Linux. ** Применяются ли эти инструкции к Ubuntu в 2011 году? Как мне изменить шаги для Ubuntu?
Есть ли лучший подход к совместному использованию пространства подкачки? **
Основываясь на HOWTO, кажется, лучше создать отдельный раздел подкачки NTFS:
Затем настройте Ubuntu для подготовки пространства подкачки для использования Linux при запуске; Windows закрыта.
Я хочу использовать двойную загрузку Ubuntu и Windows 7 на моем ноутбуке X301. Тем не менее, мой ноутбук имеет только 64 ГБ SDD, поэтому я хотел бы сохранить как можно больше дискового пространства.
Пространство подкачки Windows обычно представляет собой файл pagefile.sys, хранящийся на диске. Он имеет произвольный размер и может использовать не более этого размера.
Ubuntu и Linux требуют выделенного раздела подкачки или выделенного пространства подкачки. Однако пространство подкачки между Linux и Windows неправильно отформатировано для каждой системы, чтобы понять пространство подкачки другой. Это приводит к ограничению возможности совместного использования пространства подкачки. Однако вам не нужно делить пространство подкачки. Он действует исходя из оперативной памяти: каждый бит памяти заполняется данными и распределяется по мере необходимости. Когда данные там не нужны, они помечаются как пригодные для перезаписи. Это означает, что какая-то другая программа может прийти и перезаписать последнюю выделенную область новыми данными. Этот цикл затем продолжается.
Не возможно. Формат pagefile.sys является частным и неизвестным.
Все еще можно использовать Windows pagefile.sys в качестве подкачки файл в Linux и, в конце концов, не так уж и сложно.
Сначала вам нужно автоматически смонтировать раздел Windows при запуске. Добавьте эту строку в /etc/fstab
:
UUID=<MY_UUID> /mnt/Windows_C auto auto 0 0
Затем создайте скрипт, который при необходимости отформатирует файл подкачки и смонтирует его. Например, home/
:
#!/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 происходит автоматически при запуске.