Troca não está funcionando na instalação limpa 14.04 usando criptografado em casa

28

Atualização 3:

Eu decidi reinstalar o sistema a partir do zero para remover qualquer conteúdo antigo, já que eu estava passando por alguns outros problemas após o upgrade também. No entanto, esse problema persistiu.

Em uma instalação limpa, optar por instalar usando "home criptografado" leva a uma configuração de troca criptografada quebrada.

Atualização 2:

Eu consertei a ordem de particionamento que o cfdisk reclamou, mas o problema continua. A troca está agora em / dev / sda6, e eu posso começar assim:

~$ sudo mkswap /dev/sda6
Setting up swapspace version 1, size = 7998460 KiB
no label, UUID=18881d0f-d9ec-43be-a23f-0cbd78ea6d22

$sudo nano /etc/crypttab # Update crypttad with new UUID

$ sudo /etc/init.d/cryptdisks reload
 * Stopping remaining crypto disks...
 * cryptswap1 (stopped)...                                               [ OK ] 
 * Starting remaining crypto disks...                                        
 * cryptswap1 (starting)..
 * cryptswap1 (started)...                                               [ OK ] 
$ sudo swapon -a

$ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 11 09:04 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 11 09:08 18881d0f-d9ec-43be-a23f-0cbd78ea6d22 -> ../../sda6
lrwxrwxrwx 1 root root 10 May 11 09:04 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda5
lrwxrwxrwx 1 root root 10 May 11 09:04 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May 11 09:04 D28230E68230D129 -> ../../sda2
lrwxrwxrwx 1 root root 10 May 11 09:08 fcc8c419-8fec-4d4d-b55e-9e4c3b04d21d -> ../../dm-0

Mas depois que uma troca de reinicialização não é ativada e mais uma vez se parece com isso:

$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 11 09:12 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 11 09:12 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda5
lrwxrwxrwx 1 root root 10 May 11 09:12 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May 11 09:12 D28230E68230D129 -> ../../sda2
Meu palpite no momento é que, ao configurar o disco como sendo criptografado, o Linux não reconhece mais o tipo de partição e, portanto, não o carrega corretamente, fazendo com que ele não se registre em seu UUID e, portanto, o cryptswap não o encontra causando a falha. Mas eu não sei como consertar isso ...

Pergunta atualizada:

Testes adicionais revelaram que eu poderia colocar a troca em funcionamento     $ mkswap / dev / sda5

e atualizando o / etc / crypttab com o UUID correto e seguindo as etapas descritas aqui: Como configuro um arquivo de permuta criptografado?

No entanto, o problema permanece quando eu reinicio o computador, o / dev / sda5 não aparece quando eu corro

$ ls -l /dev/disk/by-uuid/

Se eu fizer:

$ cfdisk /dev/sda 

Eu recebo o seguinte erro:

FATAL ERROR: Bad logical partition 6: enlarged logical partitions overlap
                      Press any key to exit cfdisk

O utilitário gráfico "Disks" não reclama de nenhum erro ao abrir o disco usando-o.

$ sudo fdisk -l

Disk /dev/sda: 256.1 GB, 256060514304 bytes
255 heads, 63 sectors/track, 31130 cylinders, total 500118192 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x619aebf1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   100870143    50331648    7  HPFS/NTFS/exFAT
/dev/sda3       191397888   192397311      499712   83  Linux
/dev/sda4       192399358   500117503   153859073    5  Extended
/dev/sda5       484118528   500117503     7999488   82  Linux swap / Solaris
/dev/sda6       192399360   484118527   145859584   83  Linux

Partition table entries are not in disk order

Pergunta original:

Após a atualização para 14.04 (a partir de 13.04), meu computador sofreu grandes lentidões, ao executar o top i notei que o kswap0 ocupava muito o tempo da CPU. Eu também percebi que não tinha espaço para troca!

$ sudo swapon -a
swapon: /dev/mapper/cryptswap1: stat failed: No such file or directory

Parece haver algum problema com minha configuração de troca criptografada (nem sabia que eu tinha uma)

$ cat /etc/crypttab 
cryptswap1 UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 /dev/urandom swap,cipher=aes-cbc-essiv:sha256

$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May  6 11:00 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May  6 11:00 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda6
lrwxrwxrwx 1 root root 10 May  6 11:00 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May  6 11:00 D28230E68230D129 -> ../../sda2

E olhando para o meu fstab

$ cat /etc/fstab
# /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/sda6 during installation
UUID=19aa372c-05c8-4226-8f09-c54e5566e816 /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda3 during installation
UUID=08b07f88-6da5-4b40-b062-42b3bb1c5f00 /boot           ext2    defaults        0       2
# swap was on /dev/sda5 during installation
#UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

Meu palpite é que há algo errado na configuração do sda5, mas não sei como consertá-lo, já que ele está configurado para ser criptografado. Gostaria de receber alguma ajuda sobre como proceder.

    
por ajn 08.05.2014 / 11:06

5 respostas

16

Bug conhecido

Existe um erro (veja abaixo) que sobrescreve o UUID para a partição assim que os dados são gravados nela. Portanto, você não pode usar o UUID para fazer referência à partição a ser usada para troca criptografada.

Hoje em dia, o espaço de troca raramente é usado. Na minha máquina, swap é usado apenas quando abro minha 40ª aba. Quando não tenho swap, de repente meu computador começa a ficar atrasado e o navegador se fecha. Ou, no caso do navegador Chromium , muitas abas de repente 'morrem'. Por esse motivo, referenciar /dev/disk/by-uuid/ em seu /etc/crypttab pode parecer estar funcionando por um tempo, mas assim que seu espaço de troca for realmente usado, ele sobrescreverá o UUID porque A partição é usada para armazenamento de dados criptografados.

