我在一台古老的上網本上安裝了 Debian 11,使用單獨的 /home 分割區進行加密,否則接受所有預設設定。
設定好系統後,我意識到我只有 1GB 交換分割區和 2GB RAM,因此我將交換分割區的大小增加到 4GB(以確保它始終有足夠的交換空間用於休眠)
swapoff -a
lvextend --size +3G /dev/mapper/dell--mini--vg-swap_1
mkswap /dev/mapper/dell--mini--vg-swap_1
swapon -a
這工作得非常好,free/htop 確認我現在有 4GB 的交換空間
但現在當我的系統啟動時,會出現大量有關 mdadm「設定檔中找不到陣列」的錯誤。
休眠似乎可以工作,但不會恢復。
我損壞了什麼以及如何修復它?
看來(謝謝評論者!) mkswap 更改了交換分區的 UUID,並且需要更新它以便恢復可以找到它。有人知道我該怎麼做?
或者可能更乾淨的方法是重做 mkswap,強制 UUID 與前一個相同,但同樣,我可以在哪裡找到舊的 UUID?
答案1
我發現問題只是 mkswap 更改了交換文件的 UUID。
我發現舊的 UUID 為:
cat /etc/initramfs-tools/conf.d/resume
RESUME=UUID=5caa6a65-ce03-4da5-aac2-9a9686c934d7
然後重新執行 mkswap 指令,強制使用原來的 uuid:
swapoff -a
mkswap --uuid 5caa6a65-ce03-4da5-aac2-9a9686c934d7 /dev/mapper/dell--mini--vg-swap_1
swapon -a
交換和休眠現在工作正常。