*nix / Как конвертировать Debian Wheezy (или более новую) систему в btrfs

в 15:52, , рубрики: btrfs, Debian, метки: ,

Новый GRUB может обрабатывать /boot раздел в формате btrfs, так что теперь не нужно иметь отдельный раздел отформатированный в ext2/3/4.

Далее предполагаем, что вся ваша файловая система представлена одной партицией. Если же у вас под каждый раздел /usr/, /var и т.д. создана отдельная партиция то модифицируйте их по отдельности, согласно приведённой ниже инструкции.

Итак, приступим…

1. Сделайте бэкап раздела. Никто не несёт ответственности за возможную утерю данных кроме вас самих!
2. Скачайте и запишите на CD или флешке Debian Wheezy (или более новый).
3. Загрузитесь с созданного загрузочного образа.
4. fsck -f /dev/sdaX (где /dev/sdaX это root-партиция)
5. Проверьте доступен ли ваш любимый текстовый редактор (vim, ed, mine и т.д.) и btrfs-tools, если нет то установите их.
6. btrfs-convert /dev/sdX
7. mount /dev/sdX /mnt
8. Подмонтируйте в /mnt разделы /proc, /dev, /sys:
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
mount -o bind /proc /mnt/proc
9. chroot /mnt
10. Отредактируйте /etc/fstab, найдите строку для root-раздела (/) и смените UUID на прямое описание /dev/sdX, смените тип файловой системы с ext3/ext4 на btrfs, уберите «лишние» опции оставив просто defaults, замените последнюю цифру 1 на 0.
11. ls -la /boot
Вы должны увидеть файл вроде: initrd.img-3.1.0-1-686-pae.
Строка после 'initrd.img-' это версия ядра которую необходимо использовать далее.
12. mkinitramfs 3.1.0-1-686-pae -o /boot/initrd.img-3.1.0-1-686-pae
13. grub-install /dev/sdX
14. update-grub
15. exit (выходим из chroot окружения)
16. Размонтируем в /mnt разделы /proc, /dev, /sys и сам /mnt:
umount /mnt/proc
umount /mnt/dev
umount /mnt/sys
umount /mnt
17. Перегружаемся и молимся.
18. Через некоторое время система должна загрузиться, вводим 'mount' и убеждаемся, что она работает на btrfs.
19. Выполните:
update-initramfs -u -t -kall

Если всё прошло успешно то можно смело удалять бэкап /ext2_saved который был создан в процессе преобразования файловой системы. Делаем это так:
btrfs subvolume delete /ext2_saved

ps: Вольный перевод статьи.

Автор: oldengremlin

Поделиться

* - обязательные к заполнению поля