Как я могу скопировать свою полную систему (Ubuntu и Windows) к моему внешнему жесткому диску с помощью бесплатного программного обеспечения Ubuntu или методов?

Чтобы избежать необходимости сбрасывать мои операционные системы на моем ноутбуке Lenovo (80Q0001NUS) каждый раз, когда они перестали работать, я должен смочь полностью скопировать Ubuntu и Windows. Я надеялся сделать tar.xz файлы для сохранения к моему внешнему жесткому диску, но я абсолютно не уверен, что сделать даже после поиска онлайн. Моя цель с моими резервными копиями состоит в том, чтобы смочь восстановить или Ubuntu или Windows назад к точно, как они были, когда они были сжаты и заархивированы. У меня есть эти разделы:

Накопители

SSD НА 128 ГБ

  • /dev/sda1: Раздел FAT32/boot/efi
  • /dev/sda2: Windows 10 Primary partition NTFS
  • /dev/sda3: BTRFS Корневой раздел Ubuntu
  • /dev/sda4: Раздел подкачки

ЖЕСТКИЙ ДИСК НА 1 ТБ

  • /dev/sdb1: NTFS (Windows) раздел устройства хранения данных
  • /dev/sdb2: EXT4 (Общий) раздел устройства хранения данных
  • /dev/sdb3: BTRFS (Ubuntu) раздел устройства хранения данных

Жесткий диск на 4 ТБ (внешний резервный диск)

  • /dev/sdc1: Раздел NTFS
  • /dev/sdc2: Раздел EXT4
  • /dev/sdc3: Раздел BTRFS

Я надеюсь скопировать/dev/sda1 и/dev/sdb1 (отдельно, если это - лучший способ) к/dev/sdc1,/dev/sdb2 к/dev/sdc2, и/dev/sda3 и/dev/sdb3 к/dev/sdc3. Мне нужны каждые из этих резервных копий, чтобы быть легко organizable (как единственные файлы, которые я могу использовать для восстановления каждого раздела, как они были со времени резервного создания). Мне также нужны они, чтобы быть высоко сжатым если применимо. Я не хочу копировать полные разделы, если преодолимый. Я просто хотел бы восстановить записанные данные, которые я могу восстановить к подобной установке разделов и накопителей. Наконец, я должен смочь восстановить свою систему с ними как LiveCD или что-то подобное, которое предотвратит любую потерю программного обеспечения, файлов, и т.д. Я не хочу должным быть загружать файлы и устанавливать мои операционные системы снова и снова каждый раз, когда они перестали работать. Я надеюсь сохранить все свои конфигурации, настройки, файлы и что-либо еще, после того как восстановление сделано. Сообщите мне лучший способ сделать это.Спасибо.

2
задан 12 August 2016 в 00:48

1 ответ

Я буду предполагать, что Вы загрузили с LiveUSB или LiveCD througout мое объяснение, и Вы должны поддержать в основном что-либо, что я объясняю здесь.

Сначала, чтобы меня не объясняют, каков "dd". Сокращение означает "дамп содержимого диска" и может передать изображение в основном все, что является блочным устройством (это - диски Вам) файлов. Давайте пробежимся через основы:

dd if=source-device of=target-device bs=blocksize count=numberofblocks
  • if Входной Файл, иначе, куда данные прибывают из

  • of Выходной файл, иначе, куда данные переходят в

  • bs Размер блока, иначе, сколько данных Вы хотите "буферизовать" в памяти. Если Вы не используете это, это в основном копирует непосредственно от одного устройства до другого и будет slooooooow. Для большинства операций действительно укажите что-то. Я обычно использую что-то как bs=1G. Конечно, у Вас должен быть 1 ГБ свободной RAM, чтобы на самом деле сделать это

  • count Сколько "блока" (количество, определенное bs) Вы хотите переместиться. В общем случае это не нужно, потому что Вы хотите все блоки.

Теперь, предположите, что у Вас есть SSD 128 ГБ, названных/dev/sda, и Вы хотите "отобразить" его (это - то, чем операцию называют), полностью, включая все, что это находится на нем. Таблицы разделов. У Вас есть диск с резервной копией с большим количеством пространства на/mnt/bigdisk. Для обработки изображений целого диска Вы даете следующую команду:

dd if=/dev/sda of=/mnt/bigdisk/backup-20160812.img bs=1G

Это займет долгое время (но Вы не жили, пока Вы не сделаете это на диске на 4 ТБ), и наконец Вы найдете, что файл на 128 ГБ, названный резервным-копированием-20160812.img в/mnt/bigdisk. dd, не даст вывода в течение того времени, и Вы заметите большую неисправность производительности системы. О, и из любви ко всем, что хорошо: удостоверьтесь, что ничто, ни один раздел, не смонтировано или использующий/dev/sda.