Correção fácil

A solução fácil é fazer referência à partição de troca por dispositivo no seu /etc/crypttab , por exemplo:

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

Aviso: isso é provavelmente seguro em um laptop (eu o uso assim), mas se você estiver em um desktop com unidades de troca ou tiver outras razões para alterar o layout da unidade / partição, você não quer fazer isso, como uma partição de armazenamento normal, de repente, pode ser usada para swap.

Observação: você precisa reinicializar para que esta alteração tenha efeito, porque somente quando a inicialização será criada /dev/mapper/cryptswap1 .

Correção Adequada

A maneira correta de corrigir isso é certificar-se de que a parte da partição bruta que armazena o UUID não seja sobrescrita pelos dados de troca criptografados, portanto, ela ainda estará lá na reinicialização. No entanto, não tenho certeza de onde o UUID está escrito e quantos bytes ele ocupa. Você pode, por sua conta e risco, testá-lo assim:

cryptswap1 UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 /dev/urandom swap,offset=36,cipher=aes-cbc-essiv:sha256

Observe o offset=36 .

Por favor, se você tem uma conta do Ubuntu One e vá para Bug # 1310058 no Launchpad e escolha (ou clique aqui): " Este bug também me afeta " para que o bug ganhe 'popularidade' e seja mais propenso a ser corrigido.

Atualização 2014-10-27

Eu também tropecei nisso. Não verificado por mim. Parece que offset engana com mais verbosidade e comenta sobre como reconstruir uma troca quebrada.

link

    
por Redsandro 25.10.2014 / 18:44
9

Eu estava tendo o mesmo problema exato no Ubuntu 14.04 e me deparei com esse segmento; este link que mutante fornecido funcionou bem para mim. Eu usei a referência /dev/disk/by-id em vez de / dev / sdXY, pois essa referência nem sempre está apontando para a mesma partição física. Meu /etc/crypttab acabou como:

cryptswap1 /dev/disk/by-id/wwn-0x500...-part6 /dev/urandom swap, cipher=aes-cbc-essiv:sha256
    
por DoubleE 08.09.2014 / 02:54
7

Use apenas uma troca não criptografada

... e mantenha / home criptografado

Eu tentei algumas das outras soluções sugeridas aqui. Mesmo que eles continuassem trabalhando após uma reinicialização a quente, eventualmente todos falharam após um desligamento e reinício a frio.

Isso nos diz que estamos lidando com um bug duplo:

  1. O UUID da unidade de troca é substituído pelo sistema de criptografia e
  2. Há um problema de tempo limite durante a inicialização.

Esses pensamentos também são refletidos nos comentários do bug arquivado no Launchpad . No entanto, com a mudança pendente do Upstart para o systemd, pouco é feito para resolver o bug nos sistemas LTS atuais.

Nesse ponto, os seguintes pensamentos passaram pela minha cabeça:

  1. Durante a instalação do sistema, pedi para criptografar apenas minha partição \home , nada mais.
  2. Os riscos envolvidos em não ter uma partição de permuta criptografada são bastante limitados.
  3. Cabe à Canonical limpar seu ato. Não vou perder mais tempo com isso.

Então, aqui está a minha solução para restaurar a troca como uma troca normal e não criptografada sem ter que reinstalar todo o sistema operacional.

  1. Se ainda não o fez, instale blkid : $ sudo apt-get install blkid
  2. Edite /etc/crypttab e exclua todo o cryptswap1 line: $ sudo nano /etc/crypttab
  3. Inicie o GParted no menu Configurações do sistema.
  4. Você verá uma partição com um ponto de exclamação. Esta deve ser a partição swap defeituosa. Selecione-o cuidadosamente e reformate-o em uma partição linux-swap . Depois de ter aplicado esta operação, você é informado sobre o novo UUID da partição de troca normal restaurada. Você tem a oportunidade de salvar essas informações. Caso contrário, saiba que você sempre pode recuperar o novo UUID da linha de comando com blkid : $ sudo blkid
  5. Agora, é hora de restaurar /etc/fstab para sua antiga glória: $ sudo nano /etc/fstab

    • Remova a linha inteira contendo uma referência a /dev/mapper/cryptswap1 .
    • Remova o comentário da antiga linha swap removendo o hash # na frente de UUID=... .
    • Agora, substitua o antigo UUID pelo novo obtido anteriormente.
    • Escreva o arquivo pressionando Ctrl + O e saia em nano com Ctrl + X .
  6. Uma vez feito isso, você já pode começar a usar o novo swap não criptografado com: $ sudo swapon -a
  7. Esta solução sobrevive a reinicializações a quente e desligamento com reinicialização a frio.
por Serge Stroobandt 02.05.2015 / 12:35
2

Dê uma olhada em esta . Eu consertei esse problema simplesmente substituindo UUID = ... por / dev / sda3 em / etc / crypttab.

    
por mutant 21.06.2014 / 16:29
0

Eu tenho esse problema, assim como as pessoas em pergunta 332625 . Alguma combinação de suspend e reboot perde o UUID da sua partição swap (como o comentário em seu / etc / fstab diz, confirme isso com sudo blkd ), então a linha em seu / etc / crypttab para usar esse UUID quando a troca criptografada falhar.

Não estou tendo sorte em trocar / etc / crypttab para usar o nome /dev da partição ( / dev / sda6 no seu caso) ou dev/disk/by-id/ name em vez do desaparecimento do UUID.

O abandono da troca criptografada é a melhor e mais fácil solução, infelizmente.

    
por skierpage 15.06.2014 / 00:07