LINUX.ORG.RU

Как перенести Debian вместе с Win10 на SDD

 , , , ,


1

2

Приветствую, уважаемые форумчане. Ситуация следующая: Есть ноутбук HP Omen ax232ur с 1Тб HDD.

  • 1 На него была установлена Windows10, которая создала 4 раздела:
    • 1. recovery(ntfs)
    • 2. uefi_boot(fat32)
    • 3. windows(ntfs)
    • 4. какой-то системный 128мб.

      Соответственно все разделы основные, тк. таблица разделов gpt. Система запустилась, работает хорошо.

  • 2 Далее была произведена установка Debian 9 в режиме UEFI. Создано три дополнительных раздела:
    • 1. /
    • 2. /home
    • 3. /swap
    Загрузчик Grub установился автоматически, определил Debian и Windows. Приоритет загрузки стоит UEFI с HDD. Все отлично работает, можно выбрать загрузочную запись.

    Был приобретен SDD 240гб с разъемом M.2. Встала задача перенести обе системы на новый диск.

  • 3 Windows 10 был успешно перенесен с помощью программы AOMEI Partition Assistant (перенос ОС на SDD) с предварительной разметкой SDD. Система отлично загружается и работает если выбирать в настройках загрузки старт UEFI с SDD.
  • 4 Дальше я вошел в небольшой ступор. Не могу до конца понять, как правильно перенести Linux вместе с загрузчиком. Насколько я понимаю, Grub установился на раздел uefi_boot. Чтобы перенести Linux, достаточно разметить дополнительные разделы для /home и / на sdd ну и swap перенести. С помощью livecd скопировать все данные из старых разделов в новые.
  • 5 Вопрос! Как правильно скопировать разделы? Можно ли это сделать при помощи программы Gparted? Если да, то нужно ли потом менять UUID новых разделов? Как перенести загрузчик? Где прописать новые UUID разделов, чтобы стартовала система с sdd а не с hdd? Пожалуйста, помогите разобраться, а то в голове возникла каша...


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

Из рабочей системы прописать на ssd в /etc/fstab новые uuid, чрутнуться в дебиан на ssd и там поставить grub как обычно (т.е. гугли инструкцию «восстановление grub2 из livecd с помощью chroot).

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

Дополню инструкцию: копировать следует

rsync -a
, иначе могут смениться права доступа и пользователи,
man mkfs.ext4
man mount
, узнать UUID поможет
blkid -c /dev/null
, восстановление GRUB вот тут описано: http://help.ubuntu.ru/wiki/восстановление_grub , но я бы посмотрел, нет ли различий при UEFI, инструкция под BIOS писалась.

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

Большое спасибо, буду экспериментировать.

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

иначе могут смениться права доступа и пользователи,

я принёс тебе немножечко man'a:

man cp
-p     same as --preserve=mode,ownership,timestamps

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

О, точно. Но rsync, ЕМНИП, копирует в одном потоке, а cp создает по потоку на файл, потому меньше проц грузит.

Vsevolod-linuxoid ★★★★★
()

РЕШЕНИЕ ТОПИКА. Можно закрывать.

Итак, как я добился своей цели:

  • 1. Сделал UEFI liveusb с puppy linux на борту
    • a. Для этого скачал xenialpup64 вот отсюда: http://puppylinux.com/index.html#download

    • b. Вставил флешку, удалил на ней все разделы, создал новую таблицу разделов gpt; создал новый раздел fat32

    • c. Смонтировал образ xenialpup.iso и скопировал все данные с него на флешку

    • d. Еще странно, но в образе был еще один образ, в котором лежал EFI загрузчик, пришлось смонтировать еще и его, и скопировать папку EFI в корневой раздел флешки рядом с данными с образа xenialpup.iso
  • 2. Далее успешно загрузился в Puppylinux
  • 3. С его помощью программой Gparted нашел /, home старой системы, и подготовленные для них новые разделы на SDD
  • 4. Примонтировал их в /mnt/root-hdd, /mnt/home-hdd, /mnt/root-sdd, /mnt/home-sdd
  • 5. Командой rsync с параметрами -avx скопировал данные соответственно. Ключ -x у рсинка значит не переходить границы файловой системы, так что он не полезет в дебри /dev /proc и тд.
  • 6. После успешного копирования осталось поправить uuid разделов диска в файле /etc/fstab и /boot/grub/grub.cfg на новые. Их можно посмотреть в том же Gparted.
  • 7. Далее надо записать загрузчик и обновить grub-config, для этого пробрасываем системные директории в новый диск (только тут есть трудности, связанные с UEFI):
    • a. # mount /dev/sdXXX /mnt sdX = sdd диск | sdXX = efi раздел, созданный после переноса Win10 | sdXXX = раздел / на sdd
    • b. # mount /dev/sdXX /mnt/boot/efi
    • c. # for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt$i; done
    • d. # chroot /mnt
    • e. # grub-install /dev/sdX # update-grub
  • 8. Далее ребут, грузимся с SDD. Все отлично, grub запустился. Выбираю Debian, и тут меня постигла небольшая проблема. Система долго висела с мигающией нижней чертой, потом выдала ошибку: gave up waiting for suspend/resume device. Оказалось после форматирования HDD, Linux потерял SWAP. Мало поправить UUID в /etc/fstab, еще нужно изменить UUID в файле /etc/initramfs-tools/conf.d/resume. Указать UUID нового SWAP раздела.
  • 9. Была еще маленькая проблемка, после первой загрузки с SDD grub нашел только Debian, Win10 там не было. Но после запуска Linux, я сделал update-grub и Win10 подтянулась.
  • 10. JOBSDONE. Полет нормальный.ВСЕМ БОЛЬШОЕ СПАСИБО ЗА ПОДСКАЗКИ!
lexone
() автор топика

Вопрос решаемый (точнее, уже решенный). Но зачем так париться? Установка Debian на SSD занимает ровно 20 минут. Потом можно просто скопировать /home, /etc и другие директории по необходимости. Разве так не проще?

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

Вопрос решаемый (точнее, уже решенный). Но зачем так париться?

Вопрос принципиальный. Польза, как минимум - это опыт. Если я захотел сделать так, пусть это и сложнее, попытаюсь найти способ решения.

lexone
() автор топика
Ответ на: комментарий от aquadon

Думаю, никакой необходимости в этом нет, просто суть в постановке задачи...

lexone
() автор топика
22 сентября 2019 г.

Из практики: во времена дебиан 6-7 я как то переносил систему с помощью rsync и cp. Но потом полезли какие то мелкие и неприятные проблемы с правами на файлы и правами пользователей и групп. Сути проблем не помню, но из этого я сделал вывод: так делать не стоит. Для копирования и бэкапа систем я использую архивы .tar.*z по ниструкции запаковки и распаковки stage4 gentoo.

Раз прошло куча времени, интересно узнать, вылезли ли какие то косяки у скопированной rsync системы?

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.