Come faccio ad aggiungere lo scambio dopo l'installazione del sistema?


153

Non ho creato una partizione di swap durante l'installazione di Ubuntu. Successivamente, ho liberato spazio e ho creato una partizione di swap. Ora dopo ogni avvio, mi sto aprendo manualmente gpartedper fare clic con il tasto destro sulla partizione di swap per attivare l'opzione 'swapon'.

Come posso abilitare automaticamente la partizione di swap all'avvio?

Inoltre, se non avessi creato la partizione di swap, quali sono le mie altre opzioni?


Risposte:


132

Devi modificare /etc/fstabe aggiungere la nuova partizione di swap.

sudo nano /etc/fstab

Devi aggiungere una linea che assomigli

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

e ottieni l'UUID usando il comando

sudo blkid /dev/sda3

(sostituire /dev/sda3con il nome del dispositivo appropriato).

Relazionato:


Ho bisogno di aiuto per / etc / fstan sto ottenendo un output: - bash: / etc / fstab: autorizzazione negata
Ashu_FalcoN

Usa sudo gedit / etc / fstab

3
Per trovare il nome del dispositivo appropriato: sudo fdisk -l(da: askubuntu.com/questions/182446/… ) e quindi cercare Tipo: Linux swap.
NumesSanguis,

1
sudo blkid /dev/sda4non stampa nulla per me (sda4 è una partizione appena creata con il codice 82h, fdisk dice che è la partizione "Linux swap / Solaris").
Egor Skriptunoff,

1
@ elvis.dukaj va benissimo usare anche il nome del dispositivo. Fondamentalmente esprimono due cose diverse. Uno dice di usare il volume esattamente con quell'UUID (qualcosa che cambierà con un'altra mkswapesecuzione) e l'altro dice di usare la partizione primaria numero 3 del disco /dev/sda. Alcuni preferiscono gli UUID perché anche se l'assegnazione dei nomi dei dispositivi cambia, gli UUID rimarrebbero gli stessi. Ecco perché la differenza conta. Ma se sei sicuro di non ripartizionare il disco, /dev/sda3dovrebbe essere altrettanto sicuro da usare.
0xC0000022L

106

Per creare una partizione di swap dopo l'installazione, creare una partizione vuota. Non dovrebbe avere buchi. È quindi possibile formattare questa partizione con:

sudo mkswap /dev/sdX

sostituendo /dev/sdXcon la tua partizione. Montare questa partizione come swap con

sudo swapon -U UUID

dove UUID è quello tuo /dev/sdXcome letto da questo:

blkid /dev/sdX

Associa il tuo nuovo scambio /etc/fstabaggiungendo questa riga:

UUID=xxx    none    swap    sw      0   0

Se si desidera utilizzare lo swap per l'ibernazione, è necessario aggiornare l'UUID /etc/initramfs-tools/conf.d/resumecon questo contenuto RESUME=UUID=xxx. Non dimenticare di $ sudo update-initramfs -u.

Per completare le cose: è anche possibile creare un file di scambio se non si dispone di una partizione di riserva. Questa risposta ti dà un'idea di come creare un file di scambio e abilitarlo all'avvio.


A partire da ora, ho un SSD con due partizioni, ma vorrei crearne una terza. Se ho una partizione ext4 primaria che contiene il sistema operativo e i miei file, posso usarla per staccare 2 GB in una nuova partizione? Questa partizione primaria ha spazio libero più che sufficiente, quindi non dovrebbe essere un problema.
dustin

2
Cerca gparteddi ridimensionare la tua partizione.
NumesSanguis,

54

