Как перенести папку home на другой диск?
Сейчас появился второй жесткий диск, как правильно на него перенести папку /home чтоб не какие программы не поломались?
- Вопрос задан более трёх лет назад
- 28979 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 2

пусть /dev/sda1 это ваш старый диск и раздел
а /dev/sdb1 — новый, отформатированный раздел, куда вы хотите перенести /home
mkdir /mnt/newhome && mount /dev/sdb1 /mnt/newhome rsync -a /home /mnt/newhome
Проверяете все ли нормально перенеслось.
редактируете /etc/fstab
там ищете старый хоум, или если его нет вписываете что-то вроде
/dev/sdb1 /home ext4 defaults 0 1
Нужно чтоб адреса и тип ФС были правильными.
После чего
mount -a
Ответ написан более трёх лет назад
Нравится 9 5 комментариев

. , @kotov666 Автор вопроса
Вот так у меня fstab выглядит:
# /etc/fstab: static file system information.
#
# Use ‘blkid’ to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#
# / was on /dev/sda3 during installation
UUID=3a7d9cb3-80a0-40dd-bd8f-1193c86e9b26 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=49E7-3A3F /boot/efi vfat umask=0077 0 1
# swap was on /dev/sdb3 during installation
UUID=26bce490-9995-4577-b6bb-8a78f38b1ab8 none swap sw 0 0
Тут еще UUID прописаны

