Ситуация, которую всем хочется избежать — это потеря данных — информации и настроек, на восстановление которых потребуется не мало времени и рутинной работы.
Для быстрого восстановления в Linux можно использовать возможности файловой системы BTRFS, которая позволяет легко создавать снимки файловой системы.
К сожалению, при установке некоторых современных дистрибутивов (например Ubuntu 24.04 и 24.10) нет возможности создать разные подтома в рамках одной файловой системы BTRFS для того, чтобы поместить в них корневой и другие разделы, например /home. Как правило, установщик позволяет создать файловую систему BTRFS и установить в нее корневой раздел, но при такой конфигурации нет возможности воспользоваться полезной утилитой Timeshift. Для работы Timeshift необходимо, чтобы корневой раздел был помещен в отдельный подтом файловой системы BTRFS. Это можно исправить, создав необходимый подтом и перенастроив загрузчик, чтобы он загружал систему из него.
Перенесем корневой раздел в подтом и перенастроим Grub, чтобы Linux загружался из подтома файловой системы BTRFS.
-
Создадим снимок корневого раздела:
sudo btrfs subvolume snapshot / /@
результат:
Create a snapshot of ‘/’ in ‘//@’
-
Убедимся, что раздел создан:
sudo btrfs subvolume list /
результат:
ID 267 gen 2007 top level 5 path @
-
Редактируем fstab, чтобы корневая файловая система монтировалась из нового раздела (subvolume)
sudo nano /@/etc/fstab
вместо строки:
/dev/disk/by-uuid/ / btrfs defaults 0 1
должно быть что то похожее на (добавляем параметр монтирования subvol=@):
/dev/disk/by-uuid/ / btrfs subvol=@,defaults 0 1
-
Настраиваем Grub, чтобы он показывал меню загрузки и перезагружаем систему
sudo nano /etc/default/grub
меняем параметры на:
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
sudo update-grub sudo reboot
-
Когда появляется меню загрузчика grub нажимаем клавишу «e», чтобы отредактировать меню загрузки. меняем параметры загрузки (добавляем «/@»):
linux /@/boot/…
в конце строки добавляем «rootflags=subvol=@» между «ro» and «quiet splash»
должно выглядеть примерно так:
… ro rootflags=subvol=@ quiet splash …
редактируем строку, начинающуюся с initrd:
initrd /@/boot/…
нажимаем F10 для загрузки
-
Убеждаемся, что запустились из нужного подтома
mount |grep ' / '
результат выполнения команды должен выглядеть примерно так:
/dev/… on / type btrfs (…subvol=/@…)
если вы видите здесь «…subvol=/@…», значит вы загрузились с правильного подраздела
-
Сохраним настройки загрузчика
для не-UEFI систем (Legacy или BIOS):
sudo update-grub sudo grub-install /dev/... # ваше устройство, например /dev/sda reboot
для UEFI систем:
sudo update-grub grub-install --efi-directory=/boot/efi reboot
-
После удачной загрузки можно удалить данные с корневого раздела, с которые мы перенесли в подраздел /@ путем создания снимка
sudo mount /dev/sda2 /mnt cd /mnt ll # выведел список содержимого # удаляем всё кроме /@ sudo rm -rf !(@*)
Теперь можно установить timeshift и наслаждаться легкой работой со снимками файловой системы.
ссылка на оригинал статьи https://habr.com/ru/articles/871902/
Добавить комментарий