L'échange a disparu après le redémarrage

9

J'ai installé Kubuntu 14.04 avec un répertoire personnel chiffré. Bien que le swap ait été configuré pendant l'installation, l'espace de swap n'était pas là après l'installation. Cela est arrivé à beaucoup de gens, il semble y avoir un bug quelque part. J'ai googlé et trouvé une solution à cela ici .

J'ai suivi les étapes là-bas, en laissant de côté celles qui avaient à voir avec la reprise, car cela est quand même désactivé sur mon installation. J'ai donc essentiellement fait:

sudo swapoff -a (turns off swap)
comment existing swap configuration in /etc/crypttab
comment existing swap configuration in /etc/fstab
re-format swap partition with gparted as linux-swap
sudo mkswap /dev/sdXX 
sudo swapon /dev/sdXX 
sudo ecryptfs-setup-swap 

Ensuite, j'ai eu un échange de travail et j'étais heureux, jusqu'à ce que je redémarre mon ordinateur portable et que je revienne à la case départ. En regardant la partition avec gparted, il est dit que le système de fichiers est inconnu pour la (ancienne) partition de swap, et inutile de dire que je n'ai pas d'espace de swap disponible.

Donc, maintenant ma question est: pourquoi le formatage du système de fichiers (comme linux-swap) n'a pas survécu au redémarrage? Y a-t-il quelque chose que je puisse faire à ce sujet?

Si je fais blkid, la partition de swap ne s'affiche pas du tout, donc mon problème semble être différent de cette question .

Edit: Je travaille toujours dessus, j'ai donc recommencé la procédure ci-dessus, après quoi / etc / crypttab ressemble à ceci:

cryptswap1 UUID=xxxx /dev/urandom swap,cipher=aes-cbc-essiv:sha256

ainsi que quelques lignes commentées. Et / etc / fstab contient cette ligne:

/dev/mapper/cryptswap1 none swap sw 0 0

Cependant, les deux nouvelles lignes sont exactement les mêmes (à l'exception de l'UUID) que ce qui a été généré les deux dernières fois. Je n'ai donc pas grand espoir que cela restera lorsque je redémarrerai. Gparted montre maintenant la partition que j'utilise comme linux-swap. (Avant de redémarrer) Blkid donne également cette ligne:

/dev/sda7: UUID="xxxx" TYPE="swap" 

J'ai testé le swap et cela fonctionne, c'est-à-dire que j'ai démarré un programme qui utilisait beaucoup de mémoire et vérifié combien était chargé dans le swap dans le moniteur système.

Edit2: Il s'avère que 3 n'est pas le nombre magique qui résout ce problème. Le contenu des deux fichiers est inchangé, blkid n'affiche plus la ligne avec / dev / sda7 et gparted affiche la partition de swap comme "inconnue".

Toutes les suggestions sur la sortie de ce que je pourrais regarder ou ce que je pourrais essayer sont vraiment les bienvenues. Ma solution de contournement en ce moment est simplement de ne pas redémarrer, mais parfois quand il y a une mise à jour, mon ordinateur portable veut vraiment redémarrer.

Edit3: N'y a-t-il vraiment rien d'autre que l'on pourrait essayer de résoudre ce problème? Des commandes que je pourrais essayer? Toute sortie que je pourrais regarder?

fifaltra
la source

Réponses:

8

Cela ne se produit pas lors du redémarrage. Après avoir terminé votre configuration ( en cours d' exécution ecryptfs-setup-swap), retournez gpartedet recharger la table et ouvrir un terminal et exécutez: sudo fdisk -l /dev/sda. Vous allez trouver que la partition a toujours Id 83Linux Swap et est devenue au format inconnu .

Pourquoi donc?! Il est déjà devenu une partition cryptée.

Dans /etc/fstab:

  • L'ancienne partition de swap a été commentée.
  • Nouveau mappé inséré:

    /dev/mapper/cryptswap1 none swap sw 0 0
    

C'est bon.

Dans /etc/crypttab:

  • Une nouvelle ligne ajoutée pour mapper le swap:

    cryptswap1 UUID=xxxx /dev/urandom swap,cipher=aes-cbc-essiv:sha256
    

Mais il y a quelque chose qui ne va pas ici, une partition chiffrée a-t-elle un UUID (non chiffré)? !!!

  1. Définissez donc le chemin de développement directement comme dans cet exemple:

    cryptswap1 /dev/sdXX /dev/urandom swap,cipher=aes-cbc-essiv:sha256
    
  2. Redémarrez puis le Swap sera activé.

BTW, cela devrait être signalé comme un bug. ecryptfs-setup-swapdevrait utiliser le chemin du périphérique au lieu de uuid.

Mise à jour: je pourrais trouver la même question répondue qui inclut également le rapport de bogue.

Il contient la réponse canonique en ajoutant une offset=dans les options crypttab.

user.dz
la source
Désolé, il m'a fallu si longtemps pour y arriver, je suis un peu paranoïaque à propos des sauvegardes, donc je voulais d'abord faire une sauvegarde ... J'ai essayé ce que vous avez suggéré, redémarré une fois, pas de swap, redémarré à nouveau, le swap a fonctionné, tourné éteint, redémarré, pas de swap, redémarré à nouveau, pas de swap ... très bizarre, les deux dernières fois il y avait aussi un message pendant le démarrage à propos de / dev / mapper / cryptswap non prêt
fifaltra
malheureusement, cela ne fonctionne pas pour moi, le swap disparaît toujours après quelques redémarrages. la méthode de décalage ne fonctionne pas non plus
fifaltra
et avec la méthode offset, je veux dire ce qui est décrit dans la réponse à la question liée et ce qui est décrit dans le rapport de bogue ...
fifaltra
@fifaltra, peut-être, un bogue distinct, mais je vais essayer de le reproduire ou de trouver un moyen de le contourner.
user.dz
@fifaltra, car une solution de contournement sudo /etc/init.d/cryptdisks restartfonctionne pour moi après le démarrage (j'ai obtenu 1 sans échange en 10 redémarrages).
user.dz
-2

Vous pouvez essayer ceci depuis le terminal:

 sudo -i
 umount -a
 gedit /etc/fstab

puis tapez ceci en bas:

 uuid   name   mount  type
 xxxxx  swap   /       sw   sw   errors=noremount   0

puis tapez ceci dans le terminal:

 mount -a

puis utilisez gpart et définissez le swap drive swap /. et cela pourrait bien fonctionner de cette façon.

Michael
la source