Как я могу преобразовать раздел ext4 в btrfs (или другие файловые системы) без потери данных?

16

Я хочу преобразовать мой текущий /homeраздел в BTRFS (или другие файловые системы) без потери данных, если это возможно, какие шаги я должен предпринять для этого? это безопасно?

Ури Эррера
источник

Ответы:

18

Если вы устанавливаете btrfs-toolsс помощью sudo apt-get install btrfs-tools, то btrfs-convertкоманда становится доступной для вас.

Сначала запустите fsck:

sudo fsck.ext3 -f /dev/xxx

Тогда конвертируй!

sudo btrfs-convert /dev/xxx

Чтобы Rollabck, запустите:

sudo btrfs-convert -r /dev/xxx

Чтобы очистить немного места и сделать преобразование постоянным, удалите /ext2_saved/imageраздел.

Конечно, несмотря на то, что это относительно безопасная процедура, поскольку необходимо переместить только 1 МБ, а исходная версия Ext2 / 3/4 FS доступна в виде изображения, вам решать, делать ли резервную копию. Как и в случае любых операций с файловой системой, существует риск потери данных.

Ваши данные остаются на месте, как и ваши метаданные Ext4. Однако первый 1 МБ перемещается, и в свободном пространстве Ext4 создается серия метаданных BTRFS.

Частичная ссылка: https://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3

Восстановить Монику - ζ--
источник
Допустим, у вас есть диск объемом 1 ТБ с разделом ExtT объемом 1 ТБ, и он используется на 80%. Можете ли вы преобразовать это так? Вы говорите, что большинство данных перемещаются только, поэтому я предполагаю, что вы можете конвертировать почти полные разделы. Просто хочу быть уверен.
bzero
@bzero Да, если на диске есть как минимум 1 МБ свободного места.
Восстановить Монику - Nov--
2
Возможно, для этого потребуется еще один отдельный вопрос, но я не вижу в вашем ответе какой-либо модификации fstab или grub. Будет ли успешной следующая загрузка, если я использую только btrfs-convert?
Ксавье Т.
@XavierT. Я лично не знаю этого. Из новой версии исходного кода видно, что fstab нужно будет изменить, и при загрузке будет действительный драйвер FS.
Восстановить Монику - Jan--
4
@XavierT. Вы должны отредактировать, fstabесли в нем явно упоминается ext2 / 3/4 (просто измените его на autoили btrfs) или если он содержит специфичные для ext опции монтирования (необходимо оценивать в каждом конкретном случае, откройте вопрос и опубликуйте свой fstab ) или, если строка не заканчивается 0 0(измените на 0 0). GRUB не нуждается в изменении, потому что он имеет дело только с рутом, а не с домом. Выполнить btrfs-convert без fsck - это все равно, что отправиться на автомобильную гонку без предварительной проверки вашего автомобиля механиком - вы можете сделать это и добиться успеха, но это просто глупо, если у вас нет веских причин.
ignis