Ho visto lo stesso errore oggi su un laptop con Ubuntu 15.10 che ho sempre tenuto aggiornato ma non avevo riavviato per un mese fino a quando non volevo testare un kernel corrente (cioè, potrebbe esserci stata una recente modifica).
Ad ogni modo, ho scoperto che nel mio caso la causa sottostante era in realtà una partizione di swap "mancante" a causa di un problema tecnico durante la procedura di cui sopra. In questo caso e / o stai effettivamente utilizzandolvm
, potresti essere in grado di saltare il passaggio 2 di seguito. Naturalmente, potresti anche visualizzare il messaggio di errore sopra riportato nel caso in cui la tua partizione di sistema (o di dati secondari) sia stata danneggiata o non possa essere trovata (vedi passaggio 3).
Passaggio 1: montare il sistema, avviare le partizioni seguendo il tutorial sopra citato
Supponiamo che la tua partizione di avvio (ext2) sia / dev / sdX1, la tua partizione di scambio (crittografata) sia / dev / sdX2, la tua partizione di dati (crittografata) sia / dev / sdX3 e tu abbia decifrato con successo quest'ultima usando cryptsetup luksOpen /dev/sdX3 data
, seguito dal montaggio esso:mkdir /tmp/data; mount /dev/mapper/data /tmp/data
.
Presta attenzione ai montaggi di bind nel tutorial e assicurati di montare / dev / sdX1 in modo che tu possa accedervi dalla directory / boot della tua partizione di sistema (questo è cruciale poiché dobbiamo eseguire update-initramfs
).
Di seguito, supponiamo che tu abbia eseguito correttamente chroot /tmp/data/@ubuntu1510
(o come si chiama la partizione di sistema montata)
Passaggio 2: eliminare il messaggio di errore sopra riportato
Sto usando btrfs (come avrete intuito dal nome del sottovolume citato), quindi lvmetad può essere facilmente disabilitato come segue senza perdita di funzionalità:
- modifica /etc/lvm/lvm.conf e cambia
use_lvmetad=1
inuse_lvmetad=0
- eseguire
update-initramfs -k $(uname -r) -u ; sync
Ora, è possibile riavviare e il messaggio di errore dovrebbe essere sparito. Tuttavia, nel mio caso, il messaggio di errore successivo [1] mi ha indicato il problema sottostante menzionato sopra, quindi mentre ci siamo, ...
Passaggio 3: assicurarsi che / etc / crypttab punti alle partizioni corrette e non danneggiate
Per prima cosa, esegui sfdisk --list /dev/sdX
e controlla che la tua partizione di swap crittografata (nel mio caso, / dev / sdX2) effettivamente lo fa venga visualizzata come una partizione di swap (normale). Se lo ha fatto (come nel mio caso), ciò significa che l'avvio, ad esempio, utilizzando un disco di ripristino farà probabilmente uso di quella partizione di swap disponibile, sovrascrivendo così i metadati relativi a cryptsetup (keyphrase e UUID).
Quindi, dai un'occhiata a / dev / disk / by-uuid e confronta i rispettivi UUID delle tue partizioni crittografate con quelle contenute in / etc / crypttab. La mia ipotesi a questo punto: nel tuo caso, c'è una discrepanza.
Se la partizione di swap crittografata dedicata non si trova da nessuna parte sotto / dev / disk / by-uuid, è perché è attualmente in uso dal sistema di salvataggio. In tal caso, procedi come segue:
- assicurati di smettere di usare la partizione:
swapoff -a
- riformattarlo:
mkfs.ext2 /dev/sdX2
(questo è fondamentale , specialmente quando si usano le partizioni GPT [2], poiché annulla il problema tecnico che ho menzionato in precedenza. La probabile causa della partizione che appare come tipo "swap" nell'elenco sfdisk è che tu / io hai usato erroneamente mkswap /dev/sdX2
quando si imposta la partizione all'inizio.)
- seguire il tutorial per crittografare la partizione e impostare una passphrase; successivamente, aprilo usando cryptsetup e riformatta correttamente la partizione ora decifrata (usando qualcosa di simile
mkswap /dev/mapper/swap
)
- assicurarsi che
sfdisk --list /dev/sdX
non identificherà la partizione di swap in quanto tale (in tal caso, ripetere gli ultimi passaggi)
Ora, ricontrolla che gli UUID elencati in / etc / crypttab sono in linea come quello che vedi sotto / dev / disk / by-uuid per le tue rispettive partizioni crittografate.
Ancora una volta, per rendere permanenti le modifiche, è necessario eseguire update-initramfs
come mostrato sopra.
Se sei soddisfatto, assicurati che tutto sia scritto sul disco e riavvia il sistema (non è necessario smontare tutto manualmente). Successivamente, il problema dovrebbe essere risolto.
[1] forse non ho prestato attenzione la prima volta o il primo messaggio di errore ha "mascherato" il secondo; cioè, solo dopo il riavvio (con use_lvmetad=0
), mi è stato presentato " Leggere tutti i volumi fisici. Questo potrebbe richiedere del tempo ... " (ripetuto più volte), seguito da " ALERT! / dev / disk / by-uuid / .. non esiste ". (Va notato che si è update-initramfs
anche lamentato di una partizione mancante.)
[2] perché il loro tipo viene dedotto dall'analisi dei loro contenuti e non alla fine specificato da un flag / byte (ecco perché non c'è modo semplice, ad esempio, di cambiare il tipo di file system GPT usando [g]parted
.)