После недавнего обновления ubuntu до версии 9.04 мне захотелось окончательно избавиться от windows-атавизмов, таких как 2 ntsf раздела, и заодно полностью перевести ubuntu на ext4. Всё это вылилось в небольшое howto, которое я вам и предлагаю
Для начала займёмся разделами, содержащими / и /home.
Задача: перевести разделы с ext3 на ext4.
Как известно, ext4 имеет обратную совместимость с ext3, но если просто примонтировать ext3 раздел, как ext4, то уже имеющиеся на разделе файлы, не будут использовать новые вкусности ext4 такие, как экстенты и т.п.
Решение: скопировать содержимое / и /home на другой раздел, отформатировать разделы в ext4, перенести всё обратно, поправить fstab и grub.
Загружаемся с live-cd, который поддерживает ext4(ubuntu 9.04, gparted live-cd и т.п.).
Заходим под рутом.
sudo su
Монтируем наши разделы: / в /mnt/oldroot /home в /mnt/oldhome
третий раздел, на который будем временно переписывать данные в /mnt/disk
Делаем бекап / и /home
tar -ca /mnt/oldroot -v -f /mnt/disk/root.tar.gz
tar -ca /mnt/oldhome -v -f /mnt/disk/home.tar.gz
При помощи gparted создаём на месте бывших разделов / и /home новые, но уже ext4.
Монтируем их в обратно /mnt/oldroot и /mnt/oldhome соответственно.
Распаковываем наши архивы обратно.
tar -xvzf /mnt/disk/root.tar.gz -p
tar -xvzf /mnt/disk/home.tar.gz -p
Изменяем fstab.
gedit /mnt/oldroot/etc/fstab
Изменяем файловые системы с ext3 на ext4.
Затем обновим grub для правильной загрузки, если нумерация разделов была изменена.
update-grub
(работает только в ubuntu)
Вынимаем live-cd, перезагружаемся.
Теперь займёмся нашими ntfs разделами.
Задача: перевести разделы с ntfs на ext4.
Наши действия: временно перенести все данные куда либо и отформатировать разделы в ext4. Но тут может быть два варианта развития событий, с обоими мне пришлось столкнуться:
1)Данных немного, есть куда их перенести полностью.
2)Все данные перенести некуда, но есть свободное место на этом разделе.
Первый вариант обсуждать смысла нету — здесь всё просто. Копируете данные, старый раздел удаляете, создаёте новый, переносите данные обратно.
Второй вариант несколько замороченней, занимает уйму времени, но работает. Если никак нельзя от второго варианта перейти к первому, то указания к действиям такие:
Освобождаем максимум свободного места на нашем ntfs разделе, копируем максимум того, что влезает на остальные разделы, флешки.
Тщательно дефрагментируем наш ntfs раздел, для этого я использовал имевшуюся в наличии windows xp. (картинки кликабельны)
Затем используя gparted отрезаем кусок свободного места от ntfs раздела.
На получившемся свободном месте создаём новый раздел ext4.
Копируем с нашего ntfs раздела данные на свежеразмеченный ext4.
Опять дефагментируем, опять отрезаем освободившееся место.
Ресайзим Ext4.
Повторяем пункты до тех пор, пока ntfs раздел не исчезнет. Таким образом наш ntfs раздел плавно и неторопливо перетек в ext4.
Затем копируем на ext4 всё то, что удалось распихать по другим разделам с самого начала.
Радуемся полному переходу на ext4.
Было написано для Ubuntu 9.04, но так же можно использовать для любого дистрибутива linux(для других файловых систем), главное убедиться, что ваше ядро поддерживает ext4. Ну и наконец: всё делаете на свой страх и риск.
p.s. прокомментируйте пожалуйста целесообразность описанного метода миграции с ntfs на ext4, т.к. хотелось получить на уже имеющихся файлах такие фичи, как экстенты, поэтому не хотелось прибегать к помощи конвертеров.
_________
Текст подготовлен в ХабраРедакторе
я не говорю что переходить не надо. просто когда-нибудь эти недоработки покажут себя. поэтому моё мнение что ещё немного надо подождать. а вообще хорошо быть на переднем крае новых разработок.
Переносил данные с ntfs 1.5TB винта на такой-же ext4 — не поместилось около 50GB :(
Получается что ext3/ext4 теряют сколько-то полезного места на диске?
Попробовал отформатировать одинаковые 1TB диски: в xfs и ntfs остается примерно 931MB, а ext4 только 916MB, а при заполнении файлами — на ext свободное место уменьшается быстрее чем на ntfs/xfs.
Получается что ext3/ext4 теряют сколько-то полезного места на диске?
Попробовал отформатировать одинаковые 1TB диски: в xfs и ntfs остается примерно 931MB, а ext4 только 916MB, а при заполнении файлами — на ext свободное место уменьшается быстрее чем на ntfs/xfs.