Btrfs: различия между версиями

Материал из ALT Linux Wiki
 
(не показано 10 промежуточных версий 3 участников)
Строка 1: Строка 1:
{{stub}}
== BTRFS на ALT ==
=BTRFS на AltLinux, второй заход=


[https://www.altlinux.org/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_AltLinux_%D0%BD%D0%B0_Btrfs Первая версия] показала свою работоспособность и достаточное удобство использования, однако все-таки обладала определенными недостатками. Поэтому было решено слегка переделать руководство.
Подтом (subvolume) не является блочным устройством, но в каждом томе btrfs создаётся один подтом верхнего уровня (subvolid=5), в этом подтоме могут создаваться другие подтома и снапшоты.
Важно: дальнейшее описание установки идет для legasy-режима, uefi режим не пробовал.
Подтома (подразделы, subvolumes) создаются ниже вершины дерева btrfs по мере необходимости, например, для / и /home создаются подтома с именами @ и @home. Это означает, что для монтирования подтомов необходимы определенные параметры вместо корня системы btrfs по умолчанию:
* подтом @ монтируется в / с помощью опции subvol=@
* подтом @home (если он используется) монтируется с помощью параметра монтирования subvol=@home


==Установка AltLinux на btrfs==
 
Т.к. для [[Timeshift#Режим_BTRFS|Timeshift]] система должна быть установлена на раздел BTRFS с разбивкой на подразделы @ и @home, то в данной статье рассмотрен именно этот вариант.
 
В данной статье использовались дистрибутивы на основе [[Десятая_платформа|десятой платформы]].
=== Установка ALT на btrfs ===
 
В некоторых дистрибутивах ALT ([[Альт_Рабочая_станция_10|Рабочая станция]], [[Альт_Рабочая_Станция_К_10|Рабочая станция К]], [[Альт_Сервер_Виртуализации_10|Сервер Виртуализации]]) btrfs доступен в инсталляторе.
 
==== Создание подтомов в инсталляторе ====
 
В дистрибутиве [[Альт_Рабочая_Станция_К_10|Рабочая станция К]], начиная с версии 10.1 можно создать подтома (@ и @home) в инсталляторе.
 
В этом случае после установки системы не потребуется никаких действий по созданию подтомов.
 
===== Автоматический профиль разбиения диска =====
 
Если выбрать автоматический профиль разбиения диска «Установка рабочей станции (совместима с Timeshift)»:
 
[[File:Install-system-prepare-hdd.png|Профиль разбиения диска «Установка рабочей станции (совместима с Timeshift)»]]
 
то при разбиении диска будут выделены отдельные разделы для подкачки и для корневой файловой системы (файловая система BtrFS).
При этом будут созданы:
* подтом @ с точкой монтирования в {{path|/}};
* подтом @home с точкой монтирования в {{path|/home}}.
 
[[File:Install-system-btrfs-auto.png|Основной раздел (ФС BtrFS) с разбивкой на подразделы @ и @home]]
 
===== Ручной профиль =====
 
Создание подтомов @ и @home при выборе профиля разбиения диска «Вручную»:
 
# Создать раздел для корневой файловой системы. При указании файловой системы, выбрать BtrFS:
#: [[File:Install-system-btrfs-01.png|Создание раздела с файловой системой BtrFS]]
#: Не указывать точку монтирования, для этого в следующем окне нажать кнопку «Отменить»:
#:[[File:Install-system-btrfs-02.png|Точка монтирования]]
# Создать два подтома (@ и @home):
#: Нажать кнопку «Создать подтом»:
#:[[File:Install-system-btrfs-03.png|Кнопка «Создать подтом»]]
#: Указать имя подтома (@, @home) или путь до него (/@, /@home):
#:[[File:Install-system-btrfs-04.png|Имя подтома]]
# Указать точки монтирования для каждого подтома:
#: Нажать кнопку «Изменить точку монтирования»:
#:[[File:Install-system-btrfs-05.png|Кнопка «Изменить точку монтирования»]]
#: Указать точку монтирования:
#: [[File:Install-system-btrfs-06.png|Указание точки монтирования для подтома @home]]
 
Результат:
 
[[File:Install-system-btrfs-auto.png|Основной раздел (ФС BtrFS) с разбивкой на подразделы @ и @home]]
 
==== Ручной профиль ====
 
Если инсталлятор не поддерживает разбивку на подтома, то в этом случае при установке системы, на этапе «Подготовка диска» можно воспользоваться профилем разбиения вручную, создать swap и корень системы (файловая система BtrFS):
 
[[File:Install-system-btrfs.png|Разметка диска]]
 
Далее установить систему как обычно и после установки системы создать подтома (см. раздел [[Btrfs#Создание_подтомов|Создание подтомов]]).
 
=== Преобразование Ext3/4 в Btrfs ===
 
{{Attention|Убедитесь, что у вас есть рабочие резервные копии данных. }}
 
{{Attention|Используйте btrfs-convert из btrfs-progs 5.15.1-alt1 и выше. }}
 
Если дистрибутив не позволяет выбрать файловую систему BtrFS на этапе установки, можно при установке системы выбрать файловую систему Ext2/3/4, а после завершения установки системы преобразовать файловую систему в BtrFS.
 
Загрузиться в LiveCD. Убедиться что корень системы установлен в {{path|/dev/sda2}}:
 
<source lang="text" highlight="1"># lsblk
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0    7:0    0  1,7G  1 loop /.ro
sda      8:0    0  48G  0 disk
├─sda1  8:1    0 1023M  0 part
└─sda2  8:2    0  47G  0 part
sr0    11:0    1  4,9G  0 rom  /image</source>
 
Проверить файловую систему на ошибки и выполнить конвертацию:
<source lang="text" highlight="1,5"># fsck.ext4 /dev/sda2
e2fsck 1.46.2 (28-Feb-2021)
/dev/sda2: clean, 228869/3080192 files, 2106725/12320512 blocks
 
# btrfs-convert /dev/sda2
btrfs-convert from btrfs-progs v5.15.1
 
Source filesystem:
  Type:          ext2
  Label:         
  Blocksize:      4096
  UUID:          94ce97d2-86c4-4f68-8130-98c360d094f2
Target filesystem:
  Label:         
  Blocksize:      4096
  Nodesize:      16384
  UUID:          94bbd745-0f41-4be1-becb-287f67df3f8e
  Checksum:      crc32c
  Features:      extref, skinny-metadata, no-holes (default)
    Data csum:    yes
    Inline data:  yes
    Copy xattr:  yes
Reported stats:
  Total space:    50464817152
  Free space:      40641953792 (80.54%)
  Inode count:        3080192
  Free inodes:        2851323
  Block count:        12320512
Create initial btrfs filesystem
Create ext2 image file
Create btrfs metadata
Copy inodes [O] [    223962/    228869]
Conversion complete</source>
 
Смонтировать файловую систему и подготовить chroot:
<source lang="text" highlight="1-3"># mount /dev/sda2 /mnt
# for i in dev sys proc run; do mount -o bind /$i /mnt/$i; done
# chroot /mnt/ /bin/bash</source>
 
Просмотреть UUID файловой системы и скопировать его:
<source lang="text" highlight="1"># blkid  | grep sda2
/dev/sda2: UUID="94bbd745-0f41-4be1-becb-287f67df3f8e" UUID_SUB="b6c759f5-1a11-4f51-b482-f366cc111d58" TYPE="btrfs"</source>
 
{{Note|UUID файловой системы также отображается в выводе команды btrfs-convert.}}
 
Внести изменения в файл {{path|/etc/fstab}}: для корня системы изменить UUID, изменить тип файловой системы ext4→btrfs (исходная строка закомментирована):
<source lang="text">#UUID=94ce97d2-86c4-4f68-8130-98c360d094f2      /      ext4    relatime        1      1
UUID=94bbd745-0f41-4be1-becb-287f67df3f8e      /      btrfs    relatime        1      1</source>
 
{{Note|Возможно следует установить порядок проверки раздела при загрузке [последнее поле в строке] равным 0, так как Btrfs не выполняет проверку файловой системы при загрузке:
<source lang="text">UUID=94bbd745-0f41-4be1-becb-287f67df3f8e      /      btrfs    relatime        1      0</source>}}
 
 
Обновить GRUB:
<source lang="text" highlight="1,5"># grub-install /dev/sda
Выполняется установка для платформы i386-pc.
Установка завершена. Ошибок нет.
 
# update-grub
Generating grub configuration file ...
Found theme: /boot/grub/themes/spworkstation/theme.txt
Found background image: /usr/share/plymouth/themes/spworkstation/grub.jpg
Found linux image: /boot/vmlinuz
Found initrd image: /boot/initrd.img
Found linux image: /boot/vmlinuz-std-def
skipping symlink: /boot/vmlinuz-std-def
Found linux image: /boot/vmlinuz-5.10.83-std-def-alt0.c9f.2
Found initrd image: /boot/initrd-5.10.83-std-def-alt0.c9f.2.img
done</source>
 
Перегенерировать initrd, иначе система не загрузится. Для этого выполнить команду make-initrd с указанием версии ядра установленного по умолчанию:
<source lang="text" highlight="1"># make-initrd --kernel=5.10.83-std-def-alt0.c9f.2</source>
 
{{Note|Версию ядра можно увидеть в выводе команды {{cmd|update-grub}} или, выполнив команду:
 
<source lang="text" highlight="1"># ls -1d /lib/modules/*
/lib/modules/5.10.83-std-def-alt0.c9f.2</source>}}
 
Выйти из chroot, перезагрузиться.
 
{{Note| Если что-то пошло не так, всегда есть возможность отката, если резервный подтом ext2_saved не удалён. Для отмены изменений следует использовать команду {{cmd|btrfs-convert -r /dev/partition}} }}.
 
Убедившись в отсутствии проблем, можно удалить подтом ext2_saved резервной копии:
<source lang="text" highlight="1,4"># btrfs subvolume list  ./
ID 256 gen 3 top level 5 path ext2_saved
 
# btrfs subvolume delete /ext2_saved
Delete subvolume (no-commit): '//ext2_saved</source>
 
== Создание подтомов ==
 
{{Attention|Дальнейшее описание представлено для legacy-режима.}}
 
Загрузиться в LiveCD.
 
Примонтировать систему в каталог {{path|/mnt/alt}}:
 
<source lang="text" highlight="1-2"># mkdir /mnt/alt
# mount /dev/sda2 /mnt/alt/</source>
 
Перейти в каталог {{path|/mnt/alt}}:
 
<source lang="text" highlight="1"># cd /mnt/alt/</source>
 
Создать подтома (@ и @home) в системе btrfs на разделе /dev/sda2, который смонтирован в {{path|/mnt/alt}}:
 
<source lang="text" highlight="1,3"># btrfs subvolume create ./@
Create subvolume './@'
# btrfs subvolume create ./@home
Create subvolume './@home'</source>
 
Убедиться, что подтома созданы верно (вывести список подтомов):
 
<source lang="text" highlight="1"># btrfs subvolume list  ./
ID 256 gen 46 top level 5 path @
ID 257 gen 47 top level 5 path @home</source>
 
Перенести каталоги с пользователями из каталога {{path|/home}} в {{path|/@home}}:
<source lang="text" highlight="1"># mv  ./home/* ./@home/</source>
Перенести остальные каталоги (кроме {{path|/@home}} и {{path|/home}}) в подтом @:
<source lang="text" highlight="1,2"># mv ./boot ./@/
# mv  ./etc ./@/</source>
и т.д.
Каталог {{path|/home}} нужно не переносить, а скопировать в подтом @  (т.к. он будет точкой монтирования для подтома @home):
<source lang="text" highlight="1"># cp -r  ./home ./@/</source>
 
В каталоге {{path|/mnt/alt}} должно остаться три каталога:
<source lang="text" highlight="1"># ls ./
@ home @home</source>
 
Далее необходимо внести изменения в файл {{path|/etc/fstab}} и обновить загрузчик Grub. Для этого:
#Создать каталог {{path|/mnt/alt2}}
#:<source lang="text" highlight="1"># mkdir /mnt/alt2</source>
#Проверить расположение системы  и параметры монтирования:
#:<source lang="text" highlight="1"># mount |grep alt
/dev/sda2 on /mnt/alt type btrfs (rw,relatime,space_cache=v2,subvolid=5,subvol=/)</source>
#Примонтировать btrfs раздел с опцией subvol=@:
#:<source lang="text" highlight="1"># mount /dev/sda2 /mnt/alt2 -o subvol=@</source>
#Примонтировать временные интерфейсные файловые системы в {{path|/mnt/alt2}} (из хостовой системы в гостевую):
#:<source lang="text" highlight="1"># for i in dev sys proc run; do mount --bind -v /$i /mnt/alt2/$i; done
mount: /dev bound on /mnt/alt2/dev.
mount: /sys bound on /mnt/alt2/sys.
mount: /proc bound on /mnt/alt2/proc.
mount: /run bound on /mnt/alt2/run.</source>
#Сделать chroot в {{path|/mnt/alt2}}:
#:<source lang="text" highlight="1"># chroot /mnt/alt2</source>
#Внести изменения в {{path|/etc/fstab}}:
#:<source lang="text">UUID=9306bd96-eaee-41d9-a65d-6385c68357d2      /          btrfs   relatime,nofail,subvol=@        1      1
UUID=9306bd96-eaee-41d9-a65d-6385c68357d2      /home      btrfs  relatime,nofail,subvol=@home        1      1
UUID=14e23578-5cec-48cb-98e4-220e78138123      swap        swap    defaults</source>
#Обновить загрузчик:
#:<source lang="text" highlight="1"># update-grub
Generating grub configuration file ...
Found theme: /boot/grub/themes/branding-xalt-kworkstation/theme.txt
Found background image: /boot/grub/themes/branding-xalt-kworkstation/grub.png
Found linux image: /boot/vmlinuz-un-def
skipping symlink: /boot/vmlinuz-un-def
Found linux image: /boot/vmlinuz
Found initrd image: /boot/initrd.img
Found linux image: /boot/vmlinuz-5.14.21-un-def-alt1
Found initrd image: /boot/initrd-5.14.21-un-def-alt1.img
Found memtest image: /boot/memtest-5.31b.bin
done</source>
#Установить загрузчик в /dev/sda (только обновления загрузчика недостаточно):
#:<source lang="text" highlight="1"># grub-install /dev/sda</source>
#Выйти из chroot:
#:<source lang="text" highlight="1"># exit</source>
#Перезагрузить систему.
 
== Создание снимков ==
Снимки/snapshots удобно делать и использовать в программе с графическим интерфейсом [[Timeshift#Режим_BTRFS|Timeshift]].
 
== Ссылки ==
См. также [https://.altlinux.org/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_AltLinux_%D0%BD%D0%B0_Btrfs Первая версия]
 
https://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3
[[Category:FileSystems]]
[[Category:FileSystems]]
{{Category navigation|title=BtrFS|category=BtrFS|sortkey={{SUBPAGENAME}}}}

Текущая версия от 15:50, 23 ноября 2023

BTRFS на ALT

Подтом (subvolume) не является блочным устройством, но в каждом томе btrfs создаётся один подтом верхнего уровня (subvolid=5), в этом подтоме могут создаваться другие подтома и снапшоты. Подтома (подразделы, subvolumes) создаются ниже вершины дерева btrfs по мере необходимости, например, для / и /home создаются подтома с именами @ и @home. Это означает, что для монтирования подтомов необходимы определенные параметры вместо корня системы btrfs по умолчанию:

  • подтом @ монтируется в / с помощью опции subvol=@
  • подтом @home (если он используется) монтируется с помощью параметра монтирования subvol=@home


Т.к. для Timeshift система должна быть установлена на раздел BTRFS с разбивкой на подразделы @ и @home, то в данной статье рассмотрен именно этот вариант.

В данной статье использовались дистрибутивы на основе десятой платформы.

Установка ALT на btrfs

В некоторых дистрибутивах ALT (Рабочая станция, Рабочая станция К, Сервер Виртуализации) btrfs доступен в инсталляторе.

Создание подтомов в инсталляторе

В дистрибутиве Рабочая станция К, начиная с версии 10.1 можно создать подтома (@ и @home) в инсталляторе.

В этом случае после установки системы не потребуется никаких действий по созданию подтомов.

Автоматический профиль разбиения диска

Если выбрать автоматический профиль разбиения диска «Установка рабочей станции (совместима с Timeshift)»:

Профиль разбиения диска «Установка рабочей станции (совместима с Timeshift)»

то при разбиении диска будут выделены отдельные разделы для подкачки и для корневой файловой системы (файловая система BtrFS). При этом будут созданы:

  • подтом @ с точкой монтирования в /;
  • подтом @home с точкой монтирования в /home.

Основной раздел (ФС BtrFS) с разбивкой на подразделы @ и @home

Ручной профиль

Создание подтомов @ и @home при выборе профиля разбиения диска «Вручную»:

  1. Создать раздел для корневой файловой системы. При указании файловой системы, выбрать BtrFS:
    Создание раздела с файловой системой BtrFS
    Не указывать точку монтирования, для этого в следующем окне нажать кнопку «Отменить»:
    Точка монтирования
  2. Создать два подтома (@ и @home):
    Нажать кнопку «Создать подтом»:
    Кнопка «Создать подтом»
    Указать имя подтома (@, @home) или путь до него (/@, /@home):
    Имя подтома
  3. Указать точки монтирования для каждого подтома:
    Нажать кнопку «Изменить точку монтирования»:
    Кнопка «Изменить точку монтирования»
    Указать точку монтирования:
    Указание точки монтирования для подтома @home

Результат:

Основной раздел (ФС BtrFS) с разбивкой на подразделы @ и @home

Ручной профиль

Если инсталлятор не поддерживает разбивку на подтома, то в этом случае при установке системы, на этапе «Подготовка диска» можно воспользоваться профилем разбиения вручную, создать swap и корень системы (файловая система BtrFS):

Разметка диска

Далее установить систему как обычно и после установки системы создать подтома (см. раздел Создание подтомов).

Преобразование Ext3/4 в Btrfs

Внимание! Убедитесь, что у вас есть рабочие резервные копии данных.


Внимание! Используйте btrfs-convert из btrfs-progs 5.15.1-alt1 и выше.


Если дистрибутив не позволяет выбрать файловую систему BtrFS на этапе установки, можно при установке системы выбрать файловую систему Ext2/3/4, а после завершения установки системы преобразовать файловую систему в BtrFS.

Загрузиться в LiveCD. Убедиться что корень системы установлен в /dev/sda2:

# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0    7:0    0  1,7G  1 loop /.ro
sda      8:0    0   48G  0 disk 
├─sda1   8:1    0 1023M  0 part 
└─sda2   8:2    0   47G  0 part 
sr0     11:0    1  4,9G  0 rom  /image

Проверить файловую систему на ошибки и выполнить конвертацию:

# fsck.ext4 /dev/sda2
e2fsck 1.46.2 (28-Feb-2021)
/dev/sda2: clean, 228869/3080192 files, 2106725/12320512 blocks

# btrfs-convert /dev/sda2
btrfs-convert from btrfs-progs v5.15.1 

Source filesystem:
  Type:           ext2
  Label:          
  Blocksize:      4096
  UUID:           94ce97d2-86c4-4f68-8130-98c360d094f2
Target filesystem:
  Label:          
  Blocksize:      4096
  Nodesize:       16384
  UUID:           94bbd745-0f41-4be1-becb-287f67df3f8e
  Checksum:       crc32c
  Features:       extref, skinny-metadata, no-holes (default)
    Data csum:    yes
    Inline data:  yes
    Copy xattr:   yes
Reported stats:
  Total space:     50464817152
  Free space:      40641953792 (80.54%)
  Inode count:         3080192
  Free inodes:         2851323
  Block count:        12320512
Create initial btrfs filesystem
Create ext2 image file
Create btrfs metadata
Copy inodes [O] [    223962/    228869]
Conversion complete

Смонтировать файловую систему и подготовить chroot:

# mount /dev/sda2 /mnt
# for i in dev sys proc run; do mount -o bind /$i /mnt/$i; done
# chroot /mnt/ /bin/bash

Просмотреть UUID файловой системы и скопировать его:

# blkid  | grep sda2
/dev/sda2: UUID="94bbd745-0f41-4be1-becb-287f67df3f8e" UUID_SUB="b6c759f5-1a11-4f51-b482-f366cc111d58" TYPE="btrfs"
Примечание: UUID файловой системы также отображается в выводе команды btrfs-convert.


Внести изменения в файл /etc/fstab: для корня системы изменить UUID, изменить тип файловой системы ext4→btrfs (исходная строка закомментирована):

#UUID=94ce97d2-86c4-4f68-8130-98c360d094f2      /       ext4    relatime        1       1
UUID=94bbd745-0f41-4be1-becb-287f67df3f8e      /       btrfs    relatime        1       1
Примечание: Возможно следует установить порядок проверки раздела при загрузке [последнее поле в строке] равным 0, так как Btrfs не выполняет проверку файловой системы при загрузке:
UUID=94bbd745-0f41-4be1-becb-287f67df3f8e      /       btrfs    relatime        1       0


Обновить GRUB:

# grub-install /dev/sda
Выполняется установка для платформы i386-pc.
Установка завершена. Ошибок нет.

# update-grub
Generating grub configuration file ...
Found theme: /boot/grub/themes/spworkstation/theme.txt
Found background image: /usr/share/plymouth/themes/spworkstation/grub.jpg
Found linux image: /boot/vmlinuz
Found initrd image: /boot/initrd.img
Found linux image: /boot/vmlinuz-std-def
skipping symlink: /boot/vmlinuz-std-def
Found linux image: /boot/vmlinuz-5.10.83-std-def-alt0.c9f.2
Found initrd image: /boot/initrd-5.10.83-std-def-alt0.c9f.2.img
done

Перегенерировать initrd, иначе система не загрузится. Для этого выполнить команду make-initrd с указанием версии ядра установленного по умолчанию:

# make-initrd --kernel=5.10.83-std-def-alt0.c9f.2
Примечание: Версию ядра можно увидеть в выводе команды update-grub или, выполнив команду:
# ls -1d /lib/modules/*
/lib/modules/5.10.83-std-def-alt0.c9f.2


Выйти из chroot, перезагрузиться.

Примечание: Если что-то пошло не так, всегда есть возможность отката, если резервный подтом ext2_saved не удалён. Для отмены изменений следует использовать команду btrfs-convert -r /dev/partition

.

Убедившись в отсутствии проблем, можно удалить подтом ext2_saved резервной копии:

# btrfs subvolume list  ./
ID 256 gen 3 top level 5 path ext2_saved

# btrfs subvolume delete /ext2_saved
Delete subvolume (no-commit): '//ext2_saved

Создание подтомов

Внимание! Дальнейшее описание представлено для legacy-режима.


Загрузиться в LiveCD.

Примонтировать систему в каталог /mnt/alt:

# mkdir /mnt/alt
# mount /dev/sda2 /mnt/alt/

Перейти в каталог /mnt/alt:

# cd /mnt/alt/

Создать подтома (@ и @home) в системе btrfs на разделе /dev/sda2, который смонтирован в /mnt/alt:

# btrfs subvolume create ./@
Create subvolume './@'
# btrfs subvolume create ./@home
Create subvolume './@home'

Убедиться, что подтома созданы верно (вывести список подтомов):

# btrfs subvolume list  ./
ID 256 gen 46 top level 5 path @
ID 257 gen 47 top level 5 path @home

Перенести каталоги с пользователями из каталога /home в /@home:

# mv  ./home/* ./@home/

Перенести остальные каталоги (кроме /@home и /home) в подтом @:

# mv ./boot ./@/
# mv  ./etc ./@/

и т.д. Каталог /home нужно не переносить, а скопировать в подтом @ (т.к. он будет точкой монтирования для подтома @home):

# cp -r  ./home ./@/

В каталоге /mnt/alt должно остаться три каталога:

# ls ./
@ home @home

Далее необходимо внести изменения в файл /etc/fstab и обновить загрузчик Grub. Для этого:

  1. Создать каталог /mnt/alt2
    # mkdir /mnt/alt2
    
  2. Проверить расположение системы и параметры монтирования:
    # mount |grep alt
    /dev/sda2 on /mnt/alt type btrfs (rw,relatime,space_cache=v2,subvolid=5,subvol=/)
    
  3. Примонтировать btrfs раздел с опцией subvol=@:
    # mount /dev/sda2 /mnt/alt2 -o subvol=@
    
  4. Примонтировать временные интерфейсные файловые системы в /mnt/alt2 (из хостовой системы в гостевую):
    # for i in dev sys proc run; do mount --bind -v /$i /mnt/alt2/$i; done
    mount: /dev bound on /mnt/alt2/dev.
    mount: /sys bound on /mnt/alt2/sys.
    mount: /proc bound on /mnt/alt2/proc.
    mount: /run bound on /mnt/alt2/run.
    
  5. Сделать chroot в /mnt/alt2:
    # chroot /mnt/alt2
    
  6. Внести изменения в /etc/fstab:
    UUID=9306bd96-eaee-41d9-a65d-6385c68357d2       /           btrfs   relatime,nofail,subvol=@        1       1
    UUID=9306bd96-eaee-41d9-a65d-6385c68357d2       /home       btrfs   relatime,nofail,subvol=@home        1       1
    UUID=14e23578-5cec-48cb-98e4-220e78138123       swap        swap    defaults
    
  7. Обновить загрузчик:
    # update-grub
    Generating grub configuration file ...
    Found theme: /boot/grub/themes/branding-xalt-kworkstation/theme.txt
    Found background image: /boot/grub/themes/branding-xalt-kworkstation/grub.png
    Found linux image: /boot/vmlinuz-un-def
    skipping symlink: /boot/vmlinuz-un-def
    Found linux image: /boot/vmlinuz
    Found initrd image: /boot/initrd.img
    Found linux image: /boot/vmlinuz-5.14.21-un-def-alt1
    Found initrd image: /boot/initrd-5.14.21-un-def-alt1.img
    Found memtest image: /boot/memtest-5.31b.bin
    done
    
  8. Установить загрузчик в /dev/sda (только обновления загрузчика недостаточно):
    # grub-install /dev/sda
    
  9. Выйти из chroot:
    # exit
    
  10. Перезагрузить систему.

Создание снимков

Снимки/snapshots удобно делать и использовать в программе с графическим интерфейсом Timeshift.

Ссылки

См. также Первая версия

https://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3