Конвертируем Ext4 в BTRFS в Debian 9

Main

Оценка: 100% - 3 Голосов

Общая

Показан вариант преобразования ext4 файловой системы в btrfs файловую систему раздела с флагом boot и загрузчиком GRUB в Debian 9.

Все команды выполняются по суперпользователем root

Имеется диск /dev/sda со следующими разделами:

/dev/sda1 Linux swap
/dev/sda2 / boot

Все преобразования будут касаться раздела /dev/sda2

Прежде чем приступать к преобразованиям раздела установим утилиты для работы с btrfs файловой системой:


apt update
apt install btrfs-tools

Далее нам понадобится Live CD системы Debian, который можно скачать тут.

Нам необходимо загрузить систему при помощи данного образа.

После загрузки открываем терминал и устанавливаем утилиты для работы с btrfs файловой системой:


sudo su
apt update
apt install btrfs-tools

После проверяем нужный нам раздел на ошибки:


fsck -f /dev/sda2

Далее начинаем преобразование раздела:


btrfs-convert /dev/sda2

Процесс конвертации может занять продолжительно время, зависимо от размера раздела.

После удачного преобразования необходимо смонтировать раздел:


mount /dev/sda2 /mnt
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
chroot /mnt

Теперь необходимо указать загрузчику новый раздел для загрузки. Для этого нам необходим UUID раздела, который мы можем узнать командой:


blkid /dev/sda2

Получаем вывод где нас интересует UUID запись:

/dev/sda2: UUID="332978ed-34e7-4e6b-862b-dc890eda8cef" UUID_SUB="eab0118a-6ba8-4aed-a05a-b62c659132e2" TYPE="btrfs" PARTUUID="3ef78635-02"

Далее нам необходимо отредактировать конфигурационный файл fstab внеся в него новый, полученный выше, UUID:


nano /etc/fstab

Нам нужно за-комментировать  старую запись о разделе и прописать новую с новыми опциями для монтирования.


UUID=332978ed-34e7-4e6b-862b-dc890eda8cef / btrfs defaults 0 1

Важно отметить опцию defaults иначе раздел может смотироваться как только для чтения.

Теперь поправим загрузчик GRUB.


nano /etc/grub.d/00_header

Ищем в нем строку и комментируем ее:


if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi

После обновляем загрузчик GRUB:


update-grub
grub-install /dev/sda

если все удачно то выходим и перезагружаемся без Live CD


exit
reboot

После конвертации в корне раздела появится папка ext2_saved, содержащий образ раздела до преобразования. Раздел необходим для отката преобразования.

Если вы не собираетесь откатываться то удалить его можно командой:


btrfs subvolume delete /ext2_saved

Добавить комментарий


Logo