Luks
Arch Linux 設置 Luks 加密
所以我試圖在安裝 Arch Linux 時加密一個分區 sda2。
root@archiso ~ # cryptsetup luksFormat /dev/sda2 -c aes-xts-plain -y -v -s 512 -h sha512
但它失敗了:
Cannot format device /dev/sda2 which is still in use.
我該如何解決?
如果它正在使用中,您應該檢查它是否已安裝、循環設備、仍然打開 cryptsetup、在 LVM 中處於活動狀態、RAID 集的一部分等,然後停止所有這些事情。同時退出任何可能正在使用設備的正在執行的程序(分區程序、安裝程序、ddrescue、badblocks 等)。關於什麼可以使用設備的可能性列表幾乎是無窮無盡的。
lsof
或者fuser
能夠抓住其中一些……# example only, none of these are accurate umount /dev/sda2 losetup -D vgchange -a n cat /proc/mdstat | grep -C 2 sda2 mdadm --stop /dev/md?? ...
或者,如果你想故意忽略這個問題,你可以明確地把一個循環設備放在上面,然後格式化循環設備。之後您應該重新啟動以查看是否仍在使用該設備,是否會因此而損壞您的 LUKS 標頭(如果您在重新啟動後無法打開它,那就是發生了什麼)。無需重新啟動,您也許可以在設備上愉快地複制數據,但後來一切都消失了……
# dangerous hack cryptsetup luksFormat $(losetup --find --show /dev/sda2) -s 512 -h sha512 ... reboot
還要三重檢查您是否真正使用了正確的設備。在您的文章中,您以某種方式提到了 sda1 和 sda2,那是哪一個?
這不是您的問題的一部分,但
aes-xts-plain
不贊成使用aes-xts-plain64
. 它也是預設密碼,因此您根本不必指定它。(見cryptsetup --help
或之後的 luksDump。)