LINUX.ORG.RU

Перенос home раздела на другой физический диск без потери данных

 ,


0

2

Сейчас система стоит на HDD 2 ТБ. Хочу поставить SSD на 128 ГБ. При этом раздел home оставить с HDD. Получается нужна следующая таблица разделов:

  1. /boot ext2 1 ГБ SSD
  2. / ext4 ~125 ГБ SSD
  3. swap 2 ГБ SSD
  4. /home ext4 2 ТБ HDD

При этом стоит задача не потерять данные, которые сейчас записаны на home разделе HDD. Дистрибутив Linux Mint. Как я понимаю, при установке системы все разделы будут отформатированы? Можно ли уже после установки подключить жесткий диск и выставить автомонтирование его в /home? Не возникнет ли проблем с домашним каталогом пользователя? Ведь при установки системы home раздел для пользователя конфигурируется системой. Надо его подменить так, чтобы ничего не сломалось

У тебя хомяк на хдд точно отдельным разделом? Если да, то все просто. Устанавливай систему на ссд. Что там за алгоритм разметки у Минта, когда есть существующий раздел, я не в курсе, поэтому для безопасности не переноси разделы в установщике, а поставь все как есть на ссд. А после установки в /etc/fstab поправь UUID хомяка на тот, что на хдд. Проверь только, что при установке на ссд хомяк получает отдельный раздел, иначе нужно будет не исправлять UUID, а добавлять новую запись с хомяком.

P.S. Если у тебя системы с efi, то должен быть отдельный esp раздел в fat32.

P.P.S. Выносить хомяк полностью на хдд не правильно в контексте производительности. В хомяке много маленьких конфигов, которые перед запуском читают от ДЕ до разного софта, вроде браузеров, редакторов и т.п. Поэтому лучше, чтобы они располагались на быстром диске - ссд. А большие файлы можно располагать на хдд, при этом озаботившись симлинками.

kardjoe
()
Последнее исправление: kardjoe (всего исправлений: 1)

Зачем переустанавливать, если можно просто перенести?

Зачем оставлять /home на HDD?

anonymous
()

Как я понимаю, при установке системы все разделы будут отформатированы?

Только если ты выберешь автоматическую рапзбивку диска, при ручной ты сможешь вопрос о форматировании решить для каждого раздела индивидуально.

А вообще можешь сделать так, отключи накопитель 2ТБ от компьютера(просто вынь из материнки sata кабель) и спокойно ставь на ssd, а потом подключи накопитель 2ТБ обратно и скопируй в /etc/fstab новой системы соответствующую строку(и) из /etc/fstab старой системы.

Если позвонишь мне на указанный в моём профиле телефон то я тебе расскажу как просто перенести старую систему на новый диск.

torvn77 ★★★★★
()
Ответ на: комментарий от torvn77

Да, тут можно и перенести. Проще наверное с флешки это сделать... Несколько команд на копирование или перенос файлов и один chroot для установки загрузчика с новой конфигурацией.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

И для чего /boot на ext2 отдельный? У тебя же нет LVM, да и в таком случае лучше ext4.

Vsevolod-linuxoid ★★★★★
()

Покажи текущую разметку.

sudo fdisk -l
df -hT
lsblk

И я считаю, что отдельный /boot не нужен, да и / у тебя великоват.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Несколько команд на копирование или перенос файлов и один chroot для установки загрузчика с новой конфигурацией.

Это неправильный методо переноса, сначало надо gparted уменьшить размеры всех переносимых разделов, потом разбить диск на которыйц будет перенос, перенести разделы с помощью dd и увеличить до полного занятия отведённого при разбивке места.

Ну или при переносе на равный или больший диск можно просто перенести образ диска целиком начиная с нулевого сектора, но тогда будет переписана не только информация, но и весь мусор из свободных секторов.

torvn77 ★★★★★
()
Ответ на: комментарий от torvn77

Зачем оперировать уровнем блочных устройств, если можно использовать файлы, что проще и быстрее? Атрибуты и права сохранятся при правильном копировании.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

А я например не знаю как делать правильное копирование, и ТС не знает как делать правильное копирование, и ты можешь думать что знаешь как делать правильное копирование, но на самом деле делать ошибки, так что проще блоки перенести.

Атрибуты и права

Ты забыл хардлинки, симлинки, специальные файлы к которым недавно добавились субтома(btrfs exmpl).

А ещё есть малоиспользуемые атрибуты о которые админятся непойми как и чем.

torvn77 ★★★★★
()

Можно ли уже после установки подключить жесткий диск и выставить автомонтирование его в /home?

Так всегда и делаю. Только все скрытые папки удаляю (.config, .cache).

https://help.ubuntu.com/community/Partitioning/Home/Moving

fornlr ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

/ ext4 ~125 ГБ SSD

не жирно ли?

