Форум русскоязычного сообщества Ubuntu


Автор Тема: перенос системы в другой раздел  (Прочитано 2858 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн antonsky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
перенос системы в другой раздел
« : 18 Август 2016, 14:13:02 »
Доброго времени суток, уважаемые форумчане Убунтоведы!

Такая вот у меня ситуация:
Была винда ХП, решил поиграться с Ubuntu 14.04 (точнее LUbuntu 14.04).
Разделил диск 160Гб на 2 части - 80 под вындовс оставил, а на доп.разделе установил Ubuntu.
Долго устанавливал и настраивал всякие сервера, которые собираюсь использовать (за что, кстати, огромное спасибо данному форуму - много полезного я тут нашел). Почти все настроил, что хотел (кроме Самбы, но не о ней пока речь). И так мне Ubuntu понравилась, что я решил полностью перенести все на нее.

Так вот вопрос:
Каким образом можно без потери всех настроек и вообще работоспособности системы перенести все на основной раздел диска? Сейчас конфиг дисков такой:
/dev/sda1: LABEL="SYSTEM" UUID="" TYPE="ntfs"
/dev/sda5: UUID="" TYPE="swap"
/dev/sda6: UUID="" TYPE="ext4"
/dev/sdb1: LABEL="public_data" UUID="" TYPE="ext4"
Хочу сделать так, чтоб на SDA1 - переехала вся система с раздела SDA6
А папка "/home" была в разделе SDB1, но это уже будет второй частью переезда.

Приветствуются ссылки на свежие умные статьи, написанные простым языком  :) (а то, например, ссылка из темы https://forum.ubuntu.ru/index.php?topic=137654.0 на сайт Убунтология - уже не работает, а простого объяснения в других статьях я не нашел).

Переустановка системы "с нуля" в ту конфигурацию, какая мне нужна - не вариант, я слишком долго настраивал каждый компонент "под себя".

Всем заранее спасибо!
P.S. Сильно не пинайте.

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 1522
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #1 : 18 Август 2016, 19:00:57 »
Цитировать
...чтоб на SDA1 - переехала вся система с раздела SDA6
1. Загружаешься с liveUSB.
2. Запускаешь Gparted, форматируешь sda1 в ext4.
3. Копируешь все с раздела sda6 на sda1.
4. В файл /boot/grub/grub.cfg прописываешь ссылку для запуска системы с раздела sda1, например так:
  menuentry "Linux [on SYSTEM]" --class ubuntu --class gnu-linux --class gnu --class os {
    src="SYSTEM"
    key="root=LABEL=$src fastboot noresume nosplash quiet --"
    savedefault
    insmod part_msdos
    insmod ext2
    insmod gzio
    set root='hd0,msdos1'
    search -l ${src} -n -s
    linux /vmlinuz ${key}
    initrd /initrd.img
  }
5. Отредактировать файл /etc/fstab
LABEL=SYSTEM / ext4 relatime,commit=100,barrier=0,errors=remount-ro 0 1
6. Перезагружаемся.
Некоторые пояснения.
Я предположил, что метка раздела sda1 "SYSTEM". В файле fstab корень монтируется по метке тома - если хотите сделать по UUID, нужно внести соответствующие изменения.
Ссылка для Grub ищет раздел с меткой "SYSTEM" и если находит - загружает систему с этого раздела.
Мы никоим образом не затронули систему на разделе sda6 - она по прежнему должна загружаться и работать.
Я не сторонник того, чтобы размещать /home на отдельном разделе. На отдельный раздел выношу только данные пользователя: например каталоги Documents, Downloads, Videos.
А из профиля пользователя делаю на них символические ссылки.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 1801
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #2 : 18 Август 2016, 20:22:33 »
Это неправильный вариант. Действительно, надо отформатировать раздел в ext4, примонтировать его,
скопировать на него систему, при этом каталоги sys, dev и proc надо не копировать, а просто создать.
Затем сделать chroot в точку монтирования и переустановить Grub командой grub-install.
Перед командой chroot надо войти в точку монтирования и ввести три команды:
mount --bind /sys sys
mount --bind /proc proc
mount --bind /dev dev
а команда chroot должна быть просто
chroot mount_pointПосле переустановки Grub и редактирования /etc/fstab я выдаю команды
umount /dev
umount /proc
umount /sys
exit
а затем перезагрузиться.
Пётр.

Оффлайн antonsky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #3 : 18 Август 2016, 20:28:32 »
Спасибо большое!
Начал перенос.
Копирую файлы командой "sudo cp -a /* /media/lubuntu/<здесь UUID нового раздела>"
Копирует, но выдает много ошибок вида "Отказано в доступе" для файлов типа:
/proc/sys/net/ipv4/route/flush
/proc/sys/net/ipv6/conf/all/stable_secret
и других.
Это нормально? Без этих файлов работать будет?

Вот. Пока писал ответ - уважаемый Петр добавил свой вариант.
И прояснилось на счет ошибки доступа.
Спасибо огромное и Вам, уважаемый andytux, и Вам, уважаемый Петр.
Продолжаем перенос системы.

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 1522
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #4 : 19 Август 2016, 04:40:03 »
Цитировать
...каталоги sys, dev и proc надо не копировать, а просто создать.
Насчет sys и proc - согласен с Peter_I, здесь мое упущение. А dev я копировал.
Peter_I предлагает сразу переустановить Grub.  В этом плане мой вариант "более щадащий", он не затрагивает старую систему. Если все пройдет гладко Grub можно переустановить в любое время.


Пользователь добавил сообщение 19 Август 2016, 07:06:18:
Цитировать
Копирую файлы командой "sudo cp -a /* /media/lubuntu/<здесь UUID нового раздела>"
antonsky, вы копируете работающую систему - очень плохая идея.
В работающей системе постоянно меняются файлы, много временных и динамически создающихся.
Например, в неработающей системе каталоги proc, sys, run - пустые.
Я же первым пунктом указал - загрузиться с liveUSB.
Цитировать
/media/lubuntu/<здесь UUID нового раздела>
Если разделу присвоена метка тома то: /media/lubuntu/<здесь метка тома>
« Последнее редактирование: 19 Август 2016, 07:06:18 от andytux »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 1801
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #5 : 19 Август 2016, 08:59:38 »
Копировать командой cp не страшно, вот dd к запущенной системе применять нельзя.
И я тоже забыл сказать, что надо создать каталоги tmp, run, opt, если его нет.
Редактировать /boot/grub/grub.cfg тоже не следует. В данном случае надо именно
переустановить Grub, т.к. появился новый раздел с системой, а старый будет ликвидирован.
Пётр.

Оффлайн antonsky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #6 : 19 Август 2016, 12:48:24 »
Всем большое спасибо за помощь!

Я начал копирование системы, предварительно загрузившись с LiveCD, поэтому нельзя сказать, что я копирую работающую систему.

А скажите, пожалуйста, какие варианты копирования еще могут быть, кроме "sudo cp -a"?
Есть такая штука, как RSync и она даже на LiveCD есть. Как можно 1ой командой скопировать все, но при этом отключить такие каталоги, как /dev, /proc и иже с ним, которые не нужно копировать?
В cp я такого аргумента не увидал.
Просто комп дома, и я на ночь запустил копирование, а он завис почему-то... Я еще раз отформатировал первый раздел и думаю - как вот можно скопировать систему так, чтобы исключить то, что не нужно и при этом не сидеть у компа, пока он копирует.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 1801
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #7 : 19 Август 2016, 13:28:11 »
cp можно явно указать каталоги для копирования, или копировать, например, в mc.
Пётр.

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 1522
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #8 : 20 Август 2016, 08:49:37 »
Цитировать
Копирую файлы командой "sudo cp -a /* /media/lubuntu/<здесь UUID нового раздела>"
Перевожу на русский: /* - это корень системы, которая сейчас запущена.
В вашем случае должно быть что-то типа: sudo cp -a /media/lubuntu/UUID старого раздела/* /media/lubuntu/UUID нового раздела
Цитировать
...варианты копирования еще могут быть, кроме "sudo cp -a"?
1. Установите mc. Я без mc - как без рук.
2. У вас ЛUbuntu. pcmanfm - стандартный файловый менеджер ЛUbuntu, есть двухпанельный режим. Выполните в терминале:
sudo pcmanfm
Цитировать
...не сидеть у компа, пока он копирует
Копирование займет всего несколько минут, крайне маловероятно что более получаса (у вас нет столько места на винчестере).
Цитировать
Редактировать /boot/grub/grub.cfg тоже не следует
Верно. Это простое и временное решение - только проверить, что "новая система" заработала, не ломая при этом "старую".
Правильное решение: хорошо подумать, где вы хотите иметь загрузчик и установить его туда.
Предположим вы решили установить загрузчик в MBR, а каталог /boot/grub - поместить на sda1.
Выполните в терминале от суперпользователя:
mount /dev/sda1 /mnt/sda1
grub-install --root-directory=/mnt/sda1 /dev/sda
Внимание! grub-install не создает файл grub.cfg. Скопируйте его из старой системы
Если все сделано правильно - должны загружаться и старая и новая системы, но уже новым загрузчиком.
Загружаем новую систему. Если вас устраивают авотатически-генерируемые Grub-ом ссылки, выполняем в терминале:
sudo update-grub
Для добавления своих ссылок редактируем файл /etc/grub.d/40_custom.
Это самый правильный способ редактирования меню Grub.
Пример файла 40_custom
(Нажмите, чтобы показать/скрыть)
Этот файл система изменять не будет. Здесь всегда будет только то, что вы сюда запишете.
Для применения изменений - как всегда:
sudo update-grub
Ссылки из субменю "My mehu >>" - для загрузки установленной системы.
Ссылки из субменю "Flash mehu >>" - для загрузки "живых" систем. Точно такие-же использую на загрузочной флешке.

Оффлайн antonsky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #9 : 20 Август 2016, 09:13:05 »
Цитировать
Копирую файлы командой "sudo cp -a /* /media/lubuntu/<здесь UUID нового раздела>"
Перевожу на русский: /* - это корень системы, которая сейчас запущена.
В вашем случае должно быть что-то типа: sudo cp -a /media/lubuntu/UUID старого раздела/* /media/lubuntu/UUID нового раздела

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

Цитировать
...варианты копирования еще могут быть, кроме "sudo cp -a"?
1. Установите mc. Я без mc - как без рук.
2. У вас ЛUbuntu. pcmanfm - стандартный файловый менеджер ЛUbuntu, есть двухпанельный режим. Выполните в терминале:
sudo pcmanfm

А, разве, на систему, запущенную с LiveCD, можно что-то устанавливать?

Цитировать
...не сидеть у компа, пока он копирует
Копирование займет всего несколько минут, крайне маловероятно что более получаса (у вас нет столько места на винчестере).

Вероятно вы правы. Я думал, что это процесс копирования такой долгий, а это он просто завис из-за того, что я не то копировал.


Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 1522
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #10 : 20 Август 2016, 09:26:27 »
Цитировать
А, разве, на систему, запущенную с LiveCD, можно что-то устанавливать?
Можно. "Живая система" использует оперативную память в качестве файловой системы. Если оперативы много и для вновь установленной программы не тебуется перезагрузка.
mc занимает всего пару мегабайт. Обновление индексов пакетов займет намного больше - мегабайт под 50.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 1801
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #11 : 20 Август 2016, 12:00:39 »
Для создания /boot/grub/grub.cfg используется команда
grub-mkconfig -o /boot/grub/grub.cfgя почему-то предпочитаю её. Если сделаете chroot в раздел с новой системой, то эта команда построит вам новый grub.cfg.
Пётр.

Оффлайн antonsky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #12 : 20 Август 2016, 18:29:00 »
Уважаемый andytux!

5. Отредактировать файл /etc/fstab
LABEL=SYSTEM / ext4 relatime,commit=100,barrier=0,errors=remount-ro 0 1

Редактирую fstab по Вашему методу. Скажите, пожалуйста, В приведенной Вами строке новый раздел монтируется в корень системы. Но дело в том, что у меня уже есть запись в этом файле, которая монтирует старый раздел в корень системы. Как быть?
Вот что у меня в файле fstab:
UUID=(допустим 1) / ext4 errors=remount-ro 0 1                  - это старая система
UUID=(допустим 2) none swap sw 0 0                              - соответственно swap-раздел
UUID=(допустим 3) /public_data ext4 errors=remount-ro 0 1       - диск для данных пользователей
Я добавляю туда же
UUID=(допусти 4) / ext4 relatime,commit=100,barrier=0,errors=remount-ro 0 1
Как система отреагирует? Нормально будет грузиться? Будут работать и старая и новая системы?

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 1801
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #13 : 20 Август 2016, 19:59:01 »
antonsky, Даже подумать страшно, как система отреагирует. Хотя я могу предположить.
Попробуйте мыслить логически, как советовал Шерлок Холмс и объясните самому себе, что вы делаете и для чего,
тогда будет ясно, что делать с /etc/fstab.
Пётр.

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 1522
    • Просмотр профиля
Re: перенос системы в другой раздел
« Ответ #14 : 21 Август 2016, 07:45:52 »
Цитировать
В приведенной Вами строке новый раздел монтируется в корень системы. Но дело в том, что у меня уже есть запись в этом файле, которая монтирует старый раздел в корень системы.
Должен монтироваться только один корень.
Редактируем файл fstab на новом разделе.
Обращаю внимание еще раз. В моей строке корень монтируется по метке тома.
Если решили делать по-моему:
1. разделу должна быть присвоена метка
2. в fstab должно быть прописано монтирование по метке
3. метка раздела и метка, прописанная в fstab, должны совпадать
4. вписываете в fstab мою строку монтирования корня вместо старой

 Если решили монтировать раздел по UUID:
1. в fstab в строке, в которой прописано монтирование корня, меняете старый UUID на UUID нового раздела

 

Страница сгенерирована за 0.067 секунд. Запросов: 24.