Luks
使用 LUKS 和 rEFInd 進行雙啟動設置:無法將備份還原到第二個分區
我在具有多個分區的 Windows 機器上進行了雙引導設置,其中兩個 Linux 使用 LUKS 加密。出於某種原因,我無法再將備份恢復到我的第二個 Linux LUKS 分區並正確啟動到 LUKS 初始螢幕,因此我可以輸入我的解密密碼。相反,它會嘗試引導根分區並引發 dracut 錯誤。
我為這個問題設置的關鍵分區是:
- /dev/sda1 EFI
- /dev/sda5 引導Fedora I
- /dev/sda6 Fedora I 的根目錄——加密的****LUKS
- /dev/sda7 引導Fedora II
- Fedora II 的/dev/sda8 根目錄——加密的****LUKS
我使用一個組合(Fedora I Root and Boot)作為我的主驅動程序。然後,如果我想嘗試新的東西,我會使用 tar 備份所有內容並將其安裝到第二個組合(Fedora II Root and Boot)。所以我很樂意在我的安裝之間來回切換,而不會冒著破壞我的設置的風險。
直到最近,我還能夠將系統備份解壓到解密的 LUKS 邏輯分區,chroot 進入其中,然後更新 initramfs(使用sudo dracut -vf)。這樣做是(我認為)告訴它在引導時尋找 LUKS 分區。並且在重新啟動時,新安裝的系統會顯示 LUKS 解密啟動畫面,然後在我輸入密碼後,從根分區啟動。
然而,現在,我似乎無法使用第二個分區組合(Fedora II Root 和 Boot)在 LUKS 啟動螢幕上啟動恢復系統。我進行了三次檢查,設置與 Fedora I 組合相同。具體來說:
- 在 Fedora I 和 Fedora II
/boot
分區上(注意:每個都是一個單獨的分區),有一個名為refind_linux.conf
第一節的文件,其內容類似於"Boot with standard options" "root=UUID=3a404a5a-3d2e-46cd-bf73-8f40e89efed3 ro rhgb quiet LANG=en_US.UTF-8 acpi_osi=Linux acpi_backlight=native"
,其中3a404a5a-3d2e-46cd-bf73-8f40e89efed3
是加密分區(又名/dev/mapper/luks-f3303886-beb1-4733-8e6f-5794d430e87e
)內分區的 UUID。 當然,UUID 根據是 Fedora I 分區還是 Fedora II 分區而有所不同。- 在 Fedora I 和 Fedora II 根分區 (aka
/
) 上,都有一個名為 的文件/etc/fstab
,它為各自的分區提供/
、/boot
和/boot/efi
UUID。例如,一個是:
- UUID=3a404a5a-3d2e-46cd-bf73-8f40e89efed3 / ext4 預設值 1 1
- UUID=D0BD-BA39 /boot/efi vfat umask=0077,shortname=winnt 0 2
- UUID=e40053cc-4402-478e-9af8-67a218401b33 /boot ext4 預設值 1 1
分區的 UUID
/
與 中列出的相同refind_linux.conf
。
- 在 Fedora I 和 Fedora II 根分區(又名
/
)上,都有一個名為 的文件/etc/crypttab
,我認為它會告訴 Fedora 在哪裡尋找 LUKS 分區。在這裡,它是:luks-f3303886-beb1-4733-8e6f-5794d430e87e UUID=f3303886-beb1-4733-8e6f-5794d430e87e none luks
,f3303886-beb1-4733-8e6f-5794d430e87e
LUKS 包裝器的 UUID(又名/dev/sda7
)在哪裡。雖然設置是相同的,但第一個組合引導和第二個不引導。我錯過了什麼?
是否有一些新方法可以讓新安裝的系統辨識出需要首先讀取的加密分區?
我需要做什麼才能讓第二個分區組合辨識它應該首先查看 LUKS 分區,而不是根分區?
問題是硬碟驅動器出現故障,該分區所在的扇區有損壞(可修復)。