Вот мой аудит изменений в конфигурационном файле grub по адресу /boot/grub/grub.cfg. В результате изменения тайм-аута = 10 (который я сделал, чтобы меню grub отображалось вообще) в значение timeout = 0, значит grub вообще не показывает. Я спал, когда это случилось. Мне очень хочется сделать этот файл доступным только для чтения и посмотреть, что произойдет. Ubuntu 19.04, рызень 5 2500U с Vega Radeon Mobile GFX 2000 МГц. драйверы amd по умолчанию (обновлены вчера, но это не новая проблема для меня, происходит каждое обновление grub). Есть идеи, почему это вообще происходит? (кроме теорий заговора). Временная метка изменения файла также 6.07 утра, когда я крепко спал.
- 2019-08-03 06:07:23 / boot / grub / unlinkat no / usr / bin / rm unset 303
- 2019-08-03 06:07:23 /boot/grub/grub.cfg.new openat yes / usr / bin / dash unset 304
- 2019-08-03 06:07:23. openat yes / usr / bin / dash unset 305
- 2019-08-03 06:07:23. openat yes / usr / bin / dash unset 306
- 2019-08-03 06:07:23. openat yes / usr / bin / dash unset 307
- 2019-08-03 06:07:23. openat yes / usr / bin / dash unset 308
- 2019-08-03 06:07:23. openat yes / usr / bin / dash unset 309
- 2019-08-03 06:07:23. openat yes / usr / bin / dash unset 310
- 2019-08-03 06:07:23. openat yes / usr / bin / dash unset 311
- 2019-08-03 06:07:23. openat yes / usr / bin / dash unset 312
- 2019-08-03 06:07:27 /boot/grub/grub.cfg.new fchmodat yes / usr / bin / chmod unset 314
- 2019-08-03 06:07:27 /boot/grub/grub.cfg.new openat yes / usr / bin / grub-script-check unset 315
- 2019-08-03 06:07 : 27 / boot / grub / renameat2 no / usr / bin / mv unset 316
- 2019-08-03 06:07:27 /boot/grub/grub.cfg переименовать yes / usr / bin / mv unset 317
- 2019-08-03 06:07:27 /boot/grub/grub.cfg.new openat yes / usr / bin / grep unset 313
- 2019-08-03 07: 38:06 openat yes /usr/bin/updatedb.mlocate unset 346
- 2019-08-03 12:48:37 / boot / grub sendto yes / usr / sbin / auditctl unset 54
- 2019- 08-03 12:48:37 / boot / grub / grubenv openat yes / usr / bin / grub-editenv unset 77
- 2019-08-03 12:48:37 / boot / grub / grubenv openat yes / usr / bin / grub-editenv unset 78
соответствующей частью grub.cfg является
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=10
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=10
fi
fi
проблема в том, что my = 10 заменены на = 0
Аудит был получен с https://unix.stackexchange.com/questions/99074/find-which-process-is-modifying-a-file
sudo apt auditd
затем настраивается с
sudo auditctl -w /boot/grub -k grubchanges -p rwxa
и сообщается с
sudo ausearch -k grubchanges | aureport -f -i
Ответ очевиден: это изменяется grub-mkconfig
. Если Вы изменяетесь grub.cfg
вручную, все изменения будут перезаписаны на следующем update-grub
.
Личинка обновляется на каждом обновлении ядра и также в других случаях.
Вместо изменения grub.cfg
править /etc/default/grub
и выполненный sudo update-grub
.
Можно считать это в начале grub.cfg
.
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#