Le système ne monte pas de partition de swap

12

Même si la partition de swap existe et est configurée pour se charger fstab, elle n'est toujours pas montée.

fdisk renvoie ceci pour la partition de swap:

file system: /dev/sda5
      start: 1
        end: 244
     blocks: 1951744
         id: 82
     system: Linux swap / Solaris

et dans mon fstabça dit

file system: /dev/sda5
mount point: none
       type: swap
    options: sw
       dump: 0
       pass: 0

et je peux le charger correctement, swapon /dev/sda5mais il ne se chargera tout simplement pas au démarrage.

Y a-t-il plus d'informations que je peux donner pour aider au dépannage? Je ne sais pas quelles autres informations pourraient être utiles


Comme demandé, fstabdossier complet :

# <file system> <mount point>   <type>  <options>            <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid  0       0
/dev/sda6       /               ext4    errors=remount-ro    0       1
/dev/sda5       none            swap    sw                   0       0
/dev/sr1        none            udf     rw,noauto            0       0

Je regardais le journal du système et je l'ai vu, je ne sais pas ce que cela signifie ou si c'est normal, mais:

Apr 29 17:57:24 caelan-ubuntu os-prober: debug: running /usr/lib/os-probes/50mounted-tests on /dev/sda5
Apr 29 17:57:24 caelan-ubuntu 50mounted-tests: debug: /dev/sda5 is a swap partition; skipping

sortie de mountall

mountall: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
mountall: Connection is closed

sortie de mountall -v

http://pastie.org/private/ras9mc7mf66yudnjoem4w

swap finished
...
local 4/4 remote 0/0 virtual 12/12 swap 0/0

pas sûr, toujours pas de chargement de swap ... peut encore être ajouté en ligne de commande, et ma partition Windows est montée au démarrage, et c'est aussi dans le fstab.

césar
la source
Pourriez-vous publier le contenu de / etc / fstab?
boehj
@boehj: done ...
caesay
À votre santé. Rien ne me saute dessus ici. Cela semble étrange. La seule chose possible à laquelle je peux penser est que, vu que vous utilisez des partitions étendues, / devrait apparaître en premier, c'est-à-dire / dev / sda5 et remplacer par / dev / sda6. C'est juste saisir à l'air mince cependant. Je suis intéressé de voir comment celui-ci sera résolu. Peut-être pourriez-vous utiliser des UUID à la place de / dev / sdX? Pour trouver ces valeurs, faites sudo blkid.
boehj
@boehj: pas de dés ... toujours pas en cours de chargement.
caesay
@Tommy - Désolé, je n'ai pas pu t'aider mon pote. Je suis certain que quelqu'un ici pourra le faire. Bonne chance. :)
boehj

Réponses:

8

Cela va paraître stupide, mais essayez-le: réorganisez /etc/fstabpour mettre la partition de swap en dernier.

Il semble que cela mountall -véchoue de manière inoffensive lorsqu'il est exécuté en tant qu'utilisateur non root, et sa sortie peut être utilisée pour diagnostiquer pourquoi mountall ne fonctionne pas au démarrage. Votre dernière ligne de sortie de mountall -vcomprend l'indice critique:

local 4/4 remote 0/0 virtual 12/12 swap 0/0

En d'autres termes, 0 lecteur de swap monté, 0 lecteur de swap trouvé dans / etc / fstab.

Maintenant, pourquoi mountall n'a-t-il pas trouvé votre lecteur de swap répertorié dans / etc / fstab? Bonne question. Cela devrait probablement être un bug contre mountall. Pour le diagnostiquer, j'ai copié votre / etc / fstab et exécuté en mountall -vtant qu'utilisateur non root. En éditant / etc / fstab au hasard et en continuant à tester mountall -v, j'ai trouvé comment changer le "swap 0/0" rapporté par mountall. Le simple fait de réorganiser les lignes de / etc / fstab a suffi à le faire passer à "swap 0/1", en d'autres termes, 1 lecteur de swap trouvé dans / etc / fstab. Avec cela, il peut être suffisant de démarrer correctement. Sinon, veuillez publier le nouveau résultat de mountall -v.

krubo
la source
2
J'ai déposé un bug sur Launchpad: bugs.launchpad.net/ubuntu/+source/mountall/+bug/839118
bgvaughan
8

