web-dev-qa-db-fra.com

Le système ne monte pas la partition d'échange

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

fdiskrenvoie 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 fstabil est dit

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

et je peux le charger correctement avec swapon /dev/sda5 mais il ne se chargera pas au démarrage.

Y a-t-il plus d'informations que je peux donner pour aider à résoudre les problèmes? Je ne sais pas quelles autres informations pourraient être utiles


Comme demandé, le fichier complet fstabname__:

# <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, sans savoir 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 mountallname__

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 toujours être ajouté en ligne de commande, et ma partition Windows est montée au démarrage, et cela se trouve également dans le fstab.

12
caesay

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

Il semble que 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 correctement au démarrage. Votre dernière ligne de sortie de mountall -v inclut l’indice critique:

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

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

Maintenant, pourquoi mountall n'a-t-il pas trouvé votre lecteur d'échange répertorié dans/etc/fstab? Bonne question. Cela devrait probablement être un bogue contre mountall. Pour le diagnostiquer, j'ai copié votre/etc/fstab et lancé mountall -v en tant qu'utilisateur non root. En éditant au hasard/etc/fstab et en continuant à tester mountall -v, j'ai découvert comment modifier le "swap 0/0" signalé par mountall. Réordonner les lignes de/etc/fstab suffisait à lui faire changer "swap 0/1", c’est-à-dire 1 lecteur de swap trouvé dans/etc/fstab. Avec cela, il peut être suffisant pour démarrer correctement. Sinon, merci de poster le nouveau résultat de mountall -v.

8
krubo

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

  1. Exécutez Sudo blkid. Cela affichera les UUID actuels de toutes les partitions du disque. Je suppose que vous verrez que l’UUID de votre partition de swap diffère maintenant de la valeur de/etc/fstab.

  2. Si c'est différent, lancez 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 commande blkid ci-dessus. N'incluez pas les guillemets.

  3. Enregistrez le fichier et redémarrez votre système. Exécutez free -m pour vous assurer que le changement corrige 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
    
8
Tim

Après la mise à niveau vers 12.04, certaines petites anomalies se sont produites, mais pas les plus grosses. J'ignorais que ma partition de swap ne fonctionnait pas avant d'essayer de Gimp un jpg 14 mégapixels de mon Olympus e330. Beurk.

Des forums à la rescousse. Des indices:

blkid montre

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

mais il n'est pas actif selon le Moniteur système, mmm'kay.

L'UUID était tout à fait correct, mais n'y allez 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, le contrôle du 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

Redémarrez et le Moniteur système montre qu'il est actif, yay.

OK, je devais être 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 ça aide.

1
Novista

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

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

Vous devriez avoir cette ligne basée sur ce que vous nous avez dit à propos de votre configuration:

/dev/sda5 none swap sw 0 0

Je me demande pourquoi, en tant que débutant sous Linux, vous vous posez des questions à ce sujet. RAM n'est pas cher ces jours-ci. J'ai 4 Go, et je développe Java (IntelliJ utilise notamment une tonne de RAM par exemple), mais je ne suis jamais à court.

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 Ubuntu avec les options par défaut?

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

1
tiktak

J'ai eu un problème similaire sur Ubuntu 12.04 (Precise), mais mon /etc/fstab était déjà correct. Il s'est avéré que quelque chose de cassé dans le format de ma partition de swap empêchait blkid et mountall de détecter la partition de swap.

Détails:

  • Ma partition de swap était /dev/mapper/foo-swap_1 - un volume logique LVM sur une partition chiffrée (LUKS).
  • La partition d'échange ne sera jamais active au démarrage.
  • Exécuter manuellement swapon -a a fonctionné.
  • lsblk a montré la partition de swap
  • blkid n'a PAS montré la partition de swap
  • blkid -p /dev/mapper/foo-swap_1 a 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!

Le nuking des 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}"
1
Richard Hansen

Je n'ai pas de réponse rapide, mais j'ai fouillé et trouvé quelques points à vérifier pour essayer de cerner le problème:

  • / etc/fstab (5) devrait lister la partition de swap (la votre semble très bien)
  • /etc/init/mountall.conf devrait inclure la ligne emits all-swaps
  • si vous exécutez mountall en tant qu'utilisateur non root, sa réponse doit inclure swapon: /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 connecté

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

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

  • free devrait signaler quelque chose comme Swap: 10239996 0 10239996
1
krubo

Après UUID:

# Turn off swap swapoff "${SWAP}"

À la fin:

swapon "${SWAP}"

0
apos