Как добавить своп после установки системы?


153

Я не создал раздел подкачки во время установки Ubuntu. Позже я освободил немного места и сделал раздел подкачки. Теперь после каждой загрузки я вручную открываю, gpartedчтобы щелкнуть правой кнопкой мыши по разделу подкачки, чтобы включить опцию «swapon».

Как я могу автоматически включить раздел подкачки при загрузке?

Кроме того, если я не создал раздел подкачки, каковы мои другие варианты?


Ответы:


132

Вам нужно отредактировать /etc/fstabи добавить новый раздел подкачки.

sudo nano /etc/fstab

Вам нужно добавить строку, которая выглядит как

UUID=735b3be3-779c-4d21-a944-b033225f3ab4 none   swap    sw      0       0

и вы получите UUID с помощью команды

sudo blkid /dev/sda3

(заменить /dev/sda3соответствующим именем устройства).

Связанный:


Нужна помощь для / etc / fstan я получаю вывод: - bash: / etc / fstab: разрешение отклонено
Ashu_FalcoN

Используйте sudo gedit / etc / fstab

3
Чтобы найти подходящее имя устройства: sudo fdisk -l(от: askubuntu.com/questions/182446/… ), а затем найдите Тип: Linux swap.
NumesSanguis

1
sudo blkid /dev/sda4ничего не печатает для меня (sda4 - это новый созданный раздел с кодом 82h, fdisk говорит, что это раздел «Linux swap / Solaris»).
Егор Скриптунов

1
@ elvis.dukaj также прекрасно использовать имя устройства. Они в основном выражают две разные вещи. Один говорит, что использовать том с точно таким UUID (что-то, что изменится с другим mkswapзапуском), а другой говорит, чтобы использовать основной раздел номер 3 диска /dev/sda. Некоторые предпочитают UUID, потому что даже если назначение имен устройств изменится, UUID останется прежним. Вот почему разница имеет значение. Но если вы уверены, что не будете перераспределять диск, его использование /dev/sda3должно быть одинаково безопасным.
0xC0000022L

106

Чтобы создать раздел подкачки после установки, создайте пустой раздел. В нем не должно быть дыр. Затем вы можете отформатировать этот раздел с помощью:

sudo mkswap /dev/sdX

заменить /dev/sdXна ваш раздел. Смонтируйте этот раздел как swap с

sudo swapon -U UUID

где UUID это то, что вы /dev/sdXчитаете из этого:

blkid /dev/sdX

Свяжите свой новый своп /etc/fstab, добавив эту строку:

UUID=xxx    none    swap    sw      0   0

Если вы хотите использовать свой своп для перехода в спящий режим, вам необходимо обновить UUID /etc/initramfs-tools/conf.d/resumeс этим содержимым RESUME=UUID=xxx. Не забудьте $ sudo update-initramfs -u.

Для завершения: также можно создать файл подкачки, если у вас нет свободного раздела. Этот ответ дает вам представление о том, как создать файл подкачки и включить его при загрузке.


На данный момент у меня есть SSD с двумя разделами, но я бы хотел сделать третий. Если у меня есть основной раздел ext4, в котором хранятся операционная система и мои файлы, могу ли я использовать это, чтобы отделить 2 ГБ от этого в новом разделе? Этот основной раздел имеет более чем достаточно свободного места, так что это не должно быть проблемой.
Пыль

2
Посмотрите на gpartedизменение размера вашего раздела.
NumesSanguis

54

Если вы не хотите или не знаете, как создать раздел подкачки, вы можете создать файл подкачки, который будет работать так же, как и раздел. Вот шаги (с помощью терминала):

  1. Создайте пустой файл (1K * 4M = 4 ГиБ).

    sudo mkdir -v /var/cache/swap
    cd /var/cache/swap
    sudo dd if=/dev/zero of=swapfile bs=1K count=4M
    sudo chmod 600 swapfile
    
  2. Преобразовать вновь созданный файл в файл подкачки.

    sudo mkswap swapfile
    
  3. Включите файл для подкачки и обмена.

    sudo swapon swapfile
    

    Проверить с помощью: swapon -sили top:

    top -bn1 | grep -i swap
    

    Должна отображать строку как: KiB Swap: 4194300 total, 4194300 free

    Чтобы отключить, используйте sudo swapoff swapfileкоманду.

  4. Добавьте его в fstabфайл, чтобы сделать его постоянным при следующей загрузке системы.

    echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
    
  5. Повторно протестируйте файл подкачки при запуске:

    sudo swapoff swapfile
    sudo swapon -va
    

    Примечание. Вышеуказанные команды повторно проверяют синтаксис fstabфайла, иначе ваш Linux не сможет загрузиться должным образом.