Nel caso in cui non si desideri o non si sia sicuri su come creare una partizione di swap, è possibile creare un file di swap che funzionerà allo stesso modo della partizione. Ecco i passaggi (usando il terminale):

  1. Crea un file vuoto (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. Converti il ​​file appena creato in un file di spazio di scambio.

    sudo mkswap swapfile
    
  3. Abilita il file per il paging e lo scambio.

    sudo swapon swapfile
    

    Verifica tramite: swapon -so top:

    top -bn1 | grep -i swap
    

    Dovrebbe visualizzare una riga come: KiB Swap: 4194300 total, 4194300 free

    Per disabilitare, utilizzare il sudo swapoff swapfilecomando.

  4. Aggiungilo al fstabfile per renderlo persistente al successivo avvio del sistema.

    echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
    
  5. Testare nuovamente il file di scambio all'avvio da:

    sudo swapoff swapfile
    sudo swapon -va
    

    Nota: sopra i comandi ricontrolla la sintassi del fstabfile, altrimenti il ​​tuo Linux non potrebbe avviarsi correttamente.


13
Grazie per l'unica risposta che utilizza un file di scambio e non una partizione di scambio. In questo caso non sono riuscito a creare una partizione. I comandi hanno funzionato alla grande.
Sarel Botha,

2
Per coloro che necessitano di spazio di swap di dimensioni maggiori, aumentare count = 4M, a XM, per lo spazio di swap X GiB. Nel caso in cui qualcuno lo avesse perso.
saurabheights,

Non sono sicuro del passaggio 5. Perché dovrei disattivare lo scambio per testare?
Raffi Khatchadourian,

@RaffiKhatchadourian Il test alla fine aiuta a ricontrollare la sintassi del fstabfile (contro qualsiasi errore di battitura), altrimenti Linux potrebbe non avviarsi correttamente causando problemi di avvio importanti, specialmente su server remoti.
Kenorb,

1
Ah adesso capisco. È necessario farlo prima di riavviare. Sono stato espulso all'avvio.
Raffi Khatchadourian,

13

C'è un modo grafico per farlo usando gparted.

Esegui Gparted con:

sudo gparted

Se non lo hai installato, puoi installarlo usando

sudo apt-get install gparted

Una volta che gparted è in esecuzione:

  1. Allocare la partizione come si farebbe facendo clic con il pulsante destro del mouse su qualsiasi blocco non allocato e facendo clic new
  2. Formatta la partizione come linux-swap
  3. Fare clic con il tasto destro sulla partizione e fare clicswapon

Al termine, dovrebbe essere presente un'icona a forma di chiave accanto al nome della partizione


di gran lunga la risposta più semplice
Shobi l'

1
Per renderlo permanente, devi ancora modificare il file fstab come nella risposta di @ user4124
Madura Pradeep

1
La domanda dice già che lo fanno.
Chai T. Rex,

1
Questo non risponde affatto alla domanda.
mook765,

@ mook765, La domanda è "Come aggiungere lo swap dopo l'installazione del sistema?". Questo risponde perfettamente a questa domanda.
Tayler

3

da linux.com basta creare il file di scambio in quanto è più flessibile e puoi regolare in modo dinamico quanti e quanti archivi di scambio hai. Ciò consente anche di spostare la partizione di swap lontano dal disco di sistema, rendendo così il sistema più veloce. Inoltre, se usi diversi spazi di swap, regola la loro priorità di utilizzo sullo stesso valore, quindi il round-robin viene utilizzato per scrivere in essi, permettendoti di ottenere ancora più miglioramenti di velocità.

ps userei UUID invece del nome del dispositivo, perché è possibile cambiare l'ordine dei dispositivi se per caso lasci l'archiviazione USB all'interno dello slot USB e semplicemente rimuovendo e ricollegando i cavi sata - non devi preoccuparti molto di quale unità è collegata dove.


Questa è stata la risposta più utile, perché non richiede il partizionamento dell'unità. Peccato che Ubuntu non crei lo scambio di default quando lo installi su una nuova macchina!
Ernie,

2

Devi avere un filesystem di swap definito in / etc / fstab. Dovrebbe contenere una riga simile a

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

Ovviamente devi sostituire il valore di UUID con l'identificatore del tuo dispositivo.


come posso averlo?

3
Puoi invece usare il nome del dispositivo, come / dev / sda1 (senza l'UUID).
Adam Byrtek,

2

(sostituire la "x" in sdax con il numero di partizione di swap, ad esempio: sda5)

sostituire "xxx" con il numero UUID ad es .: 67682d1b-a1d8-4377-a3dd-67340c141619)


su (fornire la password per ottenere il permesso di root)

blkid / dev / sdax (get UUID) mkswap / dev / sdax (formattazione della partizione di swap) swapon -U xxx

nano / etc / fstab (modifica fstab) UUID = xxx none swap sw 0 0 (inserire e salvare questo testo per rendere permanente lo swap) (quindi chiudere fsantab)


nano /etc/initramfs-tools/conf.d/resume (crea il file "riprendi" e salva questo testo per usare l'ibernazione / riprendi) RESUME = UUID = xxx (ctrl + x per chiudere nano) -> (y per salvare)

riavvia la macchina

accedi e ora puoi testare l'ibernazione / riprendere


2

Questo è un tutorial completo su come realizzare un Ram Drive per Ubuntu. Sfortunatamente .. gli screenshot non vengono visualizzati in questo tramite taglia e incolla .. Più tardi li aggiungerò, ma non sono necessari.

La prima cosa che devi fare è creare spazio per la tua unità ram. Ho un sistema a doppio avvio con solo un disco rigido da 32 GB. Il mio Ubuntu è effettivamente installato su una scheda SD (sì, una vera installazione e non una cosa di Live Casper). Anche il mio swap era sulla SD e potrebbe logorarsi rapidamente. Ho cercato come modificare lo scambio e ho trovato questo articolo e non mi sono piaciute le risposte, quindi ho fatto un tutorial mentre ho apportato la modifica.

Se desideri semplicemente aumentare o diminuire la partizione di Swap, devi solo aumentare o diminuire la partizione tramite il tuo gestore delle partizioni preferito. Ubuntu sa già dove andare ed è indipendente dalle dimensioni. Se vuoi cambiare la posizione o fare un nuovo Swap, continua a leggere. La prima cosa da fare è ridurre il disco rigido per fornire spazio per uno scambio. Se stai restringendo un disco con il sistema Windows su di esso, allora è meglio usare Windows per ridurre il disco (conosce le sue cose). Se utilizzi un Ubuntu puro, prova a ridimensionare usando un USB Ubuntu live.

Istruzioni per il ridimensionamento di Windows:

  1. Eseguire il backup del sistema e deframmentare l'unità.
  2. Fare clic con il tasto destro sulla barra di avvio.
  3. Seleziona Gestione disco
  4. Fare clic con il tasto destro su CORRECT DRIVE
  5. Seleziona Riduci.
  6. Digita l'importo corretto.

Se sei in Ubuntu. Assicurati di utilizzare gli strumenti Ubuntu. Per finire l'allocazione, userò un Live USB avviabile di Ubuntu che include GParted. Un Live USB è il modo migliore per utilizzare Gparted per qualsiasi motivo e dovresti avere un USB dalla prima installazione o crearne uno per tenerlo a portata di mano.

La digitazione nel 2000 non era consentita perché non c'era abbastanza spazio per farlo anche se avevo "deframmentato" l'unità (non credo che Windows lo abbia realmente deframmentato). Con un po 'di sperimentazione, mi è stato permesso di 1000. Quindi ho provato di nuovo 1000 e ha funzionato. Dovrei ringraziare il mio insegnante di matematica della scuola elementare per quello in più rispetto ai programmatori di MS Windows. Questo mi ha lasciato con 1,95 gb che è abbastanza vicino per la mia matematica della scuola elementare.

Formatta la partizione

Ora sono pronto per gparted per formattare quello spazio come una corretta unità di scambio. Se sei in Windows e stai passando da Ubuntu a Windows, assicurati di tenere premuto il tasto MAIUSC facendo clic su "Accendi" e "Spegni". Questo è molto importante, specialmente quando si scherza con i dettagli dell'unità "C" in un altro sistema operativo. Se si esegue il doppio avvio, è necessario sapere già che Windows esegue un arresto falso in circostanze normali. Alcune persone hanno disabilitato "Fast Boot". Non ho questa scelta sul mio sistema (Windows 10) e devo usare il tasto Maiusc grazie al mio amico Google. Se si avvia con un USB live e non è possibile montare l'unità "C" (facendo clic su di essa), non si è spento completamente correttamente. Ricarica Windows e spegni nuovamente usando il tasto Maiusc.

Ora sei in Ubuntu Live Mode e leggi di seguito:

Se sei un Ubuntu puro e non ti sei ridotto in Windows. Utilizzerai l'opzione Ridimensiona in gParted. Se hai già ridotto l'unità, non eseguire il passaggio di ridimensionamento. È possibile digitare GParted nella barra Dash e ottenere l'applicazione abbastanza rapidamente. Fare clic con il tasto destro sull'unità che si desidera ridimensionare.

Ora formatteremo lo spazio non allocato come unità partizionata:

Prima:

Non sapevo cosa fare, quindi ho guardato il mio precedente Ram Drive sulla SD. È formattato come Linux Swap. Quindi ho formattato la mia nuova allocazione che recentemente ho ridotto anche come Linux Swap.
Ho detto OK alla partizione primaria e l'avviso e ha funzionato!

Formattazione della partizione

Dopo il formato e la nuova partizione

E 'una coincidenza che la vecchia partizione di swap sul sdè stato chiamato mmblk1p5e nuovo è anche p5con la mmblk0fronte. Il tuo potrebbe essere p6 o p7. Non ti preoccupare.

Il mmblk0è il disco fisico e p è la partizione sul disco fisico. Ed mmblk01è un altro disco fisico, ecc. (Questa è la mia SD) Prima di continuare a lavorare, ho aperto di nuovo Windows per assicurarmi che Windows fosse ancora avviato. Non è necessario eseguire questo passaggio se si è pigri o su una macchina Ubuntu pura. Se ha rotto Windows, probabilmente cancellerei Windows facendo una nuova installazione di Ubuntu su quel disco (anche con uno swap). Se avessi rotto il mio sistema, non avrei bisogno di seguire altri passaggi perché posso allocare lo swap sulla nuova installazione. Tutto è andato bene e Windows si è avviato. Ora puoi vedere la nuova partizione nel gestore disco di Windows: (Fai clic destro sulla barra di avvio per ottenere la gestione del disco)

Ora collega lo Swap alla routine di avvio

Le risposte precedenti a questa domanda avevano effettivamente comandi di swapon / off che non sono necessari e possono essere complessi. Tutto quello che occorre fare è trovare il file giusto e puntare lo swap sulla nuova partizione. Ancora una volta, se hai ridimensionato solo la partizione, non devi fare nulla. È già configurato per trovare la partizione. La dimensione viene eseguita automaticamente.

Se hai modificato la partizione o stai effettuando un primo scambio, leggi di seguito:

Lascia che te lo dica, questa è la prima volta che lo faccio. Non sono un geek UNIX e preferisco gli strumenti della GUI. Sto imparando e incrociando le dita mentre faccio questo tutorial. Finora è andato tutto bene. Alla radice del tuo sistema c'è una directory chiamata ecc. All'interno di quella directory c'è un file chiamato fstab(nessuna estensione). Dovrai modificare questo file con i diritti "su" dell'utente super. Prima di farlo, abbiamo bisogno dell'UUID della nuova Partizione di swap creata con Live USB. Digita sudo su Ora sei in modalità Super User. Puoi fare qualsiasi cosa (incluso cancellare la tua stessa esistenza).

Digita blkide cerca il uuid della nuova partizione di swap. Ho visto il mio qui sotto e l'ho evidenziato:

Non prestare attenzione ai PartUID.

Ora, le altre persone diranno tipo:

sudo gedit /etc/fstab

Tuttavia, l'ho provato e non ha trovato il file giusto (commenti per favore).

Quindi ho appena digitato gedit e l'ho aperto nel modo semplice della GUI (successo!). Da allora, ero già in modalità Super User (sudo su) Ho il permesso di root per fare QUALCOSA in Gedit, incluso il salvataggio del file dopo averlo cambiato. Meraviglioso! Prima di modificare o danneggiato nulla, salvare il fstab come di backup chiamato ... fstab.bak.

Effettua il backup usando la semplice interfaccia della GUI e scegli il familiare "Salva con nome" e aggiungi "bak" al file fstab.bak. Controlla per vedere che è lì con un'estensione .bak. Geeks ti dirà di usare il comando cp terminal, ma noi novizi non siamo in grado di trovare il file nel terminale per arrivare così lontano in primo luogo. Proprio come qualsiasi elaboratore di testi, dopo il comando "salva con nome", il tuo file corrente ora è il fstab.bak. Apri quello vero che avevi prima, quindi chiudi il file di backup. Ricontrolla per vedere che stai modificando il reale fstabsenza estensione. Se si modifica il file di backup, al riavvio non accadrà nulla, inoltre la copia di backup non sarà un vero backup dell'originale.

Il mio fstabfile originale è simile al seguente:

# /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

L'ultima riga (che ho creato in rosso per te) contiene le informazioni di scambio originali che vengono probabilmente utilizzate al momento dell'avvio. Dal precedente comando blkid, ho potuto vedere il mio nuovo UUID unità. Copia quella frase evidenziando il testo nel terminale e poi facendo clic con il tasto destro e scegliendo copia. Incolla quella frase in un altro editor separato senza sudiritti come blocco appunti (puoi usare Libre Office e i geek possono usare nano). Questo passaggio ti aiuta a ottenere facilmente il testo giusto senza virgolette in modo da poter incollare facilmente nel fstabfile. Vuoi cambiare questo file il meno possibile.

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

Quindi, il mio nuovo UUID è elencato in rosso sopra. Tutto quello che devo fare è cambiare l'Uuid per lo scambio. Se non si dispone di un'unità di scambio, quindi copiare la mia riga nel file fstab sopra e quindi aggiungere il uuid corretto dal precedente comando blkid. (scegli il giusto uuid per favore!)
Se questa è la tua prima linea di Swap, assicurati di includere la linea completa con le cose extra

none            swap    sw              0       0

Non preoccuparti della spaziatura esatta così tanto.

Il mio nuovo file è simile al seguente: Nota che ho aggiunto anche un commento sopra la mia modifica Il #personaggio significa che è un commento.

# /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

Non incollare le virgolette. Non hanno spazi dopo il =segno.

Salva il tuo file.

Aprilo di nuovo, solo per essere sicuro che le modifiche siano state salvate. Chiudi gedit e il terminale con sudiritti pericolosi che i geek ti rimproverano di fare (perché è facile lavorare con ... e anche distruggere le cose).

Riavvia e incrocia le dita!

Ho riavviato e poi ho controllato per vedere se il mio swap stava funzionando guardando l'app per le prestazioni del sistema. Avevo ancora un disco Swap! Ma era quello nuovo o quello vecchio? Non è stato possibile verificare che la mia nuova unità sia stata effettivamente caricata perché quella nuova ha le stesse dimensioni della vecchia unità. Pertanto, ho digitato: swapon(NON Digitare nulla di più di Swapon ed elencherà solo lo swap per te: sicuro). Ora vedo il mio nuovo disco su mmblk0p5cui corrisponde il lavoro UUID che ho svolto fstab. La mia unità principale sottile da 32 GB ha funzionato:


Questo conclude questo tutorial da un utente inesperto che non l'ha mai fatto prima. La metà del motivo per cui ho realizzato questo tutorial è stato che i Geek che ci aiutano (e grazie) possono vedere come aiutare gli utenti alle prime armi. Sospettavo che le risposte precedenti fossero fuorvianti e ho deciso di fare un tutorial mentre facevo il mio lavoro ... Indovinando le altre risposte che erano utili, ho concluso che tutto ciò che dovevo fare era modificare il fstabfile e riavviare. Tutto ha funzionato bene e ho ancora Windows 10 e non ho ancora cancellato il mio sistema. Se qualcuno sa come condividere un Windows pagefile.syscome file di scambio Linux, sarei interessato dal momento che 2 GB sono presi per quello in Windows e lo spazio HD è molto costoso sul mio computer da 32 GB.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.