LINUX.ORG.RU

Arch. Копирование системы на другой носитель?

 , , ,


0

1

Собственно есть чудо флешка с немереной скоростью чтения\записи и на ней установлен arch. Вариант установки системы наипростейший - все закатано в root без всяких swap, boot и home. В связи с чем флешка имеет один единственный раздел sd&1. Все запилено как надо, установлены все необходимые пакеты - флешка в основном используется как дежурная для воскрешения померших систем или настройки сети. Но иногда бывает такое что воскрешать уже не чего или не надо вовсе, а просто нужна новая нормальная система по быстрому без всяких запилов. Что если тупо скопировать флешку на винчестер? Создать на винчестере раздел необходимого размера, форматнуть его в ext4, примонтировать в /mnt/sd&1 и скопировать на него систему с флехи полностью

# cp -ax / /mnt/sd&1
Сказано сделано - благодаря высокой скорости флехи процесс копирования занимает 5 - 10 минут, но на выходе естественно не взлетает так как не видит раздел с необходимым uuid и просит именно его. Отредактировал fstab в соответствии с uuid нового раздела, подправил все uuid в grub.cfg и даже в grub.cfg.example. Все равно при старте даже груб не взлетает - требует uuid от флешки хоть обосрись. Где еще поковырять надо что бы новый uuid скормить системе? Или такой метод не сработает и поэтому придумали клонезилу?

★★★

В параметры ядра root=PARTUUID=

Узнать PARTUUID можно командой blkid.

anonymous ()
Ответ на: комментарий от Zhbert
sudo grub-install /dev/sd&

естественно и написало все получилось - один хрен груба нет потому что хочет uuid от флехи, может надо

sudo grub-install /dev/sd&1
но для установки груба на флеху это не требовалось

amd_amd ★★★ ()

Да, и ещё иcпользуй initramfs-linux-fallback.img, а то дровишек-то не будет.

anonymous ()

Я бы просто загрузился с третьей (загрузочной) и сделал dd if=/dev/sdc of=/dev/sda, должна сохраниться и таблица разделов. Потом через fdisk просто изменишь второй, чтобы занимал всё место.

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

Пушкин делать будет?

да хоть лермонтов

sudo grub-install /dev/sd&
понятно куда нацелено, а куда нацелено
grub-mkconfig -o /boot/grub/grub.cfg
никуда и поэтому конфигурит grub.cfg на флешке откуда и поступает команда, оставляя grub.cfg на винчестере без измерений

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

на это уйдет пол дня - так как писать придется всю флеху 32 гига, кроме того как это поможет с переопределением uuid - никак на старте так же груб взлетать не будет требуя предоставить ему uuid от флешки, гребаные uuid - раньше с sda, sdb, sdc... попроще было, а нахера это вообще придумали - безопасность что ли? какой профит?

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

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

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

а если в grub при буте нажать 'e' и отредактировать вручную?

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

Мб я ошибаюсь, мне казалось, что копируются и UUID. По крайней мере, помню, когда у меня lvm был и я так скопировал, старый диск потом было не примонтировать нормально из-за совпадающих имён и глючило.
Вообще, тебе нужно убедиться, что на первом диске стоит флаг Boot каким-нибудь fdisk и граб вообще грузится. Если граб грузится - примонтировать всё в mnt и /mnt/boot и genfstab сделать по новой. С опцией -U он будет использовать UUID дисков, с опцией -L - их Lables вместо этого (если тебе такой вариант удобнее), а потом уже grub-mkconfig.

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

а вот это попробую - когда доберусь до подопытных...

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

ну так подскажи оленю - как отучить grub от старого uuid и привязать к новому...

Есть разные способы. Я бы делал так:

1. Корректно установить grub при помощи grub-install.

2. Кинуть grub-у конфиг, открыть конфиг редактором, вручную поправить команду запуска линуксячьего ядра.

3. Не забыть в самой OS исправить fstab.

4. Перезагрузиться с новым grub в новую систему.

5. Если необходимо, перегенерировать конфиг mkconfig-ом, чтобы убедиться, что всё генерируется корректно.

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

ну так подскажи оленю - как отучить grub от старого uuid и привязать к новому...

можешь поменять uuid раздела. tun2fs

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

после часового страдания dd - заработал груб, но все равно просит uuid от флешки, дальше колдовать не стал - час в dd это слишком долго... ср самое быстрое - но после него даже груб не взлетает, сейчас некогда - вечером продолжу долбить... флаги boot присутствуют и на флешке и на подопытном винчестере... с флешкой вообще нет проблем, винт не взлетает после полного копирования флешки на него - потому что uuid не сходятся...

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

1, 2, 3, 4 - уже пробовал, 5 - не знал как толком выполнить что б сконфигурировало в нужном месте, подсказочку вроде дали - вечером попробую...

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

винт не взлетает после полного копирования флешки на него - потому что uuid не сходятся...

