Come posso aggiungere lo swap dopo l'installazione del sistema?

140

Non ho creato una partizione di swap durante l'installazione di Ubuntu. Più tardi ho liberato spazio e creato una partizione di swap. Ora dopo ogni avvio, sto aprendo manualmente gparted per fare clic con il pulsante destro del mouse 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 altre mie opzioni?

    
posta xiota 05.04.2011 - 22:02

8 risposte

122

Devi modificare /etc/fstab e aggiungere la nuova partizione di swap.

sudo nano /etc/fstab

Devi aggiungere una riga simile a

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

e ottieni l'UUID usando il comando

sudo blkid /dev/sda3

(sostituisci /dev/sda3 con il nome del dispositivo appropriato).

Related:

risposta data user4124 05.04.2011 - 22:23
96

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/sdX con la tua partizione . Monta questa partizione come scambio con

sudo swapon -U UUID

dove UUID è quello del tuo /dev/sdX come letto da questo:

blkid /dev/sdX

Collega il tuo nuovo scambio in /etc/fstab aggiungendo questa riga:

UUID=xxx    none    swap    sw      0   0

Se vuoi utilizzare lo swap per la sospensione, devi aggiornare l'UUID in /etc/initramfs-tools/conf.d/resume con 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 ricambio. Questa risposta ti dà un'idea di come creare un file di scambio e attivarlo all'avvio.

    
risposta data Takkat 05.04.2011 - 22:34
41

