
/etc/default/grub
編集してfips=1 boot=UUID=????
追加する少し自動化された方法を作成したいと思います。GRUB_CMDLINE_LINUX=
偶然/etc/fstab
含まれていますUUID=12345blabla /boot xfs defaults 0 0
。しかし、マウントタイプが/etc/fstabのUUIDでない場合、Linux(RHEL / Centos 7.6以降システム)でブートパーティションのUUIDを推論する安定した方法は何ですか?
答え1
これが自動修正に関するあなたの質問の部分を解決しないということから始めましょう/etc/default/grub
。しかし、実際には必要ないようです。
パーティションを再フォーマットしない限り、UUIDは静的でなければなりません。基本的なデバイスを知っていると仮定すると、/dev/disk/by-uuid
次の内容が表示されます。
$ ls -l /dev/disk/by-uuid
... 9577f213-665a-427b-aa45-8927b177224e -> ../../sda1
...
したがって、ブートパーティションに対応するデバイスを探すだけです。
次のコマンドもありますblkid
。
$ blkid /dev/sda1
/dev/sda1: UUID="9577f213-665a-427b-aa45-8927b177224e" ...
何らかの理由でUUIDが変更された状況を経験したことがありますか?
答え2
/boot
実行中のシステムにインストールされているデバイスのUUIDを探している場合は、きちんとしたアプローチfindmnt
は次のとおりですutil-linux
。
$ findmnt --output=UUID --noheadings --target=/boot
2b8c6b62-0f68-47d1-a5e7-3e56acce98ac
これらの説明を必要としないオプションを使用すると、UUIDのみが出力されます。また、どのデバイスが問題のデバイスであるかを判断する手間を省くことができます。
インストールするかどうかに関係なく、認識しているデバイスのUUIDを探している場合は、blkid
次の説明に従って使用できます。アンディ・ダルトンの回答:
$ sudo blkid -s UUID -o value /dev/vda1
2b8c6b62-0f68-47d1-a5e7-3e56acce98ac
-s tag
オプションは出力-o format
をUUIDタグの値に制限します。
GRUB_CMDLINE_LINUX
その後、次のコマンドを使用してUUIDをコマンドに追加できます。
sed -i.bkp 's/^\([[:blank:]]*GRUB_CMDLINE_LINUX=".*\)\(".*\)$/\1 fips=1 boot=UUID='"$newuuid"'\2/' /etc/default/grub
-i
このオプションのGNU構文を想定してくださいsed
。つまり、ファイルをその場で編集し、grub.bkp
同時にバックアップファイルを作成します。コマンドライン引数がすでに存在することを
確認しないことに注意してください。boot
私たちはちょうど付け加えるfips=1
newuuid
2番目のコマンドの前には、"
現在のコマンドラインが二重引用符で囲まれており、二重引用符が含まれていないと見なされます。