Menggunakan fsck untuk memeriksa dan memperbaiki disk terenkripsi LUKS?

13

Mesin Ubuntu 11.04 saya menggunakan enkripsi LUKS untuk root, swap dan home. Sebuah fsck -n rutin mengungkapkan satu set kesalahan yang perlu saya perbaiki. fsck mengharuskan untuk meng-unmount partisi. Sebelum luks saya hanya akan boot dari USB stick dan perbaiki fsck dari sana. Apa langkah-langkah untuk melakukan itu untuk partisi terenkripsi LUKS?

stwissel
sumber

Jawaban:

26

Metode yang tepat tergantung pada bagaimana Anda memiliki pengaturan luks, dan jika Anda memiliki LVM di atas luks atau jika Anda hanya memiliki sistem file dalam volume luks.

Jika Anda tidak memiliki LVM selain luks maka Anda mungkin akan melakukan sesuatu seperti ini.

cryptsetup luksOpen /dev/rawdevice somename
fsck /dev/mapper/somename

# or

cryptsetup luksOpen /dev/sda2 _dev_sda2
fsck /dev/mapper/_dev_sda2

Jika Anda menggunakan opsi LVM pada LUKS yang disediakan oleh penginstal Debian / Ubuntu, maka Anda harus memulai LVM. Jadi vgchange -alysetelah membuka volume terenkripsi, kemudian jalankan fsck terhadap /dev/mapper/lvname.

(Jika perintah hilang, Anda mungkin perlu melakukan apt-get install cryptsetuppertama. Demikian pula jika Anda perlu vgchangelakukan apt-get install lvm.)

Sakit kepala
sumber
Untuk alasan apa pun cryptsetup luksOpen /dev/rawdevice somenametidak berhasil memberi saya sesuatu untuk dijalankan fsck, meskipun itu muncul dengan vgscanbaik setelah vgchange -aysebagai 'aktif' ... Saya harus membuat perangkat mentah secara manual dengan vgscan --mknodesdan kemudian fsckpada volume logis muncul di vgscandengan fsck /dev/cryptVG/root- Semoga ini bisa membantu orang lain di luar sana
Dmitri DB
Hm, tidak peduli jika saya menggunakan cryptsetupatau cryptdisk_start, saya mendapatkan hasil yang sama ketika saya mencoba fsck: /dev/mapper/ext_crypt is in use. Saya memeriksa mountdan tidak dipasang di mana pun.
Nikodemus RIP
9

Anda harus membuka volume LUKS terlebih dahulu.

cryptsetup luksOpen /dev/(whatever) someName

Ini akan menanyakan kata sandi Anda, lalu membuat /dev/mapper/someName, yang merupakan perangkat plaintext yang dapat Anda jalankan fsck. Setelah selesai,

cryptsetup luksClose someName

akan menghapus /dev/mapper/someNameperangkat plaintext,.

Wyzard
sumber
1

Prosedurnya harus sama.

Menggunakan tongkat USB Debian (7.7.0 amd64, dalam kasus saya), seseorang dapat masuk ke mode penyelamatan, yang seharusnya mengidentifikasi partisi LUKS, meminta kata sandi, dan memetakannya. Itu juga mengidentifikasi dan memetakan setiap partisi LVM yang terkandung di dalamnya. Jika Anda tidak memasang partisi root, dari prompt shell Anda bisa e2fsck -f -c /dev/system_name/partition_name, dll.

Pertanyaan ini sudah berumur empat tahun, tetapi saya rasa prosedurnya tidak berubah.


Saya harus menunjukkan, bahwa melakukan fsck -npada sistem file yang terpasang hampir pasti melaporkan kesalahan yang tidak akan benar-benar ada ketika Anda fscktidak di-mount!

Mike
sumber