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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Распаковка системы через dd  (Прочитано 2320 раз)

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

Оффлайн Luca Brasi

  • Автор темы
  • Активист
  • *
  • Сообщений: 706
  • typical engineer
    • Просмотр профиля
Распаковка системы через dd
« : 15 Февраля 2018, 00:18:52 »
На VBox экспериментирую c dd. Задача следующая: есть установленная Ubuntu, хотелось-бы сделать образ раздела sda1, с последующей распаковкой данного раздела на sdb1.
На этапе монтирования возникает ошибка.

(Нажмите, чтобы показать/скрыть)
Ubuntu 18.04/ AMD Ryzen 5 2600 3.4GHz/ MSI B450-A Pro Max / Crucial DDR4-3000 16384MB / MSI PCI-Ex GeForce GT 710 2048 MB / Chieftec GPS-600

Оффлайн ALiEN175

  • Администратор
  • Старожил
  • *
  • Сообщений: 6415
  • Vamos a Bailar
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #1 : 15 Февраля 2018, 03:19:35 »
образ снимаете-устанавливаете с отмонтированных разделов, надеюсь?

и вообще, для разных разделов лучше использовать tar https://help.ubuntu.ru/wiki/backup
« Последнее редактирование: 15 Февраля 2018, 03:28:28 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #2 : 15 Февраля 2018, 03:34:51 »
сделать образ раздела sda1, с последующей распаковкой данного раздела на sdb1
Отмонтируйте разделы sda1, sdb1, и далее попробуйте такую цепочку:
dd if=/dev/sda1 | gzip - | dd of=$HOME/image-sda1.img.gz
dd if=$HOME/image-sda1.img.gz | gunzip - | dd of=/dev/sdb1
Какова конечная цель экспериментов? Что-то типа рекавери-скрипта?
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн ALiEN175

  • Администратор
  • Старожил
  • *
  • Сообщений: 6415
  • Vamos a Bailar
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #3 : 15 Февраля 2018, 03:51:32 »
zg_nico, фактически, те же команды, что у ТС. Труб только больше. А можно и без труб и без dd  :) Когда-то давно замерял скорость создания/распаковки - быстрее всего работал такой вариант:
# бекап
gzip < /dev/sda1 > backup.img.gz

# восстановление
gunzip < backup.img.gz > /dev/sdb1

🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #4 : 15 Февраля 2018, 04:55:59 »
фактически, те же команды, что у ТС
спору нет. С той только разницей, что у меня в примере (как и у Вас, по сути) вход и выход для gzip и gunzip симметрично построены (с "трубы" на "трубу" или с stdin на stdout; в то время как у ТС с "трубы" на stdout) - может тут затык и возникает (у ТС нет "симметрии")? И у меня эта связка почему-то работает (писал себе самописное "псефдорекавери" на основе этих двух команд), которое привожу ниже (может, ТС ее как раз и создает - время ему сэкономлю [хотя навскидку чем ту кучу текста разбирать - проще под свои нужды двухстрочник на коленке накидать действительно :) ]).
(Нажмите, чтобы показать/скрыть)
Везде по тексту "/ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ/" заменить на свой пароль в том виде, в каком его ручками в консоль вбиваем. Ну и под "[ЮЗВЕРЬ]" я подразумеваю имя пользователя, - тоже надо подставить свои данные (хотя по факту при создании такого у себя надо вообще все пути по всем файлам переписывать, что затратно; вместе с тем - автозамена решает).
Знаю что это не назовешь ни хорошей программой, ни даже программой... Но в защиту кода скажу две вещи: 1. это работает; 2. писал сие далеко не программист; 3. необходимость написания обусловлена тем, что такая же штука применяется на ноутбуке, за которым работает далекий от информатики пользователь, у которого время от времени слетает система, - чтоб всякий раз не ездить... Код разместил "as_is", ничего не корректируя - могут быть куски мертвого кода, дубляж (и его много), и тому подобное. Но может кому-нибудь это покажется полезным.
С восстановлением раздела с конфигами EFI может и перебор, однако сделано для истории. Сам пока не знаю как именно следует это применять ))
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн ALiEN175

  • Администратор
  • Старожил
  • *
  • Сообщений: 6415
  • Vamos a Bailar
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #5 : 15 Февраля 2018, 05:09:03 »
может тут затык и возникает (у ТС нет "симметрии")?
затык возникает
1. разделы не были размонтированы
2. если файловая система содержит ошибки
3. необходимость дополнительных манипуляций при распаковке на раздел большего размера
4. неисправность оборудования

Порядок и симметрия труб не влияют на результат.

