Tukar tidak bekerja pada pemasangan bersih 14.04 menggunakan rumah terenkripsi

28

Pembaruan 3:

Saya memutuskan untuk menginstal ulang sistem dari awal untuk menghapus semua cruft tua yang tergeletak di sekitar karena saya telah mengalami beberapa masalah lain setelah upgrade juga. Namun, masalah ini tetap ada.

Pada instalasi yang bersih, memilih untuk menginstal menggunakan "rumah terenkripsi" mengarah ke konfigurasi swap terenkripsi rusak.

Pembaruan 2:

Saya memperbaiki urutan partioning yang dikeluhkan oleh cfdisk, tapi ia tetap ada. Swap sekarang di / dev / sda6, dan saya bisa menjalankannya sebagai berikut:

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

Tetapi setelah swap reboot gagal untuk mengaktifkan dan sekali lagi terlihat seperti ini:

$ 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

Dugaan saya saat ini adalah ketika mengatur disk sebagai terenkripsi linux tidak lagi mengenali tipe partisi dan karena itu tidak memuatnya dengan benar sehingga tidak mendaftar untuk itu UUID dan karena itu cryptswap tidak dapat menemukannya menyebabkan kegagalan. Tapi saya tidak tahu bagaimana cara memperbaikinya ..

Pertanyaan diperbarui:

Pengujian lebih lanjut mengungkapkan bahwa saya bisa mengaktifkan dan menjalankan swap dengan menjalankan $ mkswap / dev / sda5

dan kemudian memperbarui / etc / crypttab dengan UUID yang benar dan mengikuti langkah-langkah yang dijelaskan di sini: Bagaimana cara mengatur file swap terenkripsi?

Masalahnya tetap ketika saya me-reboot komputer, / dev / sda5 tidak muncul ketika saya menjalankan

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

Jika aku melakukan:

$ cfdisk /dev/sda 

Saya mendapatkan kesalahan berikut:

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

Utilitas "Disk" grafis tidak mengeluh tentang kesalahan apa pun ketika membuka disk menggunakannya.

$ 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

Pertanyaan asli:

Setelah memutakhirkan ke 14,04 (dari 13,04) komputer saya telah mengalami perlambatan parah, ketika menjalankan top saya perhatikan kswap0 mengambil banyak waktu cpu. Saya juga memperhatikan bahwa saya tidak memiliki ruang swap!

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

Tampaknya ada beberapa masalah dengan pengaturan swap terenkripsi saya (bahkan tidak tahu bahwa saya memilikinya)

$ 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

Dan melihat fstab saya

$ 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

Dugaan saya adalah bahwa ada sesuatu yang salah dengan pengaturan sda5, tapi saya tidak tahu bagaimana memperbaikinya karena pengaturannya diatur untuk dienkripsi. Akan menghargai bantuan karena bagaimana untuk melanjutkan.

ajn
sumber
Saya tidak tahu apa-apa tentang partisi terenkripsi, tetapi kesalahan pertama menunjukkan bahwa partisi swap belum dipasang. Juga baris pemasangan untuk itu di / etc / fstab dikomentari. Saya akan mencoba hanya menghilangkan komentar pada baris itu dan memulai kembali untuk memeriksa apakah itu memperbaikinya
Anake
Saya cukup yakin bahwa itu seharusnya dikomentari dan baris cryptswap1 bertanggung jawab untuk memasangnya secara tidak langsung menggunakan informasi di / etc / crypttab. Saran Anda pasti akan memasangnya dengan cara yang tidak terenkripsi?
AJN
1
Akankah ini berhasil? https://ubuntuforums.org/showthread.php?t=2224129 Saya tidak yakin tentang beberapa perintah dan saya tidak ingin mengacaukan Ubuntu.
Tampaknya mirip dengan apa yang saya coba, saya akan berharap itu berfungsi untuk satu reboot lalu berhenti bekerja lagi setelah Anda mengaktifkan swap terenkripsi untuk pertama kalinya.
AJN
Untuk saat ini saya baru saja kembali menggunakan swap biasa. Skenario utama yang saya gunakan terhadap enkripsi adalah jika seseorang mencuri laptop saya dan seseorang dengan kemampuan linux moderat memutuskan untuk melihat apakah mereka dapat menemukan sesuatu yang menarik, yaitu kemungkinan besar hanya mencoba untuk boot menggunakan usb dan me-mount partisi rumah saya. Saya tidak punya apa-apa yang saya percaya seseorang akan menemukan cukup berharga untuk mencoba mulai memulihkan fragmen dari swap. Ini benar-benar harus menjadi opsi instal untuk menggunakan home + swap terenkripsi.
AJN