13
Спасибо за единственный ответ, который использует файл подкачки, а не раздел подкачки. В этом случае я не смог создать раздел. Команды работали отлично.
Сарел Бота

2
Для тех, кому нужно пространство подкачки большего размера, увеличьте число = 4M, до XM, для пространства подкачки X GiB. В случае, если кто-то пропустил это.
Saurabheights

Я не уверен насчет шага 5. Зачем мне отключать своп для проверки?
Раффи Хачадурян

@RaffiKhatchadourian Повторное тестирование в конце помогает дважды проверить синтаксис fstabфайла (против любых опечаток), в противном случае Linux может не загружаться правильно, вызывая серьезные проблемы с запуском, особенно на удаленных серверах.
Кенорб

1
Ах, теперь я понимаю. Вы должны сделать это до перезагрузки. Я был сброшен при запуске.
Раффи Хачадурян

13

Есть графический способ сделать это с помощью gparted.

Запустите Gparted с:

sudo gparted

Если у вас его нет, вы можете установить его, используя

sudo apt-get install gparted

После запуска gparted:

  1. Выделите раздел, как вы бы сделали, щелкнув правой кнопкой мыши на любом нераспределенном блоке и нажав new
  2. Отформатируйте раздел как linux-swap
  3. Щелкните правой кнопкой мыши по разделу и выберитеswapon

Рядом с именем вашего раздела должен появиться значок ключа


безусловно, самый простой ответ
Shobi

1
Чтобы сделать его постоянным, вам все равно нужно отредактировать файл fstab, как в ответе @ user4124
Мадура Прадип

1
Вопрос уже говорит о том, что они делают это.
Чай Т. Рекс,

1
Это не отвечает на вопрос вообще.
mook765

@ mook765, вопрос "Как добавить своп после установки системы?". Это прекрасно отвечает на этот вопрос.
Тайлер

3

На linux.com просто создайте файл подкачки, так как он более гибкий, и вы можете динамически настраивать, сколько и сколько у вас хранилищ подкачки. Это также позволяет вам перемещать раздел подкачки от системного диска, тем самым делая систему быстрее. Кроме того, если вы используете несколько пространств подкачки, настройте их приоритет использования на одно и то же значение, чтобы циклический перебор использовался для записи в них, что позволит вам получить еще больше улучшений в скорости.

PS Я бы использовал UUID вместо имени устройства, потому что можно легко изменить порядок устройства, если случайно оставить USB-накопитель внутри USB-слота и просто отсоединить и подключить кабели SATA - вам не нужно сильно беспокоиться о том, какой диск подключен где.


Это был самый полезный ответ, потому что он не требует повторного разбиения диска. Жаль, что Ubuntu по умолчанию не создает своп при установке на новую машину!
Эрни

2

Вы должны иметь файловую систему подкачки, определенную в / etc / fstab. Он должен содержать строку, аналогичную

UUID=67682d1b-a1d8-4377-a3dd-67340c141619 none            swap    sw              0       0

Конечно, вам нужно заменить значение UUID идентификатором вашего устройства.


как я могу получить это?

3
Вместо этого вы можете использовать имя устройства, например / dev / sda1 (без UUID).
Адам Быртек,

2

(замените «x» в sdax на номер раздела подкачки, например: sda5)

замените "xxx" на номер UUID, например: 67682d1b-a1d8-4377-a3dd-67340c141619)


su (укажите пароль для получения прав root)

blkid / dev / sdax (получить UUID) mkswap / dev / sdax (раздел подкачки формата) swapon -U xxx

nano / etc / fstab (edit fstab) UUID = xxx none swap sw 0 0 (введите и сохраните этот текст, чтобы сделать перманент подкачки) (затем закройте fsantab)


nano /etc/initramfs-tools/conf.d/resume (создайте файл "резюме" и сохраните этот текст, чтобы использовать hibernate / resume) RESUME = UUID = xxx (ctrl + x, чтобы закрыть nano) -> (y, чтобы сохранить)

перезагрузить машину

войдите и теперь вы можете проверить спящий режим / возобновить


2

Это всеобъемлющее руководство о том, как сделать Ram Drive для Ubuntu. К сожалению .. скриншоты не отображаются в этом через вырезать и вставить .. Позже я добавлю их, но они не нужны.

Первое, что вам нужно сделать, это создать место для вашего привода. У меня есть система двойной загрузки только с жестким диском на 32 ГБ. Мой Ubuntu фактически установлен на SD-карте (да, реальная установка, а не Live Casper). Мой своп тоже был на SD и мог быстро изнашиваться. Я посмотрел, как изменить своп, и нашел эту статью, и мне не понравились ответы, поэтому я сделал учебник, пока вносил изменения.

Если вы просто хотите увеличить или уменьшить размер раздела подкачки, вам нужно только увеличить или уменьшить размер раздела через ваш любимый менеджер разделов. Ubuntu уже знает, куда идти, и она не зависит от размера. Если вы хотите изменить местоположение или сделать новый обмен, то читайте дальше. Первое, что вам нужно сделать, - это сжать жесткий диск, чтобы освободить место для обмена. Если вы сжимаете диск с системой Windows на нем, то вам лучше использовать Windows, чтобы сжать диск (он знает свои собственные вещи). Если вы используете чистую Ubuntu, попробуйте изменить размер с помощью Ubuntu USB.

Инструкции по изменению размера Windows:

  1. Сделайте резервную копию вашей системы и выполните дефрагментацию диска.
  2. Щелкните правой кнопкой мыши на панели запуска.
  3. Выберите Управление дисками
  4. Щелкните правой кнопкой мыши на ПРАВИЛЬНОМ ПРИВОДЕ.
  5. Выберите Shrink.
  6. Введите правильное количество.

Если вы в Ubuntu. Убедитесь, что вы используете инструменты Ubuntu. Чтобы завершить распределение, я буду использовать загрузочный Live USB Ubuntu, который включает GParted. Live USB - это лучший способ использовать Gparted по любой причине, и вы должны иметь USB с первой установки или сделать так, чтобы он был под рукой.

Печатание в 2000 году было запрещено, потому что не хватало места для этого, хотя я «дефрагментировал» диск (я не верю, что Windows действительно его дефрагментировала). После некоторых экспериментов мне было разрешено 1000. Затем я снова попробовал 1000, и это сработало. Я должен поблагодарить моего учителя математики в начальной школе за это больше, чем программисты MS Windows. Это оставило мне 1,95 ГБ, что достаточно близко для моей математики в начальной школе.

Форматировать раздел

Теперь я готов к тому, чтобы gparted отформатировал это пространство как правильный диск подкачки. Если вы работаете в Windows и переключаетесь между Ubuntu и Windows, убедитесь, что вы держите клавишу SHIFT при нажатии «Питание» и «Выключение». Это очень важно, особенно когда вы возитесь с особенностями диска «C» в другой операционной системе. Если вы используете двойную загрузку, вы должны уже знать, что Windows делает фальшивое завершение работы при нормальных обстоятельствах. Некоторые люди отключили «быструю загрузку». У меня нет такого выбора в моей системе (Windows 10) и я должен использовать клавишу Shift благодаря моему другу Google. Если вы загружаетесь с живого USB и не можете смонтировать диск «C» (щелкнув по нему), значит, вы не полностью выключились должным образом. Перезагрузите окна и снова закройте с помощью клавиши Shift.

Теперь вы находитесь в Ubuntu Live Mode и читаете ниже:

Если вы чистый Ubuntu и не сжались в Windows. Вы будете использовать опцию Resize в gParted. Если вы уже сжали диск, не делайте шаг изменения размера. Вы можете ввести GParted на панели инструментов и получить приложение довольно быстро. Щелкните правой кнопкой мыши на диске, размер которого вы хотите изменить.

Теперь мы отформатируем нераспределенное пространство как разделенный диск:

До:

Я не знал, что делать, поэтому посмотрел свой предыдущий Ram Drive на SD. Он отформатирован как Linux Swap. Поэтому я отформатировал свое новое размещение, которое я недавно сократил и под Linux Swap.
Я сказал ОК первичному разделу и предупреждению, и это сработало!

Форматирование раздела

После форматирования и нового раздела

Это совпадение, что старый раздел подкачки на sdбыл вызван, mmblk1p5и новый также p5с mmblk0впереди. Ваш может быть p6 или p7. Не беспокойся

Это mmblk0физический диск, а p это раздел на этом физическом диске. И mmblk01еще один физический диск и т. Д. (Это моя SD-карта). Прежде чем я начал работать, я снова открыл Windows, чтобы убедиться, что Windows все еще загружается. Вам не нужно делать этот шаг, если вы ленивы или работаете на чистой машине с Ubuntu. Если бы это сломало Windows, я бы, скорее всего, стерла Windows с новой установки Ubuntu на этот диск (тоже с помощью свопинга). Если бы я сломал свою систему, мне бы не пришлось больше выполнять какие-либо шаги, потому что я могу выделить своп при новой установке. Все прошло хорошо и Windows загрузилась. Теперь вы можете увидеть новый раздел в диспетчере дисков Windows: (Щелкните правой кнопкой мыши на панели запуска, чтобы получить управление дисками)

Теперь присоедините Swap к процедуре загрузки

Предыдущие ответы на этот вопрос на самом деле имели команды замены / выключения, которые не нужны и могут быть сложными. Все, что нужно сделать, это найти правильный файл и указать своп на новый раздел. Опять же, если вы только изменили размер раздела, вам не нужно ничего делать. Это уже настройка для поиска раздела. Размер делается автоматически.

Если вы изменили раздел или делаете первый в истории обмен, то читайте ниже:

Позвольте мне сказать вам, что я делаю это впервые. Я не фанат UNIX и предпочитаю инструменты с графическим интерфейсом. Я учусь и скрещиваю пальцы, когда делаю этот урок. Пока все прошло хорошо. В корне вашей системы находится каталог с именем и т. Д. Внутри этого каталога находится файл с именем fstab(без расширения). Вам нужно будет отредактировать этот файл с правами суперпользователя "su". Прежде чем мы это сделаем, нам понадобится UUID нового раздела подкачки, который вы сделали с помощью Live USB. Тип sudo su Теперь вы находитесь в режиме суперпользователя. Вы можете сделать что-нибудь (в том числе стереть свое собственное существование).

Введите blkidи найдите uuid нового раздела подкачки. Я увидел мой ниже и выделил его:

Не обращайте внимания на PartUID.

Теперь другие люди скажут:

sudo gedit /etc/fstab

Однако, я попробовал это, и это не находило правильный файл (комментарии, пожалуйста).

Поэтому я просто набрал gedit и открыл его в стиле GUI (Удачи!). Так как я уже был в режиме суперпользователя (sudo su), у меня есть права суперпользователя, чтобы делать НИЧЕГО в Gedit, включая сохранение файла после его изменения. Замечательный! Перед тем, как изменить или поврежден что - либо, кроме FSTAB в качестве резервного под названием ... fstab.bak.

Сделайте резервную копию, используя причудливый графический интерфейс, выберите знакомый «Сохранить как» и добавьте «bak» в файл fstab.bak. Убедитесь, что он там с расширением .bak. Вундеркинды скажут вам использовать команду терминала cp, но мы новички не можем найти файл в терминале, чтобы получить это далеко в первую очередь. Как и любой текстовый редактор, после команды «сохранить как» ваш текущий файл теперь является fstab.bak. Откройте реальный файл, который у вас был ранее, а затем закройте файл резервной копии. Дважды проверьте, что вы редактируете реальное fstabбез расширения. Если вы отредактируете файл резервной копии, при перезагрузке ничего не произойдет, плюс ваша резервная копия не будет реальной резервной копией оригинала.

Мой оригинальный fstabфайл выглядит так:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk1p6 during installation
UUID=a611601a-6ea8-4e34-9859-42a2470cac29 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/mmcblk0p1 during installation
UUID=00F2-C0CE  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/mmcblk1p5 during installation
UUID=8fb20159-62e4-41a3-8550-791c7a66c328 none            swap    sw              0       0

Последняя строка (я выделил красным для вас) содержит оригинальную информацию о свопе, которая используется, вероятно, во время загрузки. Из предыдущей команды blkid я мог видеть UUID моего нового диска. Скопируйте эту фразу, выделив текст в терминале, а затем щелкните правой кнопкой мыши и выберите «Копировать». Вставьте эту фразу в другой отдельный редактор без suправ в качестве блокнота (вы можете использовать Libre Office, а гики - nano). Этот шаг поможет вам получить правильный текст без кавычек, чтобы вы могли легко вставить в fstabфайл. Вы хотите изменить этот файл как можно меньше.

New UUID
UUID="709ea197-e6fb-428b-9c1f-4b258452b10c"

Итак, мой новый UUID указан выше красным. Все, что мне нужно сделать, это изменить UUID для обмена. Если у вас нет диска подкачки, скопируйте мою строку в приведенный выше файл fstab, а затем добавьте правильный uuid из предыдущей команды blkid. (выберите правильный uuid, пожалуйста!)
Если это ваша первая линия своп, убедитесь, что вы включили полную строку с дополнительным материалом

none            swap    sw              0       0

Не стоит так сильно беспокоиться о точном расстоянии.

Мой новый файл выглядит следующим образом: Обратите внимание, что я также добавил комментарий к своим изменениям. Символ #означает, что это комментарий.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk1p6 during installation
UUID=a611601a-6ea8-4e34-9859-42a2470cac29 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/mmcblk0p1 during installation
UUID=00F2-C0CE  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/mmcblk1p5 during installation  NOW changed to mmcblk0p5
UUID= 709ea197-e6fb-428b-9c1f-4b258452b10c  none            swap    sw              0       0

Не вставляйте цитаты. Не ставьте пробелы после =знака.

Сохраните ваш файл.

Откройте его снова, просто чтобы убедиться, что ваши изменения сохранены. Закройте gedit и терминал с опасными suправами, за которые вас будут ругать вундеркинды (потому что с ними легко работать ... и легко уничтожать вещи тоже).

Перезагрузитесь и и скрестите пальцы!

Я перезагрузился и затем проверил, работает ли мой своп, посмотрев на приложение производительности системы. У меня еще был своп диск! Но был ли это новый или старый? Я не мог проверить, действительно ли мой новый диск был загружен, потому что новый имеет тот же размер, что и старый. Поэтому я напечатал: swapon(НЕ ПИШИТЕ БОЛЬШЕ, ЧЕМ СВАПОН, и в нем будет указан только обмен для вас: безопасно). Теперь я вижу свой новый диск, mmblk0p5который соответствует той работе UUID, с которой я работал fstab. Мой тонкий 32-Гбайт накопитель вступил в силу:


На этом мы завершаем этот урок от начинающего пользователя, который никогда не делал этого раньше. Половина причины, по которой я сделал этот урок, была в том, что гики, которые помогают нам (и спасибо), могли видеть, как помочь начинающим пользователям. Я подозревал, что предыдущие ответы вводят в заблуждение, и решил сделать учебник по мере того, как я выполняю свою работу ... Угадывая из других ответов, которые были полезны, я пришел к выводу, что все, что мне нужно было сделать, это отредактировать fstabфайл и перезагрузить компьютер. Все работало хорошо, и я все еще имею Windows 10 и еще не стер свою систему. Если кто-нибудь знает, как использовать Windows pagefile.sysв качестве файла подкачки Linux, мне было бы интересно, так как в Windows для этого берут 2 ГБ, а место на жестком диске очень дорого на моей машине с 32 ГБ.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.