Merci pour votre question. En le regardant, j'ai découvert hier que mon système avait le même problème que le vôtre après la mise à niveau vers Natty. Je crois que le problème est que l'UUID de la partition de swap a changé pendant la mise à niveau. Voici comment je l'ai corrigé.

  1. Courez sudo blkid. Cela montrera l'UUID actuel de toutes les partitions sur le disque. Je soupçonne que vous verrez que l'UUID de votre partition de swap diffère désormais de la valeur dans / etc / fstab.

  2. S'il est différent, exécutez un éditeur de texte sous sudo pour éditer / etc / fstab. Remplacez la valeur de l'UUID par la valeur réelle actuelle comme indiqué par la blkidcommande ci-dessus. N'incluez pas les guillemets.

  3. Enregistrez le fichier et redémarrez votre système. Exécutez free -mpour vous assurer que la modification a résolu le problème:

    $ free -m
                 total       used       free     shared    buffers     cached
    Mem:          1001        604        396          0        123        199
    -/+ buffers/cache:        281        719
    Swap:         1953          0       1953
    
Tim
la source
je n'utilisais pas l'UUID, j'utilisais le / dev / sda5 comme je l'ai mentionné dans ma question. cela ne m'affecterait pas?
caesay
D'accord. Donc, votre / etc / fstab n'utilise pas les UUID non plus?
Tim
Non, ça ne marche pas. avec ou sans uuid
caesay
1
A fonctionné comme un charme!
ShuaibKunji
1

Mon /etc/fstab(Debian) a le contenu suivant:

UUID=7b533ab9-cb87-4a30-a4d8-689788f21985 none  swap sw 0 0

Votre ligne devrait être basée sur ce que vous nous avez dit sur votre configuration:

/dev/sda5 none swap sw 0 0

Je me demande pourquoi en tant que débutant sous Linux, vous vous posez la question. La RAM est bon marché de nos jours. J'ai 4 Go et je fais du développement Java (IntelliJ utilise surtout une tonne de RAM par exemple) mais je n'en manque jamais.

Et je dois dire que je suis surpris que vous ayez ce genre de problèmes. N'avez-vous pas exécuté le programme d'installation d'Ubuntu en utilisant les options par défaut?

Ou peut-être que vous rencontrez tous ces problèmes à cause du double démarrage (Win / Lin)?

TIC Tac
la source
il a cette ligne, je n'ai pas trop de RAM, et je suis à double démarrage mais cela ne devrait pas être un problème car mes fenêtres ne touchent pas ma partition de swap, et je peux le charger correctement avec swapon.
caesay
1

Je n'ai pas de réponse rapide, mais j'ai fouillé et trouvé certaines choses que vous pourriez vérifier pour essayer de réduire le problème:

  • / etc / fstab (5) devrait lister la partition de swap (la vôtre semble bien afaict)
  • /etc/init/mountall.conf devrait inclure la ligne emits all-swaps
  • si vous exécutez en mountalltant qu'utilisateur non root, sa réponse doit inclureswapon: /dev/sda5: open failed: Permission denied
  • dmesg | less devrait inclure quelque chose comme ce que le mien a:

[2.272092] sda: sda1 sda2 sda3

[2.272924] sd 1: 0: 0: 0: [sda] Disque SCSI attaché

... (plus de lignes sur le montage sda1, sda2) ...

[20.298550] Ajout du swap 10239996k sur / dev / sda3. Priorité: -1 étendues: 1 sur: 10239996k

  • free devrait signaler quelque chose comme Swap: 10239996 0 10239996
krubo
la source
je ne peux pas trouver de sortie dans dmesg sur les disques .. mountall renvoie une erreur, et le mountall.conf a cette ligne.
caesay
Si mountall n'a jamais essayé d'exécuter swapon, cela semble être votre problème. Quelle est la sortie détaillée mountall -v?
krubo
l'ajoute à la question @krubo
caesay
voir où mountall -vdit swap 0/0? Voilà un indice parfait. Voir ma nouvelle réponse.
krubo
1

J'ai eu un problème similaire sur Ubuntu 12.04 (précis), mais mon /etc/fstabétait déjà correct. Il s'avère qu'il y avait quelque chose de cassé dans le format de ma partition de swap qui a empêché blkidet mountalldétecté la partition de swap.