После того как у Вас есть большой файл, можно сделать то, что Вы хотите с реальным диском (хорошо, кроме уничтожения его физически). Если Вы хотите восстановить, Вы делаете:

dd if=/mnt/bigdisk/backup-20160812.img of=/dev/sda bs=1G

Это разрядные точные копии, что означает следующее:

  • Размер большого файла является точно размером диска
  • Очевидно, Вы не можете восстановить к диску, меньшему, чем тот размер
  • Даже если Вы восстанавливаете к больше диску, он не может работать. Обычно, это завершает то, чтобы быть разделами, которые Вы хотите сопровождаемый огромным блоком свободного пространства. У Вас будет большое изменение размеров, чтобы сделать и если это - SSD, проверьте выравнивание.
  • Если исходный диск является дефектным, dd остановится на ошибки. Если Вы не хотите это, необходимо указать дополнительные параметры. Страницы справочника являются, очевидно, Вашим другом.
  • Снова, все отображается даже неиспользуемое место. Если у Вас будет диск 100 ГБ, и это - используемых только 10%, то Ваш файл будет 100 ГБ шириной, и это потратит впустую 90% из, время при копировании неиспользованных блоков.

С этим знанием говорит логика, можно использовать dd для резервного копирования единственного раздела. Посмотрите на следующую команду, которую Вы могут видеть почему:

dd if=/dev/sda1 of=/mnt/bigdisk/backup-sda1-20160812.img bs=1G

Единственная разница использует/dev/sda1 вместо /dev/sda (и я использовал другое целевое имя файла). Почему? Поскольку /dev/sda представляет полный диск, и /dev/sda1 представляет первый раздел на том диске.Именно... Все комментарии о том, чтобы быть поразрядной копией сохраняются.

Файл, сгенерированный к dd может быть gzipped и приведет к меньшим файлам. Можно сделать это использование каналы. Команда изображения была бы похожа:

dd if=/dev/sda bs=1G | gzip > /mnt/bigdisk/backup-20160812.img.gz

Восстановление управляет чем-то вроде этого:

dd if=/mnt/bigdisk/backup-20160812.img.gz bs=1G | gunzip > /dev/sda

Некоторые общие комментарии для понимания: Исключение of отправит весь вывод в stdout. Эти данные, отправляют к gzip (или gunzip) использование канала |. С тех пор gzip/gunzip не имейте никакого specifed файла, они используют эти данные и gzip это. Вывод, отправляют к stdout, который мы затем отправляем в файл с помощью > символ.

Теперь прочь к ntfs разделам. ntfsclone Существуют другие связанные инструменты, которые Вы могли бы хотеть изучить (ntfsresize, ntfsfix. Введите ntfs на командной строке и сделайте заполнение клавишей Tab) Вместо того, чтобы просто копировать все биты, ntfsclone скопирует структуру файловой системы и данные (если Вы не скажете это не), и таким образом проигнорируйте неиспользуемое место. Это переводит в то, что файлы намного меньше и не намного больше, чем фактический "используемый" размер файла ntfs раздела. Из также команды:

ntfsclone -s -o /mnt/bigdisk/backup-20160812-sda2.ntfsclone /dev/sda2

Это даст все виды информации, в то время как это работает, который намного больше заверяет, чем dd. Так или иначе, что все это означает?

  • -s Средства Вы хотите сохранить образ (и не сделать устройство к клону устройства) - -o Куда Вы отправляете данные в. В этом случае файл. Если файл будет существовать, то он откажется перезаписывать его.
  • Последняя опция в команде является источником, в этом случае раздел два из sda.

Здесь для восстановления:

ntfsclone -r -O /dev/sda2 /mnt/bigdisk/backup-20160812-sda2.ntfsclone

Снова, успокаивая информацию и вот то, что означают опции:

  • -r средства восстанавливают из изображения. Это в основном -s кулон для восстановления.
  • -O то, где записать данные, в этом случае это - верхний регистр-O, потому что это заставляет это перезаписывать файл. Это необходимо, потому что /dev/sda2 уже существует, и Вы хотите перезаписать его.
  • Заключительная опция, снова, является источником данных. Это - очевидно, файл, который мы просто сделали с первой командой.

Размер этих изображений не изменяем. Вы не собираетесь восстанавливать его к меньшему диску/разделу, даже если это соответствовало бы на основе размера файла. Структуры файловой системы, которые были сохранены, связываются с размером диска. Так, даже при том, что то изображение, которое Вы сделали из раздела на 100 ГБ с данными на 10 ГБ, могло соответствовать на меньших 50 ГБ, это не собирается работать. Можно восстановить к больший раздел, но снова, структуры остались такими же, таким образом, необходимо будет использовать ntfsresize чтобы на самом деле смочь использовать то дополнительное пространство.