Цитировать
Осторожно! МНОГО_БУКАФФФ, хоть и под спойлерами
Жестоко.
« Последнее редактирование: 15 Февраля 2018, 05:15:09 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Luca Brasi

  • Автор темы
  • Активист
  • *
  • Сообщений: 706
  • typical engineer
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #6 : 15 Февраля 2018, 15:31:40 »
Да... Раздел /dev/sda1 не был отмонтирован при создании образа. Честно говоря полагал что его нужно было отмонтировать только при распаковке.

Конечная цель - скрипт делающий бэкапы
Ubuntu 18.04/ AMD Ryzen 5 2600 3.4GHz/ MSI B450-A Pro Max / Crucial DDR4-3000 16384MB / MSI PCI-Ex GeForce GT 710 2048 MB / Chieftec GPS-600

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28301
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #7 : 15 Февраля 2018, 23:20:24 »
Распаковывайте на /dev/sda1 - будет работать.
А ещё лучше - переходите на LXD или вообще докер. Не придётся так сильно мучиться.
Если же это десктоп, то вообще нет смысла бэкапить систему целиком - достаточно сохранить хомяк.
« Последнее редактирование: 16 Февраля 2018, 00:08:13 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ALiEN175

  • Администратор
  • Старожил
  • *
  • Сообщений: 6415
  • Vamos a Bailar
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #8 : 15 Февраля 2018, 23:29:48 »
Конечная цель - скрипт делающий бэкапы
tar  --listed-incremental
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Распаковка системы через dd
« Ответ #9 : 15 Февраля 2018, 23:45:43 »
Не ну раздел то вы перенесли а вот кто будет его правильно в таблицу разделов прописывать....

Ну еще и загрузчик может быть в MBR и в секторах перед первым разделом - их тоже надо переносить.

Копируйте уже тогда весь диск. Там и таблица разделов прихватится.. и загрузчик в MBR....

Но сдается мне вы изобретаете велосипед... есть же clonezilla - все просто и понятно и гораздо быстрее клонирует систему ибо берет только занятые блоки из FS.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Luca Brasi

  • Автор темы
  • Активист
  • *
  • Сообщений: 706
  • typical engineer
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #10 : 16 Февраля 2018, 00:06:01 »
Не ну раздел то вы перенесли а вот кто будет его правильно в таблицу разделов прописывать....
я рассчитывал на такой исход, в крайнем случае думал переустановить GRUB.
Но сдается мне вы изобретаете велосипед.
поигравшись с dd начинаю осознавать что мало я что выигрываю. Разве что можно процесс создания бэкапов автоматизировать, однако это не мой случай, т.к. все равно нужно грузиться с Live-CD. Походу от CloneZill'ы не уйдешь.

З.Ы. нашел в Arch доках. "Make sure no partitions are mounted from the source hard drive" - это что, из-за одного раздела весь диск размонтировать?
Ubuntu 18.04/ AMD Ryzen 5 2600 3.4GHz/ MSI B450-A Pro Max / Crucial DDR4-3000 16384MB / MSI PCI-Ex GeForce GT 710 2048 MB / Chieftec GPS-600

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28301
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #11 : 16 Февраля 2018, 00:09:22 »
Походу от CloneZill'ы не уйдешь.
А зачем уходить?
"Make sure no partitions are mounted from the source hard drive" - это что, из-за одного раздела весь диск размонтировать?
Если бэкапить диск целиком - да.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Онлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6543
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #12 : 16 Февраля 2018, 05:20:54 »
Цитировать
...сдается мне вы изобретаете велосипед.
А я изобрел такой велосипед:
https://forum.ubuntu.ru/index.php?topic=290480.msg2286133#msg2286133
Просто, быстро. Особенно вариант 2.

Оффлайн Luca Brasi

  • Автор темы
  • Активист
  • *
  • Сообщений: 706
  • typical engineer
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #13 : 16 Февраля 2018, 10:39:55 »
Просто, быстро. Особенно вариант 2.
Норм, только всё равно по сути тоже что и Clonezilla.
Ubuntu 18.04/ AMD Ryzen 5 2600 3.4GHz/ MSI B450-A Pro Max / Crucial DDR4-3000 16384MB / MSI PCI-Ex GeForce GT 710 2048 MB / Chieftec GPS-600

Онлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6543
    • Просмотр профиля
Re: Распаковка системы через dd
« Ответ #14 : 16 Февраля 2018, 11:06:10 »
Цитировать
...по сути тоже что и Clonezilla.
По сути да. Но Clonezilla нужно еще скачать, куда-то записать. Освоить ее окружение.
Тут ты полностью в своей знакомой обстановке. Никаких дополнительных приложений.
И получаешь не только бэкап, который будет лежать мертвым грузом, а еще и живую систему.
Систему которую можно развернуть, на любой раздел, а не только на тот с которого она была сделана.
Систему которую можно запустить на любом компьютере.

 

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