我怎麼能重建etc crypttab?

我怎麼能重建etc crypttab?

tldr:我的/etc/crypttab遺失了,我不知道如何重建它。

我嘗試從 20.04 升級到 22.04,但出現了問題。啟動時我剛剛登陸initramfs。從來沒聽過。經過幾個小時的谷歌搜尋和嘗試後,我了解到我的加密/分區沒有解密,因此啟動過程被卡住了。最後我可以使用cryptsetup luksOpen /dev/nvme... vgubuntu-root 和解密分割區vgchange -ay,然後exit。最後系統再次啟動。但現在我擔心每次重啟都會出現這種情況。所以我在我的加密分割區中查找了/etc/crypttab(因為我猜這將使用更新命令寫入initram img,但我根本沒有該檔案。那麼,我該怎麼辦?

最好的問候馬丁

更新:這是 lsblk 的螢幕截圖,因為我在其他帖子中讀到這是需要的。

在此輸入影像描述

但我不知道如何讀這個。

第二次更新:根據 muru 的願望,我還將 lsblk 的輸出作為程式碼發布:

    lsblk -fs
NAME                       FSTYPE      FSVER    LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
loop0                      squashfs    4.0                                                         0   100% /snap/bare/5
loop1                      squashfs    4.0                                                         0   100% /snap/core20/1587
loop2                      squashfs    4.0                                                         0   100% /snap/firefox/1635
loop3                      squashfs    4.0                                                         0   100% /snap/gnome-3-38-2004/112
loop4                      squashfs    4.0                                                         0   100% /snap/gtk-common-themes/1535
loop5                      squashfs    4.0                                                         0   100% /snap/snap-store/582
loop6                      squashfs    4.0                                                         0   100% /snap/snapd/16292
loop7                      squashfs    4.0                                                         0   100% /snap/snapd-desktop-integration/14
loop8                      squashfs    4.0                                                         0   100% /snap/firefox/1794
loop9                      squashfs    4.0                                                         0   100% /snap/core20/1611
loop10                     squashfs    4.0                                                         0   100% /snap/gnome-3-38-2004/115
vgubuntu-root              ext4        1.0            23f3470f-32eb-4b80-96b3-7e496645d6dd    303,2G    62% /
└─[somethingsecret] LVM2_member LVM2 001       dsiUpt-V1Cr-zeFL-1Wr5-c3M3-sQFe-1m4qc4                
  └─nvme0n1p3              crypto_LUKS 2              442a6034-4d06-4677-a20b-5ac60c6351e0                  
    └─nvme0n1                                                                                               
vgubuntu-swap_1            swap        1              9b0a8f42-1497-4090-bf66-7894c8ac3d55                  [SWAP]
└─[somethingsecret] LVM2_member LVM2 001       dsiUpt-V1Cr-zeFL-1Wr5-c3M3-sQFe-1m4qc4                
  └─nvme0n1p3              crypto_LUKS 2              442a6034-4d06-4677-a20b-5ac60c6351e0                  
    └─nvme0n1                                                                                               
nvme0n1p1                  vfat        FAT32          B1F9-75B1                               488,5M     4% /boot/efi
└─nvme0n1                                                                                                   
nvme0n1p2                  ext4        1.0            4e4b5e86-b8f8-4d51-9e04-99d5d538bea1    345,8M    44% /boot
└─nvme0n1                                  

答案1

一個朋友可以幫助我。重要的是我在 initramfs 啟動期間分配給加密分割區的名稱。

我在那裡寫了

cryptsetup luksOpen /dev/nvme0n1p3 test_crypt

最後一個字(test_crypt)是任意的,但後來很重要。嗯,然後我就進去了

vgchange -ay
exit

系統啟動。但我一開始就已經提過這一點。現在,我的朋友告訴我,我無法為 /etc/crypttab 中的加密分割區指定新名稱或實際舊名稱,但我必須使用在開機過程中為分割區指定的名稱。所以現在文件如下圖:

test_crypt UUID=[the UUID] none luks

我按照以前的方式保留了 fstab,然後再次更新了 initramfs。這次它成功了,在下次啟動過程中再次提示我輸入密碼。

@muru:感謝您的支持,並祝遇到此問題或類似問題的每個人好運。 :)

相關內容