web-dev-qa-db-ja.com

暗号化されたホームを使用したクリーンな14.04インストールでスワップが機能しない

アップデート3:

アップグレード後も他の問題が発生していたため、システムをゼロから再インストールして、周囲の古い不要なものをすべて削除することにしました。しかし、この問題は続きました。

クリーンインストールでは、「暗号化されたホーム」を使用してインストールすることを選択すると、暗号化されたスワップ設定が破損します。

アップデート2:

私はcfdiskが不満を言う分割の順序を修正しましたが、彼の問題は続いています。スワップは/ dev/sda6にあり、次のように実行できます。

~$ 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

ただし、再起動後のスワップのアクティブ化に失敗すると、次のようになります。

$ 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

現時点では、ディスクを暗号化するように設定すると、Linuxはパーティションの種類を認識せず、そのため適切に読み込まれず、UUIDに登録されないため、cryptswapが失敗の原因を見つけることができません。しかし、私はそれを修正する方法がわかりません。

更新された質問:

さらにテストを行った結果、$ mkswap/dev/sda5を実行することでスワップを起動して実行できることが明らかになりました。

次に、正しいUUIDで/ etc/crypttabを更新し、ここで説明する手順に従います。 暗号化されたスワップファイルを設定するにはどうすればよいですか?

ただし、コンピューターを再起動しても問題は残ります。実行すると/ dev/sda5が表示されません

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

私が行った場合:

$ cfdisk /dev/sda 

次のエラーが表示されます。

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

グラフィカルな「ディスク」ユーティリティは、それを使用してディスクを開くときにエラーを表示しません。

$ 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

元の質問:

14.04(13.04から)にアップグレードした後、コンピューターで深刻な速度低下が発生しました。また、スワップスペースがないことに気付きました!

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

暗号化されたスワップのセットアップに問題があるようです(自分がそれを持っていることすら知らなかった)

$ 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

そして、私の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

私の推測では、sda5のセットアップに何か問題があると思われますが、暗号化されるようにセットアップされているため、修正方法はわかりません。進む方法としていくつかの助けをいただければ幸いです。

28
ajn

Ubuntu 14.04でもまったく同じ問題を抱えていましたが、このスレッドに遭遇しました。 このリンク 提供されたミュータントは私にとってうまく機能しました。/dev/sdXYではなく/dev/disk/by-id参照を使用しました。その参照は常に同じ物理パーティションを指しているとは限らないためです。私の/etc/crypttabは次のようになりました:

cryptswap1 /dev/disk/by-id/wwn-0x500...-part6 /dev/urandom swap, cipher=aes-cbc-essiv:sha256
9
DoubleE

暗号化されていないスワップを使用するだけです

...および/ homeを暗号化した状態に保つ

ここで提案されている他のソリューションをいくつか試しました。ホットリブート後も機能し続けましたが、最終的にはシャットダウンとコールドリスタート後にすべて失敗しました。

これは、実際に二重のバグに対処していることを示しています。

  1. スワップドライブのUUIDは暗号化システムによって上書きされます。
  2. 起動中にタイムアウトの問題があります。

これらの考えは、関連する Launchpadに提出されたバグ へのコメントにも反映されています。ただし、Upstartからsystemdへの保留中の移行では、現在のLTSシステムのバグを解決するための作業はほとんど行われていません。

この時点で、次の考えが思い浮かびました。

  1. システムのインストール中に、\homeパーティションのみを暗号化するように要求しましたが、それ以外は何も暗号化しませんでした。
  2. 暗号化されたスワップパーティションを持たないことに伴うリスクはかなり限られています。
  3. 彼らの行為を片付けるのはCanonical次第です。これでもう時間を無駄にしません。

したがって、オペレーティングシステム全体を再インストールすることなく、通常の暗号化されていないスワップとしてスワップを復元するための私のソリューションがあります。

  1. まだインストールしていない場合は、blkid$ Sudo apt-get install blkidをインストールします
  2. /etc/crypttabを編集し、cryptswap1行全体を削除します:$ Sudo nano /etc/crypttab
  3. システムの設定メニューからGPartedを起動します。
  4. 感嘆符付きのパーティションが表示されます。これは障害のあるスワップパーティションである必要があります。慎重に選択し、linux-swapパーティションに再フォーマットします。この操作を適用すると、復元された通常のスワップパーティションの新しいUUIDについて通知されます。この情報を保存する機会が提供されます。そうでない場合は、blkid$ Sudo blkidを使用して、コマンドラインからいつでも新しいUUIDを取得できることを知ってください。
  5. これで、/etc/fstabを以前の栄光に戻す時が来ました:$ Sudo nano /etc/fstab

    • /dev/mapper/cryptswap1への参照を含む行全体を削除します。
    • #の前にあるハッシュUUID=...を削除して、古いswap行のコメントを解除します。
    • 次に、古いUUIDを以前に取得した新しいUUIDに置き換えます。
    • ヒットしてファイルを書き出す Ctrl+O そしてnanoを終了します Ctrl+X
  6. すべて完了したら、$ Sudo swapon -aで新しい暗号化されていないスワップの使用を開始できます。
  7. このソリューションは、ホットリブートとコールドリスタートによるシャットダウンの両方に耐えます。
7

this をご覧ください。/etc/crypttabのUUID = ...を/ dev/sda3に置き換えるだけでこの問題を修正しました。

2
mutant

質問332625 の人々がそうであったように、私はこの問題を抱えています。サスペンドとリブートの組み合わせによって、スワップパーティションのUUIDが失われます(/ etc/fstabのコメントにあるように、Sudo blkdでこれを確認してください) / etc/crypttabで、暗号化されたスワップが失敗するときにそのUUIDを使用します。

パーティションの/dev name(/ dev/sda6を使用するための幸運な切り替えがありません/ etc/crypttabあなたの場合)または消失するUUIDの代わりにdev/disk/by-id/ name。

悲しいことに、暗号化されたスワップを放棄するのが最も簡単で、これまでのところ最高のソリューションです。

0
skierpage