В 2021 году — нет. У меня 46 ГБ занято. С учётом, что забивать разделы под завязку так себе идея — тем более.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 2)
Ответ на: комментарий от fornlr

/ ext4 ~125 ГБ SSD

не жирно ли?

В 2022 году — нет.

Нет жирно, исключение составляютс системы разбитые не на основе разделов, а на основе субтомов в которых субтома берут себе блоки накопителя по мере необходимости.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)

/boot ext2 1 ГБ SSD

Под /boot один гиг много, у меня например всего 70 метров

[code] /boot$ du -sh 70M . [/code] ps тег code не работает…

simd0264
()
Последнее исправление: simd0264 (всего исправлений: 1)

Конкретно по вопросу: просто скопировать. Можно из графического файлового менеджера, но если вас не устраивает 0,00001% шанс упустить какую нибудь мелочь, то остановить графический сеанс и сделать всё из конслои. Можно сделать сложнее и избыточно надёжней: запаковать домашнюю папку в .tar.gz и распаковать на новом диске.

Главное убедиться, что новая домашняя папка принадлежит тому же пользователю и что копирует тот же пользователь, от рута не желательно.

По разумности разметки: она неразумна. Зачем 100+ гигов на корне? Я всё понимаю, федора с убунтой, флатпаки, снапы, npm, жирногном и жирнокеды, электрон и прочее, но не на 100 гигов же! 20, максимум 40 под софт, остальное /home прямо на ssd. Тяжёлые папки выносятся на hdd симлинками или просто лежат на другом диске.

kirill_rrr ★★★★★
()
Ответ на: комментарий от torvn77

Ты кроме системы ничего не установил что ли? А то у меня куча пакетов + различные серьёзные инструменты, вроде DaVinci Resolve.

LikeABoss
()
Ответ на: комментарий от kirill_rrr

Мне на лоре советовали fsarchiver для копирования разделов. Работает на уровне файлов, переносит атрибуты (не все, например запреты chattr +i сбрасываются). Работает даже с шиндой. И, конечно, есть еще clonezilla, но я еще не пробовал.

anonymous
()
Ответ на: комментарий от kirill_rrr

Главное убедиться, что новая домашняя папка принадлежит тому же пользователю и что копирует тот же пользователь

А если не принадлежит, как это исправить? У меня пишет владелец 500.

anonymous
()
Ответ на: комментарий от LikeABoss

Ты кроме системы ничего не установил что ли? А то у меня куча пакетов + различные серьёзные инструменты, вроде DaVinci Resolve.

В принципе да, но с другой стороны что мешает директорию /opt разместить на отдельном накопителе?
(Ну это если эти инструменты весят нерально много гигабайт)

torvn77 ★★★★★
()
Ответ на: комментарий от simd0264

Совсем не много. На Debian, Ubuntu и их производных с конфигурацией по умолчанию, если /boot отдельно, то лучше не делать его меньше 500 Мб.

anonymous
()
Ответ на: комментарий от anonymous

Если не владелец, то chown -R user:user /media/новый_home/новый_user

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

Нет смысла хранить все обновления ядра с начала времён. Да, их чистить приходится руками.

Как-то не очень. Ubuntu сама удаляет, оставляя двое последних ядер.

Зачем 100+ гигов на корне? Я всё понимаю, федора с убунтой, флатпаки, снапы, npm, жирногном и жирнокеды, электрон и прочее, но не на 100 гигов же!

Ну вот всё понимаешь, а какую-то ерунду пишешь. Да - 100 гигов.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 2)
Ответ на: комментарий от torvn77

А я например не знаю как делать правильное копирование

Нет там «черной магии», особенно на хомяке. И вообще - в подавляющем большинстве случаев обычный tar спасёт отца русской демократии.

bugfixer ★★★★★
()
Последнее исправление: bugfixer (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

Я долго был самоубеждён, что 20 ГиБ хватит всем, но сейчас нервно жру этот кактус. А сейчас дошло до того, что не могу установить новые программы потому что некуда.

Куплю ещё один ssd, перенесу на него /home, а на его место расширю корень. Достали костыли с символическими ссылками и mount --bind.

Slavik763
()
Последнее исправление: Slavik763 (всего исправлений: 1)
Ответ на: комментарий от fornlr

Да не, 100 гигов всё равно дичь какая то. Лет через 10 возможно, но не сейчас.

А если убунту сама чистит ядра, то 20М на граб, по самым нескромным запросам с большим запасом и 2, пусть 4 ядра по 10М, ну округлим 60 до 100М и 100% запаса сверху, ну никак не 500М и не гиг.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)

Значительного выигрыша от переноса только root на SSD вы не получите, т.к. программы будут читать и писать в файлы в home, что используется значительно большую часть времени, по сравнению с простым чтением программ с root, которое происходит преимущественно только при запуске программ.