Давайте доберемся до dump. Как я упомянул в своем комментарии, я не использовал это в возрастах. Я просто копирую свои файлы данных, поскольку я знаю, что установки ре Linux являются в основном безболезненными, особенно если Вы сохраняете / домой на другом разделе. Что записано, вот в основном, что я узнал, в то время как я записал это. Мои OpenBSD копируют сценарии, что дамп использования так стар, я не смел бы говорить, что я все еще знаю, как они работают. Вывести.

dump -0 -f /mnt/bigdisk/backup-20160812-sda3.dump /dev/sda3

Снова, что это означает?

  • -0 уровень дампа. Это должно сделать возрастающие резервные копии и очень полезно, но на данный момент, Вы будете помнить, что дамп уровня 0 означает полную файловую систему.
  • -f Данные дампа отправляются в указанный файл в этом случае: /mnt/bigdisk/backup-20160812-sda3-level0.dump

Восстановление? Ну, необходимо знать, что можно только восстановить к чистой файловой системе и смонтированной файловой системе, таким образом, сначала необходимо удостовериться, что цель отформатирована чистое, и смонтируйте его:

mkfs.ext4 /dev/sda3
mount /dev/sda3 /mnt
cd /mnt
restore -r -f /mnt/bigdisk/backup-20160812-sda3-level0.dump
  • -r восстановление средств
  • -f из файла
  • Цель является текущим каталогом, следовательно/mnt

Это, вероятно, даст Вам предупреждение как restore: ./lost+found: File exists, потому что lost+found существует на любом, недавно создают файловую систему.

Интересно, учитывая путь это работает, необходимо смочь восстановить к меньшему диску, но я не попробовал.

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

Наконец, создавая резервную копию MBR и GPT: MBR легок и честно говоря, я предпочитаю использовать его, пока мои диски не превышают 2 ТБ. Так или иначе MBR является в основном блоком 0 на Вашем диске, которого первая часть является загрузочным кодом, и вторая часть является таблицей разделов. Первые 446 байтов первого сектора, следующие 66 байтов являются разделом. Так, при извлечении только загрузочного кода, похож на это:

dd if=/dev/sda of=/mnt/bigdisk/backup-20160812-bootcode.dd bs=446 count=1

Извлечение загрузочного кода с таблицей разделов похоже на это:

dd if=/dev/sda of=/mnt/bigdisk/backup-20160812-mbr.dd bs=512 count=1

Именно. Очевидно, можно только восстановить их к точно тому же диску (или один с точно теми же характеристиками).

Поскольку Вы видите, что MBR прост. GPT не, и это - боль. GPT является переменной длиной и Вами лучший Google это для лучшего понимания. У меня нет дисков GPT на машине, я тестирую это, так проверьте все дважды. Из того, что Google I, инструмент для использования gdisk. Увы это, кажется, интерактивный инструмент. Это прекрасно, но мы хотим простую остроту:

printf "b\\n/mnt/bigdisk/backup-20160812-gpt.gdisk\n" | gdisk /dev/sda

В основном отправьте текст:

b
/mnt/bigdisk/backup-20160812-gpt.gdisk

к приложению gdisk работа над устройством /dev/sda. Файл /mnt/bigdisk/backup-20160812-gpt.gdisk должен теперь содержать резервное копирование GPT. Восстановление должно быть чем-то вроде этого, но я не попробовал, таким образом используйте на Ваш собственный риск.

printf "b\\nr\\nl\\n/mnt/bigdisk/backup-20160812-gpt.gdisk" | gdisk /dev/sda

Это должно следующий текст к к интерактивному gdisk меню, для движения на режим восстановления и восстановление из файла.

Если Вы начнете гуглить GPT в сочетании с dd, то Вы будете видеть многих людей, которые попросили Вас не сделать это из-за uuid, используемого GPT. Это несомненно верно: Вы получите проблемы, если у Вас будет два диска, активные в той же системе с тем же uuid. Кроме, конечно, это не то, что Вы делаете здесь. Никогда, у Вас будет два идентичных uuids в системе, если Вы будете придерживаться копирования в файлы (который является тем, что все мои примеры делают),

Как Вы видите, это - скорее большой зажим информации к обзору, и я не собираюсь даже потрудиться читать его снова для орфографических ошибок, опечаток, и т.д. Если это слишком очень, изучите Clonezilla. Это могло бы быть ближе к тому, в чем Вы на самом деле нуждаетесь. Я, возможно, даже сохранил такую запись, имел, я начался с сообщением Вам что.

3
ответ дан 2 December 2019 в 02:50

Другие вопросы по тегам:

Похожие вопросы: