Як додати swap після встановлення системи?


153

Я не створив розділ swap під час встановлення Ubuntu. Пізніше я звільнив трохи місця і зробив своп-перегородку. Тепер після кожного завантаження я відкриваю вручну gpartedправою кнопкою миші розділ swap, щоб увімкнути опцію 'swapon'.

Як я можу автоматично включити swap розділ під час завантаження?

Крім того, якщо я не створив розділ swap, які ще мої варіанти?


Відповіді:


132

Потрібно відредагувати /etc/fstabта додати новий розділ swap.

sudo nano /etc/fstab

Вам потрібно додати рядок, який виглядає так

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

і ви отримуєте UUID за допомогою команди

sudo blkid /dev/sda3

(замінити /dev/sda3відповідною назвою пристрою).

Пов'язані:


Потрібна допомога для / etc / fstan i ma отримання вихідних даних: - 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

Щоб створити розділ swap після установки, створіть порожній розділ. У ньому не повинно бути дірок. Потім ви можете відформатувати цей розділ за допомогою:

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.

Щоб завершити: також можна створити файл swap, якщо у вас немає запасного розділу. Ця відповідь дає уявлення про те, як створити файл swap та включити його під час завантаження.


На даний момент у мене є SSD з двома розділами, але я хотів би зробити третій. Якщо у мене є первинний розділ ext4, який містить ОС та мої файли, чи можу я використовувати це, щоб відключити 2 Гб його в новий розділ? Цей основний розділ має більш ніж достатньо вільного місця, тому це не повинно бути проблемою.
dustin

2
Погляньте на gpartedзміну розміру вашого розділу.
NumesSanguis

54

Якщо ви не хочете або не знаєте, як створити розділ swap, ви можете створити файл swap, який буде працювати так само, як і розділ. Ось такі кроки (за допомогою терміналу):

  1. Створіть порожній файл (1K * 4M = 4 GiB).

    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
Для тих, хто потребує місця для розміщення більшого розміру, збільшити кількість = 4М, до XM, для місця обміну місцями X GiB. У випадку, якщо хтось пропустив це.
saurabheights

Я не впевнений у кроці 5. Чому я б вимкнути своп для тестування?
Раффі Хатчадурян

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

1
Аха, я зараз розумію. Це потрібно зробити перед перезавантаженням. Мене відпустили на старті.
Раффі Хатчадурян

13

Існує графічний спосіб зробити це за допомогою gparted.

Виконати Gparted із:

sudo gparted

Якщо у вас немає встановлення, ви можете встановити його за допомогою

sudo apt-get install gparted

Після запуску gparted:

  1. Виділіть розділ так, як ви робили, клацнувши правою кнопкою миші будь-який нерозподілений блок та клацнувши new
  2. Відформатуйте розділ як linux-swap
  3. Клацніть правою кнопкою миші розділ та клацнітьswapon

По завершенні імені розділу має бути значок ключа, коли ви закінчите


на сьогодні найпростіша відповідь
Шобі

1
Щоб зробити його постійним, вам залишається відредагувати файл fstab, як у відповіді на @ user4124
Pradeep

1
У запитанні вже сказано, що вони роблять це.
Чай Т. Рекс

1
Це зовсім не відповідає на питання.
mook765

@ mook765, Питання "Як додати swap після встановлення системи?". Це чудово відповідає на це питання.
Тейлер

3

з linux.com просто створіть файл свопу, оскільки це є більш гнучким, і ви можете динамічно регулювати кількість і скільки великих сховищ для своп. Це також дозволяє перемістити своп-розділ від системного диска, тим самим зробивши систему швидшою. Крім того, якщо ви використовуєте кілька просторів підкачки, відрегулюйте їх пріоритет використання на однакове значення, тому для запису в них використовується круглий робін, що дозволяє отримати ще більше підвищення швидкості.

ps я б використовував UUID замість імені пристрою, тому що змінити порядок пристрою легко, якщо випадково залишити USB-накопичувач у USB-слоті та просто вийняти та підключити назад кабелі sata - вам не потрібно сильно турбуватися про те, який привід підключений де.


Це було найбільш корисною відповіддю, оскільки не потребує перерозподілу диска. Шкода, що Ubuntu не створює swap за замовчуванням, коли ви встановлюєте його на новій машині!
Ерні

2

У вас повинна бути файлова система swap, визначена в / etc / fstab. Він повинен містити рядок, подібний до

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

Звичайно, потрібно замінити значення UUID ідентифікатором вашого пристрою.


як я можу це отримати?

3
Натомість ви можете використовувати ім’я пристрою, як / dev / sda1 (без UUID).
Адам Біртек

2

(замініть "x" у sdax номером розділу swap, наприклад: sda5)

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


su (введіть пароль, щоб отримати дозвіл root)

blkid / dev / sdax (отримати UUID) mmwp / dev / sdax (форматний своп-розділ) swapon -U xxx

nano / etc / fstab (редагувати fstab) UUID = xxx none swap sw 0 0 (введіть і збережіть цей текст, щоб зробити своп постійним) (тоді закрийте fsantab)


nano /etc/initramfs-tools/conf.d/resume (створити файл "відновити" та зберегти цей текст для використання в сплячому режимі / відновити) RESUME = UUID = xxx (ctrl + x, щоб закрити nano) -> (y для збереження)

перезапустити машину

увійдіть і тепер ви можете перевірити сплячу / відновити


2

Це вичерпний підручник про те, як зробити Ram Drive для Ubuntu. На жаль .. скріншоти не відображаються в цьому за допомогою вирізання та вставки .. Пізніше я додаю їх, але вони не потрібні.

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

Якщо ви просто хочете збільшити або зменшити розділ Swap, вам потрібно лише збільшити або зменшити розділ через улюблений менеджер розділів. Ubuntu вже знає, куди піти, і це незалежно від розміру. Якщо ви хочете змінити місцеположення або зробити новий Swap, тоді читайте далі. Перше, що вам потрібно буде зробити - це зменшити жорсткий диск, щоб забезпечити місце для заміни. Якщо ви стискаєте диск із системою Windows на ньому, тоді вам краще використовувати Windows, щоб зменшити диск (він знає власні речі). Якщо ви користуєтеся чистим ubuntu, спробуйте змінити розмір за допомогою живого USB Ubuntu.

Інструкції щодо зміни розміру Windows:

  1. Створіть резервну копію системи та дефрагментуйте диск.
  2. Клацніть правою кнопкою миші на панелі запуску.
  3. Виберіть Управління дисками
  4. Клацніть правою кнопкою миші НА ПРАВИЛЬНИЙ Драйв
  5. Виберіть Зменшити.
  6. Введіть правильну кількість.

Якщо ви перебуваєте в Ubuntu. Обов’язково використовуйте інструменти Ubuntu. Щоб закінчити розподіл, я використовуватиму завантажувальний Live USB Ubuntu, який включає GParted. Живий USB - це найкращий спосіб використовувати Gparted з будь-якої причини, і вам слід мати USB від першого встановлення або зробити його для зручності.

Введення тексту в 2000 році не було дозволено, тому що для цього не було достатньо місця, навіть якщо я "дефрагментував" диск (я не вірю, що Windows дійсно його знеструмив). З деяким експериментом мені дозволили 1000. Потім я спробував ще раз 1000, і це спрацювало. Я повинен подякувати своєму вчителю математики в початковій школі за те, що більше, ніж програмісти MS Windows. Це залишило мені 1,95 Гб, що досить близько для моєї математики в початковій школі.

Відформатуйте розділ

Тепер я готовий до gparted, щоб форматувати цей простір як належний диск для заміни. Якщо ви перебуваєте у Windows та перемикаєтесь між Ubuntu та Windows, переконайтесь, що ви тримаєте клавішу SHIFT, натиснувши кнопку "Power" та "Shut down". Це дуже важливо, особливо коли ви псуєтесь із деталями накопичувача "C" в іншій операційній системі. Якщо ви маєте подвійне завантаження, то ви вже повинні знати, що Windows у звичайних обставинах фальшиво вимикається. Деякі люди відключили "Швидке завантаження". У мене немає такого вибору в моїй системі (Windows 10), і я повинен використовувати клавішу shift завдяки моєму другові Google. Якщо ви завантажуєтесь за допомогою живого USB та не можете встановити диск "C" (натиснувши на нього), то ви повністю не вимкнулися належним чином. Перезавантажте вікна та знову вимкніть клавішу Shift.

Тепер ви перебуваєте в режимі Ubuntu Live і читайте нижче:

Якщо ви чистий Ubuntu і не скорочувались у Windows. Ви будете використовувати параметр Resize в gParted. Якщо ви вже скоротили диск, не робіть кроку зміни розміру. Ви можете набрати GParted на панелі Dash і отримати програму досить швидко. Клацніть правою кнопкою миші диск, на якому потрібно змінити розмір.

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

Перед:

Я не знав, що робити, тому переглянув свій попередній Ram Drive на SD. Він відформатований як Linux Swap. Тож я відформатував своє нове виділення, яке я нещодавно зменшив як Linux Swap.
Я сказав ОК на Первинний розділ та попередження, і воно спрацювало!

Форматування розділу

Після формату та нового розділу

Випадково, що старий розділ swap на виклику sdбув названий, mmblk1p5а новий також p5з mmblk0фронтом. Ваші можуть бути p6 або p7. Не хвилюйся.

mmblk0Це фізичний диск і р є розділ на цьому фізичному диску. І mmblk01це ще один фізичний диск і т. Д. (Це мій SD) Перед тим, як робити більше роботи, я знову відкрив Windows, щоб переконатися, що Windows все ще завантажився. Вам не потрібно робити цей крок, якщо ви ліниві або на чистій машині ubuntu. Якщо він зламав Windows, я, швидше за все, видаляю Windows, щоб зробити нову установку Ubuntu на цьому диску (і підкачки теж). Якщо я зламав свою систему, мені більше не потрібно буде виконувати більше кроків, оскільки я можу виділити своп на новій установці. Все пройшло добре і Windows завантажився. Тепер ви можете побачити новий розділ у диспетчері дисків Windows: (Клацніть правою кнопкою миші на панелі запуску, щоб отримати управління диском)

Тепер приєднайте Swap до програми завантаження

Попередні відповіді на це питання насправді мали команди swapon / off, які не потрібні і можуть бути складними. Все, що потрібно зробити, - це знайти потрібний файл і вказати своп на новий розділ. Знову ж таки, якщо ви лише змінили розмір розділу, вам нічого не потрібно робити. Це вже налаштування для пошуку розділу. Розмір робиться автоматично.

Якщо ви змінили розділ або робите перший підкачку, прочитайте нижче:

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

Введіть blkidі шукайте uuid нового розділу swap. Я побачив мою внизу і виділив її:

Не звертайте уваги на PartUID.

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

sudo gedit /etc/fstab

Однак я спробував це, і він не знайшов потрібного файлу (коментарі, будь ласка).

Тому я просто набрав gedit і відкрив йому примхливий графічний інтерфейс (Успіх!). Оскільки я вже був у режимі Super User (sudo su), у мене є кореневий дозвіл робити що-небудь у Gedit, включаючи збереження файлу після його зміни. Чудово! Перед тим, як змінити або пошкоджений що - небудь, крім FSTAB в якості резервного під назвою ... fstab.bak.

Зробіть резервну копію, використовуючи примхливий графічний спосіб і виберіть знайомий "Зберегти як" та додайте "bak" у файл fstab.bak. Перевірте, чи є там із розширенням .bak. Geeks підкаже вам використовувати команду terminal 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 для свопу. Якщо у вас немає диска swap, скопіюйте мій рядок у вищевказаний файл fstab, а потім додайте належний uuid з попередньої команди blkid. (виберіть правильний uuid, будь ласка!)
Якщо це ваша перша лінія Swap, переконайтеся, що ви включили повний рядок із додатковими матеріалами

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правами, які вилюбки будуть лаяти вас за вчинення (адже це легко робота з ... і легко також знищити речі).

ПОВЕРНУЙТЕ і схрестіть пальці!

Я перезавантажився, а потім перевірив, чи працює мій своп, переглянувши додаток продуктивності системи. У мене ще був привід Swap! Але це був новий чи старий? Я не міг переконатися, що мій новий диск фактично завантажений, оскільки новий має той же розмір, що і старий диск. Тому я набрав: swapon(НЕ ТИПУЙТЕ БІЛЬШЕ, ніж ШАПОН, і він буде перераховувати лише своп: безпечний). Тепер я бачу свій новий диск, на mmblk0p5якому відповідає робота UUID, яку я робив fstab. Мій тонкий основний накопичувач 32 Гб набув чинності:


На цьому закінчується цей підручник від початківця користувача, який ніколи цього не робив. Половина причини, з якої я зробив цей підручник, був тому, що Geeks, які нам допомагають (і дякую), бачать, як допомогти початківцям користувачам. Я підозрював, що попередні відповіді вводили в оману і вирішив зробити підручник, коли я робив свою роботу ... Вгадавши з інших корисних відповідей, я зробив висновок, що все, що мені потрібно було, - це редагувати fstabflle та перезавантажувати. Все добре працювало, і у мене все ще є Windows 10 і ще не витерли систему. Якщо хтось знає, як спільно використовувати Windows pagefile.sysяк файл своп-файлів Linux, мені було б цікаво, оскільки для цього в Windows взято 2 Гб, і на моїй 32 ГБ машині простір hd дуже дорого.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.