Se non vuoi o non sei sicuro di come creare una partizione di swap, puoi creare un file di scambio che funzionerà allo stesso modo della partizione. Ecco i passaggi (utilizzando 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 per: swapon -s o top :

    top -bn1 | grep -i swap
    

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

    Per disabilitare, usa il comando sudo swapoff swapfile .

  4. Inseriscilo nel file fstab per renderlo persistente all'avvio successivo del sistema.

    echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
    
  5. Re-test del file di swap all'avvio di:

    sudo swapoff swapfile
    sudo swapon -va
    

    Nota: i comandi precedenti ricontrollano la sintassi del file fstab , altrimenti il ​​tuo Linux non potrebbe avviarsi correttamente.

risposta data kenorb 10.07.2016 - 14:44
8

C'è un modo grafico per farlo usando gparted.

Esegui con Gparted con:

sudo gparted

Se non lo hai installato, puoi installarlo usando

sudo apt-get install gparted

Una volta gparted è in esecuzione:

  1. Assegna la partizione come faresti facendo clic con il pulsante destro del mouse su un blocco non allocato e facendo clic su new
  2. Formatta la partizione come linux-swap
  3. Fai clic con il pulsante destro del mouse sulla partizione e fai clic su swapon

Dovrebbe esserci un'icona della chiave accanto al nome della tua partizione una volta che hai finito

    
risposta data Charles V 16.09.2016 - 20:33
2

da linux.com basta creare il file di swap in quanto è più flessibile e puoi regolare dinamicamente quanti e quanti depositi di swap hai. Ciò consente anche di spostare la partizione di swap dal disco di sistema, rendendo così il sistema più veloce. Inoltre, se utilizzi più spazi di scambio, regola la priorità di utilizzo allo stesso valore, in modo che round-robin venga utilizzato per scrivere in essi, consentendoti di ottenere ancora più miglioramenti di velocità.

P.S. userei l'UUID al posto del nome del dispositivo, perché è facilmente possibile cambiare l'ordine del dispositivo se per sbaglio lasci la memoria USB all'interno dello slot USB e semplicemente rimuovi e ricolleghi i cavi sata - non devi preoccuparti troppo di quale unità è connessa .

    
risposta data Osis 06.04.2011 - 13:54
2

Questo è un tutorial completo su come creare un Ram Drive per Ubuntu. Purtroppo .. 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 di avvio doppio con solo un disco rigido da 32 GB. La mia Ubuntu è effettivamente installata su una scheda SD (sì, una vera installazione e non una cosa di Casper Live). Il mio scambio era anche su SD e potrebbe essere consumato rapidamente. Ho cercato come cambiare lo swap e ho trovato questo articolo e non mi piacevano le risposte, quindi ho fatto un tutorial mentre ho apportato la modifica.

Se si desidera semplicemente aumentare o diminuire la partizione Swap, è sufficiente aumentare o diminuire la partizione tramite il gestore delle partizioni preferito. Ubuntu sa già dove andare ed è indipendente dalla dimensione. Se vuoi cambiare la posizione o fare un nuovo Swap, allora continua a leggere. La prima cosa che devi fare è Ridurre il tuo disco rigido per fornire spazio per uno scambio. Se stai riducendo un disco con il sistema Windows su di esso, allora è meglio usare Windows per ridurre il disco (Conosce le sue stesse cose). Se sei su una Ubuntu pura, prova a ridimensionarla usando una Ubuntu USB attiva.

Istruzioni ridimensionamento di Windows:

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

Se sei in Ubuntu. Assicurati di utilizzare gli strumenti di Ubuntu. Per completare l'allocazione, userò una USB Live avviabile di Ubuntu che include GParted. Un Live USB è il modo migliore di usare Gparted per qualsiasi motivo, e dovresti avere una USB dalla tua prima installazione o farne una da tenere a portata di mano.

La digitazione nel 2000 non era consentita perché non c'era spazio sufficiente per farlo anche se avevo "deframmentato" l'unità (non credo che Windows la deframmentasse veramente). Con qualche sperimentazione, mi è stato concesso 1000. Poi ho provato di nuovo 1000 e ha funzionato. Dovrei ringraziare il mio insegnante di matematica della scuola primaria per quello in più rispetto ai programmatori di MS Windows. Questo mi ha lasciato con 1.95 GB che è abbastanza vicino per la matematica della mia scuola primaria.

Formatta la partizione

Ora sono pronto per gparted per formattare quello spazio come una corretta unità di scambio. Se si utilizza Windows e si passa da Ubuntu a Windows, assicurarsi di tenere premuto il tasto MAIUSC quando si fa clic su "Power" e "Shut down". Questo è molto importante, specialmente quando si stanno scherzando con i particolari dell'azionamento "C" in un altro sistema operativo. Se si esegue il dual boot, è necessario sapere già che Windows fa un falso chiuso in circostanze normali. Alcune persone hanno disabilitato "Fast Boot". Non ho questa scelta sul mio sistema (Windows 10) e devo usare il tasto maiuscole grazie al mio amico Google. Se si avvia con una USB live e non è possibile installare l'unità "C" (facendo clic su di essa), non è stato arrestato completamente correttamente. Ricarica le finestre e chiudi di nuovo usando il tasto Maiusc.

Ora sei in modalità live di Ubuntu e leggi sotto:

  

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

Ora formeremo lo spazio non allocato come unità partizionata:

Prima:

Non sapevo cosa fare, quindi ho guardato il mio precedente Ram Drive su SD. È formattato come Linux Swap. Così ho formattato la mia nuova allocazione che recentemente ho rifiutato 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

È una coincidenza che la vecchia partizione di swap su sd sia stata chiamata mmblk1p5 e la nuova sia anche p5 con mmblk0 in primo piano. Il tuo potrebbe essere p6 o p7. Non preoccuparti.

Il mmblk0 è il disco fisico e p è la partizione su quel disco fisico. E mmblk01 è un altro disco fisico, ecc. (Questa è la mia SD) Prima che facessi altro lavoro, ho riaperto Windows per assicurarmi che Windows fosse ancora avviato. Non hai bisogno di fare questo passo se sei pigro o su una macchina Ubuntu pura. Se si rompesse Windows, probabilmente cancellerei Windows facendo una nuova installazione di Ubuntu su quel disco (anche con uno swap). Se ho rotto il mio sistema, non avrei bisogno di seguire ulteriori passaggi perché posso allocare lo swap sulla nuova installazione. Tutto è andato bene e Windows è stato avviato. Ora puoi vedere la nuova partizione nel gestore del disco di Windows: (Fai clic con il pulsante destro del mouse sulla barra di avvio per ottenere la gestione del disco)

Ora collega lo Swap alla routine di avvio

In precedenza le risposte a questa domanda avevano comandi swapon / off che non sono necessari e possono essere complessi.Tutto quello che devi fare è trovare il file giusto e indirizzare lo swap alla nuova partizione. Di nuovo, se hai ridimensionato la partizione, non devi fare nulla. È già impostato per trovare la partizione. La dimensione viene eseguita automaticamente.

Se hai cambiato la partizione o stai effettuando un primo scambio in assoluto, leggi di seguito:

Lascia che te lo dica, questa è la prima volta che lo faccio. Non sono un disadattato UNIX e preferisco gli strumenti GUI. Sto imparando e incrociando le dita mentre faccio questo tutorial. Tutto è andato bene finora. Alla radice del tuo sistema c'è una directory chiamata ecc. All'interno di quella directory c'è un file chiamato fstab (senza estensione). Dovrai modificare questo file con i diritti "su" di superutente. 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 esistenza).

Digita blkid e cerca l'uuid della nuova partizione di swap. Ho visto il mio di seguito e l'ho evidenziato:

Non prestare attenzione a PartUID.

Ora, le altre persone diranno il tipo:

sudo gedit /etc/fstab

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

Quindi ho appena scritto gedit e aperto la stravagante interfaccia grafica (successo!). Dato che ero già in modalità Super User (sudo su) ho il permesso di root di fare QUALCHE COSA in Gedit, incluso il salvataggio del file dopo averlo modificato. Meraviglioso! Prima di modificare o corrompere qualsiasi cosa, salva fstab come backup chiamato ... fstab.bak .

Effettua il backup usando la stravagante interfaccia grafica e scegli il familiare "Salva come" e aggiungi "bak" al file fstab.bak . Controlla che ci sia un'estensione .bak. Geeks ti dirà di usare il comando cp del terminale, ma noi novizi non possiamo trovare il file nel terminale per arrivare così lontano in primo luogo. Proprio come qualsiasi elaboratore di testi, dopo il comando "salva come", il tuo file corrente ora è fstab.bak . Apri quello vero che avevi prima e poi chiudi il file di backup. Fai un doppio controllo per vedere che stai modificando il fstab reale senza estensione. Se modifichi il file di backup, non si verificherà nulla al riavvio, inoltre la copia di backup non sarà un vero backup dell'originale.

Il mio file fstab originale assomiglia a questo:

# /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 reso rosso per te), ha le informazioni di scambio originali che sono probabilmente utilizzate al momento dell'avvio. Dal precedente comando blkid, ho potuto vedere il mio nuovo UUID dell'unità. Copia quella frase evidenziando il testo nel terminale e poi facendo clic destro e scegliendo la copia. Incolla quella frase in un altro editor separato senza su diritti come un blocco appunti (puoi usare Libre Office e i geek possono usare nano ). Questo passaggio ti aiuta a ottenere facilmente il testo giusto senza le virgolette, in modo da poterlo incollare facilmente nel file fstab . 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 swap. Se non si dispone di un'unità di scambio, copiare la riga nel file fstab precedente e quindi aggiungere l'uuid corretto dal precedente comando blkid. (scegli l'uuid giusto per favore!)
Se questa è la tua prima riga di scambio, assicurati di includere la riga completa con le cose extra

none            swap    sw              0       0

Non preoccuparti troppo della spaziatura esatta.

Il mio nuovo file ha il seguente aspetto: Avviso Ho aggiunto un commento sopra la mia modifica Il carattere # indica che si tratta di 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 avere spazi dopo il segno = .

Salva il tuo file.

Apri di nuovo, solo per essere sicuro che le tue modifiche siano state salvate. Chiudi gedit e terminale con pericolosi su di diritti che i geek ti sgrideranno per aver fatto (perché è facile lavorare con ... e anche facile distruggere le cose).

REBOOT e incrocia le dita!

Ho riavviato e poi ho controllato se il mio swap funzionava guardando l'app di performance del sistema. Ho ancora avuto una Swap drive! Ma era quello nuovo o quello vecchio? Non ho potuto 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 SCRIVERE NULLA DI PIÙ DI SWAPON e verrà elencato solo lo swap per te: sicuro). Ora vedo il mio nuovo disco su mmblk0p5 che corrisponde al lavoro UUID che ho fatto su fstab . La mia sottile unità principale da 32 GB ha avuto effetto:

Questo conclude questo tutorial da un utente inesperto che non l'ha mai fatto prima. La metà del motivo per cui ho fatto questo tutorial è stato che i Geek che ci aiutano (e grazie) possono vedere come aiutare gli utenti inesperti. Sospettavo che le risposte precedenti fossero fuorvianti e ho deciso di fare un tutorial mentre facevo il mio lavoro ... Con l'indovinare dalle altre risposte che erano utili, ho concluso che tutto ciò che dovevo fare era modificare il fstab flle 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 pagefile.sys di Windows come file di scambio Linux, sarei interessato poiché 2 GB è preso per quello in Windows e lo spazio hd è molto caro sulla mia macchina da 32 GB.

    
risposta data Bhikkhu Subhuti 29.01.2016 - 16:09
1

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

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

Ovviamente è necessario sostituire il valore di UUID con l'identificativo del dispositivo.

    
risposta data Adam Byrtek 05.04.2011 - 22:20
1

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

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

su (fornire la password per ottenere i permessi di root)

blkid / dev / sdax (ottieni UUID) mkswap / dev / sdax (partizione di swap in formato) swapon -U xxx

nano / etc / fstab (modifica fstab)     UUID = xxx none swap sw 0 0 (inserisci e salva questo testo per rendere permanente lo swap)                             (quindi chiudi fsantab)

nano /etc/initramfs-tools/conf.d/resume (crea un file "resume" e salva questo testo per usare hibernate / resume)     RESUME = UUID = xxx (ctrl + x per chiudere nano) - & gt; (y per salvare)

riavvia macchina

accedi e ora puoi testare l'ibernazione / riprendere

    
risposta data wmameer 16.06.2013 - 13:55

Leggi altre domande sui tag