1. Создаешь раздел на винте. 2. Меняешь uuid раздела на такой же как на флешке. Утилита tun2fs. 3. Копируешь данные с раздела флешки на винт. 4. Чрутишься в винт, делаешь grub-install. p.s Че ты там дрочишься, аж тему создал целую?

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

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

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

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

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

никуда и поэтому конфигурит grub.cfg на флешке откуда и поступает команда, оставляя grub.cfg на винчестере без измерений

Так эту команду надо делать в окружении винта. Зачрутившись.

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

не хочу клонировать uuid - хочу родной использовать

ты уже определись. Если хочешь оставить uuid раздела винта уникальным, то придется в чруте сделать update-grub, чтоб перезаписать grub.cfg.

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

груб появляется только после dd

Так правильно, после копирования, загрузчик ты не ставишь, вот и не появляется. А после dd появляется, прикинь да=)

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

не нравится мне идея с объединением в единую сеть машин с одинаковыми uuid

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

anonymous ()

cp -ax / /mnt/sd&1

Имхо лучше rsync использовать.

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

Почитай Gentoo Handbook для понимания. Gentoo ставится так же, как ты хочешь сделать.

Вкратце:

  • создаёшь разделы;
  • на них файловые системы;
  • монтируешь их в нужно последовательности, предварительно создавая точки монтирования;
  • копируешь готовую систему, для ускорения процесса лучше сделай архив настроенной системы и затем распаковывай его, это будет быстрее при копировании с флешки, tar.gz, с минимальным сжатием;
    Копируй или распаковывай с указанием опций для сохранения прав доступа, архив создавай тоже с указанием опции сохранения прав доступа;
  • монтируешь /proc, /dev, /sys
    mount -o bind /dev /mnt/new_system/dev
    mount -t proc none /mnt/new_system/proc
    mount -t sysfs none /mnt/new_system/sys
    
    Ну либо всё с -o bind;
  • правишь /mnt/new_system/etc/fstab, приписывая там UUID новых файловых систем и дописывая новые файловые системы, если такие появились, обязательно прописываешь там /boot, если он вынесен отдельно;
  • делаешь chroot
    chroot /mnt/new_system/
    
  • и уже в chroot монтируешь прописанный /boot
    mount /boot
    
  • в chroot прописываешь заново код загрузчика
    grub-install /dev/sda
    
    указывай правильно диск, может быть и /dev/sdb, а /dev/sda быть флешкой;
  • обновляешь конфиг загрузчика
    grub-mkconfig -o /boot/grub/grub.cfg
    

Всё готово.

Удачи.

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

Чтоб архивы не катать:

