
我已經安裝了系統ext4 檔案系統在左心室厚度(vg 名稱encrypted
,稱為 root encrypted-root
)上幸運。當我試著奔跑時fstrim /
,我明白了fstrim: /: the discard operation is not supported
。
我的/etc/crypttab
包含
cryptroot UUID=5ddb7e3a-dcbe-442d-85e8-359e944d0717 none luks,discard,lvm=encrypted
/etc/lvm/lvm.conf
包含
issue_discards = 1
/etc/initramfs-tools/conf.d/cryptroot
僅包含
CRYPTROOT=target=encrypted-root,source=/dev/disk/by-uuid/5ddb7e3a-dcbe-442d-85e8-359e944d0717
(我曾經update-initramfs -k all -c
創建 initramfs)。
/etc/default/grub
包含
GRUB_CMDLINE_LINUX="cryptops=target=encrypted-root,source=/dev/disk/by-uuid/5ddb7e3a-dcbe-442d-85e8-359e944d0717,lvm=encrypted"
我嘗試rd.luks.options=discard
在 grub 中手動將 linux 作為參數。我嘗試過實用程式refresh
選項cryptsetup
(cryptsetup --allow-discards refresh
device
),但好像沒有(cryptsetup: Unknown action
)。
實體設備顯然有TRIM
支持,當我運行fstrim /boot
它時它可以工作(它是相同的設備,只是未加密)。
dmsetup table
命令不allow_discards
顯示cryptroot
.
當我從 USB 啟動並手動解密(使用--allow-discards
參數cryptsetup
)並掛載根分區時,它可以工作。我嘗試過使用--persistent
選項,但它說它無法使其持久。
我迷路了。我該做什麼才能fstrim /
工作?有些東西告訴我我應該以某種方式修改 grub 中的啟動選項,但我不知道如何修改。我也不確定是否使用了 /etc/crypttab 中的行(我將其更改為cryptroot
安裝後,即使更改它似乎也沒有執行任何操作)。
我在跑Linux 薄荷 19.3。
連結:
答案1
我發現問題出在加密等級。 (您可以dmsetup table
以 root 身份運行來查看您的裝置是否顯示allow_discards
。)
這解決了我的問題:
- 編輯
/etc/initramfs-tools/conf.d/cryptroot
,新增discard
特定設備的選項。就我而言,該行看起來像這樣:CRYPTROOT=target=encrypted-root,source=/dev/disk/by-uuid/5ddb7e3a-dcbe-442d-85e8-359e944d0717,discard
。 - 跑步
update-initramfs -k all -c
。 (也許先進行備份,以防您的設定有問題而您不知道。)