Jawaban:

16

Bug yang dikenal

Ada bug (lihat di bawah) yang menimpa UUIDpartisi segera setelah data ditulis untuk itu. Oleh karena itu, Anda tidak dapat menggunakan UUIDuntuk referensi partisi yang akan digunakan untuk swap terenkripsi.

Saat ini, ruang swap jarang digunakan. Di mesin saya, swap hanya digunakan ketika saya membuka tab ke-40 saya. Ketika saya tidak punya swap, tiba-tiba komputer saya mulai tertinggal dan browser menutup sendiri. Atau dalam hal Chromiumbrowser, banyak tab tiba-tiba akan 'mati'.
Untuk alasan ini, referensi /dev/disk/by-uuid/di Anda /etc/crypttabmungkin tampak berfungsi untuk sementara waktu, tetapi begitu ruang swap Anda benar-benar digunakan, itu akan menimpa UUIDkarena seluruh partisi digunakan untuk penyimpanan data terenkripsi.

Memperbaiki mudah

Cara mudah memperbaikinya adalah dengan merujuk partisi swap berdasarkan perangkat di perangkat Anda /etc/crypttab, misal:

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

Peringatan: ini mungkin aman di laptop (saya menggunakannya seperti ini), tetapi jika Anda menggunakan desktop dengan drive swappable atau memiliki alasan lain untuk mengubah tata letak drive / partisi, Anda tidak ingin melakukan ini, karena partisi penyimpanan normal mungkin tiba-tiba digunakan untuk swap.

Catatan: Anda harus mem-boot ulang agar perubahan ini berlaku, karena hanya saat booting akan /dev/mapper/cryptswap1dibuat.

Perbaikan yang Tepat

Cara yang tepat untuk memperbaikinya adalah memastikan bagian partisi mentah yang menyimpannya UUIDtidak ditimpa oleh data swap terenkripsi, sehingga tetap ada di sana saat reboot. Namun, saya tidak yakin di mana UUIDditulis dan berapa banyak byte yang dibutuhkan. Anda bisa, dengan risiko sendiri, mengujinya seperti:

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

Perhatikan offset=36.

Silakan jika Anda memiliki akun Ubuntu One login dan pergi ke Bug # 1310058 di Launchpad dan pilih (atau klik di sini): "Bug ini mempengaruhi saya juga" sehingga bug akan mendapatkan 'popularitas' dan lebih rentan untuk diperbaiki.


Perbarui 2014-10-27

Saya juga menemukan ini. Tidak diverifikasi oleh saya. Sepertinya offsettrik dengan lebih banyak kata dan komentar tentang membangun kembali swap yang rusak.

https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/1310058/comments/22