rsync -avP --numeric-ids --exclude={«/dev/*»,«/proc/*»,«/sys/*»,«/tmp/*»,«/run/*»,«/mnt/*»,«/media/*»,«/lost+found»} /откуда/ /куда/

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

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

Поэтому у него и пишется 5-10 минут.

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

на что повлияет?

хз для того и оставляю родные, что бы разные были и ни на что не повлияло...

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

флешка мертвая

флешка зверь - специализированая для windows to go и греется она под этим делом до 55-и градусов, в следствии чего была заброшена и провалялась лет 5 без дела - пока я не решил форматнуть ее в ext4 и установить туда арч... в документации к флешке поддержки данной файловой системы не было и я если честно не удивился бы если бы она вообще померла еще на стадии форматирования, но она не померла - взлетела и не греется как утюг, а скорость будто с ssd сидишь - нарадоваться не могу...

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

Вместо UUID в fstab пропиши монтирование по метке (LABEL). И назначь метку через parted, например.

Quasar ★★★★★ ()

шпарю все подряд

# cp -ax / /mnt/sd&1
# arch-chroot /mnt/sd&1 pacman -S grub-bios
# arch-chroot /mnt/sd&1 /bin/bash
# grub-install /dev/sd&
# sudo grub-mkconfig -o /mnt/sd&1/boot/grub/grub.cfg
после чего наконец то появился grub, но uuid в нем один хрен от флешки - подредактировал grub.cfg прописав в него новый uuid - все равно не взлетает, пишет что не найден новый uuid, почему не найден не пойму - кроме него других просто нет...

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

все равно не взлетает, пишет что не найден новый uuid

Кто не находит-то: grub не находит свои собственные файлы, или же ядро системы не находит корень?

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

Вот вариант, если у тебя grub вываливается в аварийную командную строку:

1. TAB — чтобы посмотреть автодополнение. Если команд мало, значит не найден раздел с grub. (Ну, логично.)

2. ls показывает список найденных разделов. Потом ls (имяраздела). Перебираем разделы, ищем раздел, на котором стоит grub.

Тут варианты:

  • Содержимое раздела не читается ls — в стартовый образ grub не были включены необходимые модули. Тогда это ошибка grub-install. Но с таким я на практике ни разу не сталкивался. (Я хз. Может, ты из-под legacy-загруженной системы ставишь на UEFI, либо наоборот?)
  • Содержимое раздела читается. Тогда:

3. set — проказывает переменные среды. переменная prefix должна указывать полный путь к каталогу с grub, а переменная root — имя раздела.

4. Выставляем правильные значения и запускаем загрузочное меню. Например:

set prefix=(hd0,gpt1)/boot/grub # ВАЖНО: prefix не должен оканчиваться на слеш, нихрена не работает в таком случае
set root=hd0,gpt1
configfile /boot/grub/grub.cfg

После этого должно появиться меню с выбором операционной системы.

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

grub отрабатывает нормально - потом появляется надпись «нажмите любую клавишу» жму - дело доходит до starting version 238 после чего срывается в ошибку с определением uuid и переходит в аварийную командную строку

команд мало

вижу 152 команды это много или мало? не все работают - reboot\poweroff не работают, может и другие тоже - все не проверял

ls показывает список найденных разделов

разделов? раздел один sda1! может дирректорий\папок? вижу по ls все штатные дирректории\папки в корне системы

из-под legacy-загруженной системы ставишь на UEFI

никаких uefi нет не было и не будет

set показывает все необходимые переменные

configfile /boot/grub/grub.cfg

нет никакого configfile - что имелось под этим ввиду?

На данный момент происходит следущее - втыкаю одновременно флешку и подопытный винтарь, в bios указываю чтение с винчестера, запускаюсь - слышу как заскрипел винт и появляется grub это grub установленый на винте, заканчивается таймер и grub с винчестера дает команду запустить систему с флешки, uuid - сходится и флешка начинает мигать диодом - чтение идет и система на флешке запускается без каких либо ошибок. Проблема по прежнему та же - как скормить новый uuid от винчестера, редактирование grub.cfg не помогает, система по прежнему требует uuid от флешки. Видно придется последовать совету товарища и клонировать uuid от флехи на винчестер, но это одноразовая панкуха, я уже говорил что десятки соединеных между собой машин с одинаковыми uuid меня не устраивают

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

Проблема по прежнему та же - как скормить новый uuid от винчестера,

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

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

Бла-бла-бла ничего не работает

Это потому что ты не понимаешь, что ты делаешь.

Я же русским языком написал: «Вот вариант, если у тебя grub вываливается в аварийную командную строку»

дело доходит до starting version 238 после чего срывается в ошибку с определением uuid и переходит в аварийную командную строку

Это что — командная строка grub? Ясно же видно, что работает systemd. (238 версия — это версия чего, по твоему мнению? Коня в пальто?)

Так какого хрена ты пытаешься советы по grub применить внутри командной оболочки юникса?

нет никакого configfile

Разумеется, нет. Ты бы еще в Windows команды grub начал искать.

Видно придется последовать совету товарища и клонировать uuid от флехи на винчестер

Да хоть заклонируйся. Версию, что в initramfs просто не включен драйвер на твоё железо, не пытался рассмотреть?

Deleted ()

Короче, Склифософский, сейчас распишу, как выкручивался бы сам.

Перво наперво, грузишься в линукс не с флешки, втыкаешь её и делаешь образ командой типа:

ddrescue /dev/fleska /mnt/razdel/fleska.img /mnt/razdel/fleska.img.log
После чего создаёшь редактором разделов КДЕ разделы для установки линукса: небольшой, мегов на 300, раздел для груба, и раздел для системы - большего чем на флешке размера. Раздел для груба в том же редакторе форматируешь и делаешь стартовым, это важно. Делаешь раздел для файла подкачки.

Потом разворачиваешь свой образ с системой на раздел, например на sdd8, на винте:

ddrescue --force /mnt/razdel/fleska.img/fleska.img /dev/sdd8 /mnt/razdel/fleska.img/sdd8_restore.img.log
смотришь его уид кликуху и прописываешь её в фстаб. Фстаб конкретно редактируешь.

И тут у тебя оказалось что на разделе доступно столько же мегов пространства как и было на флешке. Но если на флешке было свободно метров 40-50, то всё нормуль! Через редактор разделов КДЕ уменьшаешь ёмкость раздела метров на 40-50. Потом восстанавливаешь ёмкость до нормального состояния - и о чудо, файловая система натянулась на весь раздел и заняла его полностью!

Потом тебе нужно загрузиться в установленный линукс с чужого загрузчика! Подойдёт и линукс на флешке или линукс на другом винте. Значит, в другом линуксе в менюшку груба прописываешь пункт с загрузкой установленного тобой линукса, с указанием его уида. Данные для «рисования» команды берёшь из грубовского конфига установленного тобой линукса.

Потом загружаешься в установленный линукс с чужого груба. Потом лезешь через консоль в репозиторий и обновляешь утилиту grub2-install

Потом устанавливаешь груб на нужный винт командой

grub2-install /dev/sdX.
(где Х-устройство)

Перезагружаешься через установленный груб.

Как видишь, всё не просто а очень просто! Это можно узнать если прочитать тонну манов или одно сообщение Напильника, который их почти не читал.

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