Денис Котов: можно указать устройство через UUID, можно через адрес в /dev
UUID более надежно и точно указывает устройство, но если не перетыкать туда сюда диски адрес в /dev не изменится.
Как переместить домашнюю папку в linux
Next: Удаление файлов и каталогов Up: Работа с файлами Previous: Копирование файлов и каталогов Contents Index
Чтобы переместить файл в другое место или изменить его имя, используйте команду mv («move»). Она принимает два аргумента: имя файла или каталога для перемещения, а затем имя пути для перемещения. Если Вы перемещаете файл в каталог, в котором уже есть файл с таким именем, то он будет перезаписан.
Чтобы переместить файл `notes’ из текущего рабочего каталога в каталог `../play’, наберите:
$ mv notes ../play [Enter]
Если в родительском каталоге текущего каталога нет подкаталога `play’, эта команда переместит файл `notes’ в родительский каталог и переименует его в `play’.
Чтобы переместить файл или каталог, который не находится в текущем каталоге, укажите в качестве аргумента его полное имя и путь.
Чтобы переместить файл `/usr/tmp/notes’ в текущий рабочий каталог, введите:
$ mv /usr/tmp/notes . [Enter]
Чтобы переместить каталог, укажите путь к каталогу, который нужно переместить и путь к каталогу-приемнику.
Чтобы переместить каталог `work’ из текущего рабочего каталога в каталог `play’, введите:
$ mv work play [Enter]
Если каталог `play’ уже существует, mv поместит `work’ внутрь `play’ — эта команда не перезаписывает каталоги.
Переименование файла — это то же самое, что и его перемещение; просто укажите в качестве аргументов файл для переименования и его новое имя.
Чтобы переименовать файл `notes’ в `notes.old’, введите:
$ mv notes notes.old [Enter]
Alex Otwagin 2002-12-16
K210.ORG
после прочтения статьи об оптимальной разметке диска http://ubuntologia.ru/partitioning-recommendations, решил вынести /home на отдельный диск. Немного погуглив, напоролся на 2 статьи http://www.ubuntu4life.com/node/30 и http://www.psychocats.net/ubuntu/separatehome, которые были взяты мной за основу. Ниже, непосредственно, описан мой личный опыт, поэтому что то может не совпадать с исходными статьями. И так начнем:
Каким образом выделить диск и отформатировать в нужную вам файловую систему я пропущу, об этом есть статья на убунтологии http://ubuntologia.ru/prepare-computer.
Диск создан. Теперь создадим папку, в которую будем копировать наши файлы и примонтируем туда наш новосозданный диск. Для себя я выбрал ext3, а вы выбирайте на свой вкус. Соответственно, если вы выберете ext4 или что либо другое, то, необходимо будет внести соответствующие правки в команду.
$sudo mkdir /mnt/newhome
$sudo mount -t ext3 /dev/sda4 /mnt/newhome
ВНИМАНИЕ, у вас диск (sda4) может иметь другое название .
Перейдем в нашу домашнюю директорию и скопируем все содержимое
$cd /home/
$find . -depth -print0 | sudo cpio —null —sparse -pvd /mnt/newhome/
Обязательно убедитесь, что все скопировано правильно.
Теперь размонтируем диск
$sudo umount /mnt/newhome
Создадим бэкап, путем переноса всего содержимого.
$sudo mv /home /old_home
И так как папка перенеслась, создадим папку home по новой.
$sudo mkdir /home
Монтируем новый home
$sudo mount /dev/sda4 /home
Не забываем изменить sda4, согласно своего диска
Проверяем, все ли в порядке с нашим новым home
Теперь укажем, системе на новый /home
Открываем файл fstab вашим любимым тестовым редактором (в моем случае gedit).
sudo gedit /etc/fstab
И добавляем в конец эту строчку (не забываем заменить sda4 на свой)
/dev/sda4 /home ext3 nodev,nosuid 0 2
Сохраняем и выходим.
Перед перезагрузкой убедитесь, что ваш новый /home примонтирован и работает.
Теперь самое время поговорить о подводных камнях.
После перезагрузки, вы столкнетесь с проблемой, права доступа будут нарушены. Ниже решение данной проблемы.
При загрузке системы, выбираем recovery mode, как на картинке
Затем
После чего вводим следующее
chown -R username:username /home/username
chmod 644 /home/username/.dmrc
chmod 644 /home/username/.ICEauthority
exit
Вместо username вводим свое имя пользователя
Последний шаг данной процедуры
Вот результат моих действий
Если все грузится нормально, и вы довольны результатом делаем последний рывок, а именно удаляем наш бэкап (но если не хотите, можете оставить все как есть)
sudo rm -rf /old_home
Все.
Еще раз обращаю внимание на то, что здесь полностью описан проделанный мною процесс. Я не испробовал на себе функцию восстановления бэкапа, который описан в конце статьи из второй ссылки.
Перенос папки /home с отдельного раздела назад в корневую папку
Спросите зачем?На харде два раздела,на одном Linux OpenSuse 12.3,а на втором домашняя папка,но я хочу установить на второй Windows,но не хотелось бы терять данные и иметь две рабочие оси Везде пишут,как перенести на отдельный раздел домашнюю папку,но еще пока не встречал ни одной статье, объясняющей,как именно можно перенести обратно в корневой раздел Вся надежда на форумчан,ноутбук не мой. Буду очень благодарен тем,кто последовательно выложит все необходимые команды для терминала,Именно команды,ибо из фразы «нужно размонтировать и заново смонтировать» я не извлеку ничего полезного Заранее спасибо:3 И если оффтоп тоже извините
TheGoshka
10.07.16 14:13:38 MSK
Буду очень благодарен тем,кто последовательно выложит все необходимые команды для терминала
Для начала покажи вывод команд
lsblk lvdisplay pvdisplay vgdisplay
anonymous
( 10.07.16 14:15:58 MSK )
mkdir -p /heroin
mv /home/* /heroin
mv /heroin /home
Reedych ★☆
( 10.07.16 14:21:43 MSK )
Ответ на: комментарий от anonymous 10.07.16 14:15:58 MSK
TheGoshka
( 10.07.16 14:31:13 MSK ) автор топика
Ответ на: комментарий от Reedych 10.07.16 14:21:43 MSK

Ненене. Надо уточнить, что делать такое надо зайдя из под рута (лучше консоль, но можно и в графику) или с загрузочного диска. Наживую переносить — не самая лучшая.
То есть, инструкция ТС. Заходишь тем или иным способом как root — в менеджере входа, либо с виртуальной консоли — потыкать Alt+Ctrl+F1..F12 и где будет консоль, ввести root и пароль. Из основного при этом надо выйти, а лучше перезагрузиться и зайти только в root.
Только после этого можно делать
После этого создаём где-нибудь в / директорию
cd / mkdir tmpdir/
Дальше копируем содержимое /home в неё
cp -R /home/* /tmpdir
Потом — размонтируем /home
umount /home
Затем перемещаем нашу содержимое нашей временной папки
mv /tmpdir/* /home
Дальше — открываем файл /etc/fstab. Лучше всего это сделать через редактор nano
nano /etc/fstab
Помощь по использованию будет на экране. Находим там все строки, где упоминается /home и закомментировываем (ставим в начало строки символ #) их. Это нужно, чтобы после перезагрузки система не пыталась примонтировать туда старый раздел с /home.
Ну, потом можно удалить директорию /tmpdir
rmdir /tmpdir
Если ругается — значит в директории что-то ещё осталось, идём сюда выяснять причину. Ну и всё, перезагрузка. Если всё работает, кидаем сюда на всякий случай вывод (лучше всё же скопировать, а не картинкой) команды
cat /proc/mounts
Если всё прошло хорошо, с освободившимся разделом можно делать, что душе угодно — например, форматировать и ставить туда Windows.
Все вопросы сюда 🙂
Falcon-peregrinus ★★★★★
( 10.07.16 14:45:16 MSK )
Последнее исправление: Falcon-peregrinus 10.07.16 14:46:54 MSK (всего исправлений: 2)
Ответ на: комментарий от Falcon-peregrinus 10.07.16 14:45:16 MSK
Спасибо за поправку
Reedych ★☆
( 10.07.16 14:51:11 MSK )
Ответ на: комментарий от TheGoshka 10.07.16 14:31:13 MSK

А просто скопировать из терминала или перенаправить в файл не вариант?
rezedent12 ☆☆☆
( 10.07.16 16:42:54 MSK )
Ответ на: комментарий от Falcon-peregrinus 10.07.16 14:45:16 MSK
Огромное спасибо за помощь))) Только возник вопрос по установке винды Полазив на разным форумам,я обнаружил,что некоторые люди предупреждают меня о том,что установщик винды грубо стирает grub,после чего пропадает Linux Что нужно сдлеать,чтобы такой ситуации не возникло у меня.Очень важно,ибо ноутбук рабочий,поэтому у меня на все есть только одна попытка)
TheGoshka
( 10.07.16 17:20:17 MSK ) автор топика
Ответ на: комментарий от TheGoshka 10.07.16 17:20:17 MSK

Линукс не пропадает, просто затирается загрузчик, ответственный за передачу управления системе. Избежать этого никак нельзя — виндовый загрузчик ничего не знает (и не хочет знать) про Linux. А вот линуховый GRUB как раз отлично видит Windows. Так что нужно перед установкой винды записать себе куда-нибудь загрузочный диск (Live-CD) или то же самое на флешку (Live-USB) и после установки Windows восстановить GRUB. Это сделать легко, инструкций по всему интернету много. Из под винды порекомендовал бы использовать для этой цели Rufus.
Если использовать Ubuntu в качестве загрузочного диска, то вот инструкция — http://help.ubuntu.ru/wiki/boot_repair . Сам не проверял, но должно работать и достаточно подробная.
Falcon-peregrinus ★★★★★
( 10.07.16 17:33:54 MSK )
Последнее исправление: Falcon-peregrinus 10.07.16 17:34:42 MSK (всего исправлений: 1)