Redsandro
sumber
5
Saya hanya ingin mencatat bug sedang dilacak di bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/953875 pada beberapa hari yang lalu (pertengahan Maret 2015) statusnya "sudah dirilis," meskipun perbaikan yang hanya secara eksplisit berlaku untuk 15,04. Saya mencari untuk melihat apakah itu di-backport ke 14,04 LTS ... dan seperti apa prosedur pembaruan "resmi" itu
Tommy Trussell
1
@TommyTrussell: Tidak membackup akan gila untuk LTS. Bug untuk hal-hal penting seperti ini masih terbuka hampir setahun setelah rilis, itulah sebabnya bahkan distro Linux biggist tidak akan pernah setara dengan OSX dan Windows. Sayangnya.
Redsandro
Saya tidak mengetahui diskusi publik tentang bug karena sedang diperbaiki di OSX dan Windows, jadi bagaimana mereka bisa "setara"? Dalam pengalaman saya dengan OSX, bug diperbaiki atau tidak; tidak ada diskusi publik, jadi mereka "buram." Saya hanya menyebutkan nomor bug baru (karena yang Anda tautkan telah ditandai duplikat) sehingga Anda dapat memperbarui referensi Anda. Seperti yang dapat Anda lihat dari diskusi di posting forum yang disebutkan dalam Bug 953875, perbaikan paling stabil mungkin berbeda tergantung pada sistem init, yang berubah pada 15,04. SO perbaikan 14,04 mungkin memiliki tantangan teknis untuk kompatibilitas ke depan.
Tommy Trussell
Saya hanya mengatakan Anda tidak akan pernah melihat sesuatu seperti "Oh, omong-omong, SWAP rusak" pada sistem seperti Windows atau OSX. Ini adalah jenis fungsionalitas inti yang tidak akan pernah mendapatkan RTM sebelum diuji dan diperbaiki. Itu saja. Adapun keamanan, tidak ada diskusi publik tetapi masih ada statistik .
Redsandro
@Redsandro Yah, ini adalah sistem operasi gratis dan hal-hal seperti ini hanya akan diperbaiki sebelum rilis jika orang menemukan bug saat menguji rilis. Setelah dirilis, terlalu beresiko membuat perbaikan bug akan merusak sesuatu yang lain pada konfigurasi seseorang. Mungkin diperbaiki dalam rilis yang lebih baru - jadi mungkin layak menggunakan itu - tetapi rilis sementara biasanya lebih tidak stabil daripada rilis LTS karena fokusnya lebih pada pembaruan umum. Tetapi Anda memang mengidentifikasi mengapa pengujian bug / perbaikan / Jaminan Kualitas (QA) sangat penting dan Ubuntu menjadi semakin baik.
Ads20000
9

Saya mengalami masalah yang sama persis di Ubuntu 14.04 dan menemukan utas ini; tautan yang disediakan mutan ini bekerja dengan baik untuk saya. Saya menggunakan /dev/disk/by-idreferensi daripada / dev / sdXY, karena referensi itu tidak selalu menunjuk ke partisi fisik yang sama. Saya /etc/crypttabberakhir seperti:

cryptswap1 /dev/disk/by-id/wwn-0x500...-part6 /dev/urandom swap, cipher=aes-cbc-essiv:sha256
Gandakan
sumber
3
Ini adalah perbaikan yang tepat & mudah !
Serge Stroobandt
7

Cukup gunakan swap yang tidak terenkripsi

... dan biarkan / rumah terenkripsi

Saya mencoba beberapa solusi lain yang disarankan di sini. Meskipun mereka terus bekerja setelah reboot panas, akhirnya mereka semua gagal setelah shutdown dan restart dingin.

Ini memberitahu kita bahwa kita sebenarnya berurusan dengan bug ganda:

  1. UUID drive swap akan ditimpa oleh sistem enkripsi, dan
  2. Ada masalah batas waktu selama booting.

Pikiran-pikiran ini juga tercermin dalam komentar untuk bug terkait yang diajukan di Launchpad . Namun, dengan pending move dari Upstart ke systemd, sedikit yang dilakukan untuk menyelesaikan bug pada sistem LTS saat ini.

Pada titik ini, pikiran-pikiran berikut terlintas di benak saya:

  1. Selama instalasi sistem, saya diminta hanya mengenkripsi \homepartisi saya , tidak ada yang lain.
  2. Risiko yang terlibat dengan tidak memiliki partisi swap terenkripsi agak terbatas.
  3. Terserah Canonical untuk membersihkan tindakan mereka. Saya tidak akan membuang waktu lagi dengan ini.