Склонировать диск можно CloneZilla.

ValdikSS ★★★★★
()
Ответ на: комментарий от fornlr

Оверхеда многовато. 46/64 ещё понятно, 46/120 уже нет. В конце концов /home вполне можно сдуть и уместить в 20 гигов, это легко разместится на 120Г ssd и даст приличный пинок производительности браузерам и ДЕ вообще. Вот и непонятно, зачем упорно не пользоваться бесплатной возможностью.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 2)
Ответ на: комментарий от kirill_rrr

А ты пост читал?

Ну допустим раздел будет 64 ГБ. И будем петрушиться и следить за местом.

И получим ещё оставшийся 64 ГБ место на физ диске.

В конце концов /home вполне можно сдуть и уместить в 20 гигов

Ну и на оно всё надо? — не надо.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от fornlr

Допустим /home и / останутся на 1 разделе ext4 с лимитом выделения под рута не 5% а 10-15%, что исключит внезапное переполнение системными логами. А уж повесить коньки с индикатором диска это жалкие 20М оперативки и 5 минут.

И разумеется это всё надо, браузер постоянно лезет в свои базы и кеш и фризит на hdd. Лучше приглядывать иногда за диском и не кидать десятки гигов прямо в хомяк чем постоянно фризить и шуршать.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

А уж повесить коньки с индикатором диска это жалкие 20М оперативки и 5 минут.

Вот делать нечего за этим следить.

fornlr ★★★★★
()
Ответ на: комментарий от kirill_rrr

Какой-то туповатый максимализм. Пять назад ОС поставил и в первый раз вот с этим тредом посмотрел на использование места.

Естественно с твоими мерками так не выйдет.

fornlr ★★★★★
()

Моя разметка если что.

root@raspberrypi:/home/rrr# mount /boot/
root@raspberrypi:/home/rrr# df -h
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
/dev/root          8,0G         6,5G  1,5G           83% /
devtmpfs           467M            0  467M            0% /dev
tmpfs              472M          36M  436M            8% /dev/shm
tmpfs              472M         864K  471M            1% /run
tmpfs              5,0M         4,0K  5,0M            1% /run/lock
tmpfs              472M            0  472M            0% /sys/fs/cgroup
tmpfs               32G         1,2G   31G            4% /tmp
/dev/mmcblk0p4      44G          28G   16G           65% /home
/dev/sdc           916G         612G  305G           67% /media/data
/dev/sdb           916G         915G  1,4G          100% /media/data2
/dev/sdd           916G         635G  282G           70% /media/data3
tmpfs               95M            0   95M            0% /run/user/0
tmpfs               95M          24K   95M            1% /run/user/1000
/dev/mmcblk0p1      63M          20M   44M           32% /boot
root@raspberrypi:/home/rrr# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 111,8G  0 disk [SWAP]
sdb           8:16   0 931,5G  0 disk /media/data2
sdc           8:32   0 931,5G  0 disk /media/data
sdd           8:48   0 931,5G  0 disk /media/data3
zram0       254:0    0   200M  0 disk [SWAP]
zram1       254:1    0   200M  0 disk [SWAP]
mmcblk0     179:0    0  59,6G  0 disk 
├─mmcblk0p1 179:1    0    64M  0 part /boot
├─mmcblk0p2 179:2    0   8,1G  0 part 
├─mmcblk0p3 179:3    0   8,1G  0 part /
└─mmcblk0p4 179:4    0  43,4G  0 part /home
kirill_rrr ★★★★★
()
Ответ на: комментарий от fornlr

У меня есть перед глазами отличный пример, как не надо делать - мои родители. Они вообще не следят ни за местом, ни за тем где у них что лежит. Был терабайт - был занят терабайт. Сейчас 2 диска на ~400 гигов (тот накрылся), один хрен занято 95%. И дубли, дубли, дубли… А папку загрузок вообще чищу только я раз в полгода, выгдебаю оттуда по паре тысяч непонятно чего.

kirill_rrr ★★★★★
()
Ответ на: комментарий от anonymous

туповатый максимализм

это скорее «надо бы поставить себе такой диск, чтобы в следующие 5 лет вообще не смотреть сколько там занято». Вот только не прокатит, у меня 100 гигов трафика в месяц, я такой диск себе не потяну.

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

Опять какие-то глупости…

Вот взял и нужный софт поставил. Без излишек типа «сейчас я буду ставить всё из реп!» — 46 ГБ.

20, максимум 40 под софт

Даже в твою максимальную мерку не лезет.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)

Clonezilla скопируй на внешний диск а потом уже ... Там все просто как трусы за рупь 20.

Bootmen ☆☆☆
()
Последнее исправление: Bootmen (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

А если в нем еще жирные /var/ и /opt/ на десятки Гб каждый?

damix9 ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.