Ketika saya jauh dari komputer saya, USB drive terenkripsi saya entah bagaimana dilepas secara tidak sengaja (meskipun masih terhubung secara fisik pada saat itu). Saya belum dapat memulihkan (belum mencoba reboot). Saya sekarang telah memutus sepenuhnya perangkat, tetapi saya masih mendapatkan "Perangkat atau sumber daya sibuk" ketika saya mencoba untuk menghapus entri menggantung di / dev / mapper. Bisakah saya menyambung kembali dan memasang drive tanpa reboot?
Inilah yang saya coba (nama lama diubah menjadi "xxxxx") ...
$ sudo dmsetup ls
luks-xxxxx (252:1)
luks-yyyyy (252:0)
$ sudo umount /dev/mapper/luks-xxxxx
umount: /dev/mapper/luks-xxxxx: not mounted
$ sudo fuser --kill /dev/mapper/luks-xxxxx
$ echo $?
1
$ sudo dmsetup info -c luks-xxxxx
Name Maj Min Stat Open Targ Event UUID
luks-xxxxx 252 1 L--w 1 1 0 CRYPT-LUKS1-xxxxx-luks-xxxxx
$ sudo dmsetup remove luks-xxxxx
device-mapper: remove ioctl on luks-xxxx failed: Device or resource busy
Command failed
Setelah menghubungkan kembali perangkat ...
$ sudo cryptsetup luksOpen "/dev/sde1" "luks-xxxxx"
Device luks-xxxxx already exists.
[EDIT] Saya memecahkan masalah, kali ini, dengan menutup editor teks GUI yang tidak memiliki file terbuka, tetapi telah diluncurkan dari folder pada perangkat yang dimaksud. Jadi pertanyaannya menjadi lebih spesifik: Bagaimana Anda bisa mengidentifikasi aplikasi mana yang membuat perangkat terbuka?
Ingatlah bahwa lsof
tampaknya tidak menghadirkan solusi yang mudah karena, setelah perangkat terputus, nama-nama terkait yang disediakan oleh lsof
tidak lagi menyertakan nama perangkat yang terputus.
Jawaban:
Setelah dua tahun berjuang dengan ini, saya pikir saya akhirnya sudah benar-benar memecahkannya!
dmsetup ls
memberi Anda data yang Anda butuhkan:kemudian
Tampaknya ini
sudo
mungkin penting di sini - setidaknya dalam beberapa kasus.Ini akan memberi Anda informasi yang diperlukan untuk menutup semua file yang terbuka pada perangkat - termasuk nama file yang terbuka dan ID proses untuk aplikasi yang melanggar. Anda mungkin dapat dengan mudah pergi ke aplikasi tersebut dan menutupnya, tetapi pendekatan brute force mungkin seperti:
Setelah Anda menutup semua file, beberapa alat baris perintah yang ditunjukkan dalam pertanyaan mungkin diperlukan untuk menutup mount yang ada sebelum dapat dibuka kembali secara normal.
sumber
(252:1)
menjadi252,1
.Cobalah untuk menghentikan grup LVM sebelum menghentikan kode sandi:
lvchange -a n [LVM_Group_name]
kemudian
cryptsetup -v luksClose [LUKS_name]
Mencicipi:
sumber
kill
sebelumnyakill -9
). Namun solusi @ nobar tidak mencukupi bagi saya - tampaknya kernel itu sendiri membuka perangkat karena pemetaan perangkat LVM - yang diselesaikan oleh jawaban ini.grep
tidak menemukan kecocokan, tetapi ini berhasil.lain kali coba umount yang malas
Ini berfungsi untuk saya sebagian besar kali, terutama berguna dengan NFS-drive yang terputus.
sumber
Inilah cara saya mengatasi masalah ini di Linux Mint 17.3 (~ Ubuntu Trusty):
hapus perangkat dari device-mapper
petakan kembali
Sekarang perangkat dapat diakses.
sumber
dmsetup remove
melaporkan "Perintah gagal".Saya berada dalam situasi yang sama tetapi tidak dapat menyelesaikan masalah dengan menghapus
luks-xxxx
perangkat. Sebaliknya saya harus menghapusubuntu--vg-root
.Situasi saya adalah:
lsof
tidak menunjukkan pegangan terbuka untuk perangkat.Apa yang membantu adalah mencabut perangkat fisik dan menghapus
ubuntu--vg-root
perangkat dengan perintah berikut:Pada titik itu saya dapat mengaktifkan dan mendekripsi perangkat eksternal secara normal dengan pengaturan yang biasa:
sumber