Jadi, inilah solusi saya untuk mengembalikan swap sebagai swap normal yang tidak terenkripsi tanpa harus menginstal ulang seluruh sistem operasi.

  1. Jika Anda belum melakukannya, instal blkid:$ sudo apt-get install blkid
  2. Edit /etc/crypttabdan hapus seluruh cryptswap1baris:$ sudo nano /etc/crypttab
  3. Mulai GParted dari menu Pengaturan sistem.
  4. Anda akan melihat partisi dengan tanda seru. Ini harus menjadi partisi swap yang salah. Pilih dengan hati-hati dan format ulang ke sebuah linux-swappartisi. Setelah menerapkan operasi ini, Anda diberitahu tentang UUID baru dari partisi swap normal yang dipulihkan. Anda ditawari kesempatan untuk menyimpan informasi ini. Jika tidak, ketahuilah bahwa Anda selalu dapat mengambil UUID baru dari baris perintah dengan blkid:$ sudo blkid
  5. Sekarang, saatnya untuk mengembalikan /etc/fstabke kejayaannya:$ sudo nano /etc/fstab

    • Hapus seluruh baris yang berisi referensi ke /dev/mapper/cryptswap1.
    • Batalkan komentar pada swapbaris lama dengan menghapus hash #di depan UUID=....
    • Sekarang, ganti UUID lama dengan yang baru yang diperoleh sebelumnya.
    • Tulis file dengan menekan Ctrl+ O dan keluar nanodengan Ctrl+ X.
  6. Setelah melakukan semua itu, Anda sudah dapat mulai menggunakan swap tidak terenkripsi baru dengan: $ sudo swapon -a
  7. Solusi ini selamat dari hot reboot dan shutdown dengan restart dingin.
Serge Stroobandt
sumber
1
Ini adalah satu-satunya jawaban yang berhasil untuk saya, walaupun saya sudah mencoba yang lain.
fifaltra
Di gparted, partisi swap saya memiliki flag boot. Apakah ini masih berfungsi, atau akankah saya dibiarkan tidak bisa boot?
Christian Skjødt
@ ChristianSkjødt Partisi swap Anda seharusnya tidak ditetapkan sebagai flag boot. Bagaimanapun, prosedur di atas tidak akan memengaruhi semua itu.
Serge Stroobandt
2

Lihatlah ini . Saya memperbaiki masalah ini dengan hanya mengganti UUID = ... dengan / dev / sda3 di / etc / crypttab.

mutan
sumber
1
jalankan "sudo fdisk -l" terlebih dahulu untuk mengecek apa nama partisi swap Anda, mungkin "/ etc / sda5" atau yang lain, kemudian edit cryptab seperti yang dijelaskan oleh mutan. Ini bekerja untuk saya dan selamat dari reboot. Ini jelas merupakan bug karena saya mendapatkan masalah ini dengan instalasi baru pada SSD baru. Saya memang pergi untuk opsi "mengenkripsi direktori home" di install, jauh lebih baik untuk mengenkripsi / home setelah instalasi, terutama jika Anda menyalin file dari yang lama / home dari instalasi sebelumnya.
Paul Williams
Itu sudo fdisk -ladalah sesuatu yang tidak diceritakan orang. Terima kasih untuk ini! :)
Aman Alam
Anda setidaknya harus memperingatkan orang-orang bahwa /dev/sd*jalur dapat berubah karena kemauan dan menyebabkan partisi yang salah dihancurkan oleh data swap. /dev/disk/by-idlebih unggul.
underscore_d
0

Saya memiliki masalah ini, seperti halnya orang-orang yang dimaksud 332625 . Beberapa kombinasi dari suspend dan reboot kehilangan UUID dari partisi swap Anda (seperti komentar di / etc / fstab Anda , konfirmasikan dengan ini sudo blkd), jadi baris di / etc / crypttab Anda untuk menggunakan UUID itu sebagai swap terenkripsi gagal.

Saya tidak beruntung beralih / etc / crypttab untuk menggunakan nama partisi /dev( / dev / sda6 dalam kasus Anda) atau dev/disk/by-id/nama alih-alih UUID yang hilang.

Meninggalkan enkripsi terenkripsi adalah solusi termudah dan sejauh ini, sayangnya.

skierpage
sumber
masalah ini sudah sangat lama saya bertanya-tanya mengapa mereka belum memperbaikinya, sekarang saya menghadapi masalah yang sama dengan desktop saya dan tidak bisa menjalankannya, memperbaikinya di laptop saya di masa lalu tetapi tidak ingat bagaimana :(
tomasb