Détails:

  • Ma partition de swap était /dev/mapper/foo-swap_1- un volume logique LVM sur une partition cryptée (LUKS).
  • La partition de swap ne serait jamais active au démarrage.
  • Fonctionnant manuellement a fonctionné swapon -a.
  • lsblk a montré la partition de swap
  • blkid n'a PAS montré la partition de swap
  • blkid -p /dev/mapper/foo-swap_1 imprimé le message suivant:

    /dev/mapper/foo-swap_1: ambivalent result (probably more filesystems on the device, use wipefs(8) to see more details)
    
  • wipefs -n /dev/mapper/foo-swap_1 a montré DEUX signatures de système de fichiers différentes!

Nuking les deux signatures ( wipefs -a) et le reformatage du swap ( mkswap) ont résolu le problème pour moi.

Voici un script qui automatise le correctif:

#!/bin/sh

# helper functions
log() { printf %s\\n "$*"; }
error() { log "ERROR: $*" >&2; }
fatal() { error "$*"; exit 1; }
try() { "$@" || fatal "'$*' failed"; }

# path to the swap partition
SWAP=/dev/mapper/foo-swap_1

# remember the UUID of the swap partition
UUID=$(try sed -e 's/RESUME=UUID=//' /etc/initramfs-tools/conf.d/resume) || exit 1
[ -n "${UUID}" ] || fatal "couldn't read UUID"

# delete filesystem/raid signatures from the swap partition
try wipefs -a "${SWAP}"

# format the swap partition
try mkswap -f -U "${UUID}" "${SWAP}"
Richard Hansen
la source
1

Après la mise à niveau vers 12.04, certaines petites anomalies se sont produites, pas de biggie. Je n'étais pas au courant que ma partition de swap ne fonctionnait pas jusqu'à ce que j'essaie de Gimp un jpg 14 mégapixels de mon Olympus e330. Oui.

Des forums à la rescousse. Des indices:

blkid spectacles

/dev/sdb6: UUID="3e0550cf-4a55-4aa8-80fa-24103c1b25a7" TYPE="swap" 

mais il n'est pas actif selon System Monitor, mmm'kay.

L'UUID était définitivement correct, mais ne partez pas ... je ne sais pas comment je suis arrivé à cette commande:

# blkid -p /dev/mapper/foo-swap_1
error: /dev/mapper/foo-swap_1: No such file or directory

Le gestionnaire de fichiers m'a montré une icône de 0 octet, un contrôle de nom de fichier, - alors qu'est-ce qui était censé y être écrit? Par quoi?

$ sudo swapon --all --verbose yielded
swapon: cannot find the device for UUID=3e0550cf-4a55-4aa80fa-24103c1b25a7

J'ai édité le fichier / etc / fstab en ajoutant

/dev/sdb6   none    swap    sw  0   0

Le redémarrage et le Moniteur système le montre actif, oui.

OK, je dois avoir été ici et trouvé la commande

blkid -p /dev/mapper/foo-swap_1

C'est donc un indice pour quelqu'un de plus intelligent que moi. J'espère que cela aide.

Novista
la source
1

Rien au-dessus n'était dans mon cas

J'ai redimensionné le swap. Mais tout d'abord, supprimez-le, puis agrandissez-en un nouveau. J'ai changé l'UUID dans / etc / fstab, mais cela n'a pas fonctionné. Journal vérifié:... unknown filesystem "swap"

Solution: dans le /etc/fstabchangement ext4de swappour /swapet le redémarrage

Demin Ilya
la source
Bienvenue nouvel utilisateur! Merci pour votre contribution. Votre réponse n'est pas claire. Pourriez-vous faire un montage pour clarifier les choses? Nous voulons nous assurer que les futurs visiteurs avec ce problème pourront le comprendre clairement. En particulier, conseillez-vous de redimensionner la partition de swap ou d'attribuer un nouvel UUID? Ou êtes-vous en train de dire que la tentative n'a pas fonctionné (vous voudrez peut-être laisser de côté les choses qui ne fonctionnent pas pour éviter toute confusion). Un bon formatage peut également aider à clarifier.
Nmath
0

Après UUID:

# Turn off swap swapoff "${SWAP}"

À la fin:

swapon "${SWAP}"

apos
la source