Сегодня мы рассмотрим, как перенести все данные с одного жесткого диска на другой, работа, которая может быть полезна, если по какой-то причине нам нужно заменить текущий жесткий диск нашего компьютера на другой (той же или другой емкости).
Несколько дней назад, во время случайного визита в дом друга (который по совпадению перешел на GNU / Linux несколько месяцев назад после моего упорства), он с радостью показал мне новый жесткий диск, который ему дали (жесткий диск емкостью 500 Гб Хотя многим это может показаться устройством небольшой емкости, здесь, на юрской Кубе, это все еще большой шаг к большому хранилищу данных), и это необходимо для замены уже устаревшего и наполовину отказавшего диска на 160 ГБ.
Само его предложение заключалось в том, чтобы удалить старый диск и поставить на его место диск емкостью 500 ГБ, а затем установить Debian, который был дистрибутивом, который я установил на старый диск, и потребуется некоторое время, чтобы восстановить все его настройки.
В то время как это происходило, двоюродный брат моего друга ждал кульминации этой работы, чтобы взять диск на 80 ГБ, который, в свою очередь, заменил бы диск на 40 ГБ в гораздо более старом компьютере.
Деталь всего этого в том, что я даже не ходил с установочным диском Debianи меньше с доступными репозиториями. Таким образом, идея установки системы и приложений была для нас недоступна, если только я не пошел к себе домой, чтобы найти то, что было необходимо, но переезд из одного конца города Сантьяго-де-Куба в другой не был альтернативой. для меня., в городе, где официальный транспорт (частные мотоциклы) в этом новом году удвоил свою ставку (льгота должна была стоить мне не менее 40 песо).
Там и загорелась искра: клонировать альбом. Я знаю, что это клонирование диска было бы первым, что пришло бы в голову многим из вас, но мне, квази-алфавит В этих задачах это казалось неожиданной альтернативой, посланной непосредственно Богами Открытого Олимпа.
Просчитав необходимое вступление, переходим к техническим аспектам рассматриваемого дела. Изначально у нас есть жесткий диск на 80 ГБ со следующей системой разделов:
/ dev / sda1 / / dev / sda5 подкачки / dev / sda6 / home
И новый жесткий диск на 500 ГБ, который мы разделим следующим образом:
/ dev / sdb1 / / dev / sdb2 подкачки / dev / sdb3 / home
Многие наверняка заметили, что в случае с первым жестким диском происходит переход от sda1 к sda5, потому что при определении разделов существует загрузочный первичный раздел sda1, а затем расширенный раздел двоиться: sda5 Ю.С.da6.
Кроме того, в какой-то момент мне показалось, что мне пришлось удалить раздел, на котором мой друг хранил изгнанную Windows 7.
Жесткий диск емкостью 500 Гб разбит на разделы таким образом, чтобы номера разделов находились последовательно. Этот диск назван / DEV / SDB потому что, установив его в порт SATA, вы одновременно используете систему с уже существующим диском, / Dev / ПДД.
Форматирование разделов
Чтобы создать разделы, мы можем использовать какой-нибудь визуальный инструмент, например GParted, или какое-то приложение из консоли, например cfdisk. Помните, что на этом этапе мы из операционной системы на первом жестком диске, 80 ГБ.
То есть из этого мы создаем три раздела нового жесткого диска. После создания разделов их необходимо отформатировать:
mkfs.ext4 / dev / sdb1 mkfs.ext4 / dev / sdb3 mkswap / dev / sdb2
Мы только что отформатировали / dev / sdb1 и / dev / sdb2 как ext4 и / dev / sdb2 как SWAP.
Приказ mkfs.ext4 это похоже mkfs -t ext4. Мы должны учитывать, что при перезапуске на новом жестком диске мы должны сообщить системе, что у нее есть новый раздел подкачки (раздел подкачки):
swapon / dev / sda2
Мы используем sda2, а не sdb2, потому что, когда закончите, мы удалим старый диск.
Клонирование разделов
Мы уже попадаем в это курица рис курица. Окончательного рецепта клонирования раздела нет. В нашем случае мы должны сделать точную копию содержимого / home, для этого мы сделаем следующее (как root):
cd / media mkdir sdb3 mmount -t ext4 / dev / sdb3 / media / sdb3 rsync -a / home / myfriend media / sdb3
Расслабьтесь, объясняю:
Внутри / media мы создали каталог с именем sdb3 (которое должно совпадать с названием раздела нового диска), чтобы при монтировании не создавать путаницы.
Затем мы собираемся использовать команду rsync для синхронизации файлов и папок из / home в / media / sdb3, поскольку раздел sdb3 будет / home.
Флаг -a Это поможет нам сохранить разрешения, владельца, дату и каталоги.
Мы разумно использовали / домой / мой друг и не / домой / мой друг /, потому что, если бы я поставил косую черту в конце моего друга, я бы исключительно скопировал файлы и папки внутри / home / my friend. То, что мы сделали, эквивалентно установке:
rsync -a / home / / media / sdb3
Как и в случае с моим другом, у него дома только один пользователь, не важно ставить ту или иную командную строку.
Пришло время клонировать корневой раздел / раздел, который, конечно же. Это критический и деликатный момент, так как из-за сбоя раздел может остаться без загрузки и, следовательно, жесткий диск останется без системы.
Совет перед следующим шагом - произвести некоторую очистку в нашем корневом разделе, чтобы сэкономить место и уменьшить трафик ненужных данных с одного жесткого диска на другой.
Рекомендуется предварительно очистить корзину (даже до клонирования домой), удалить неиспользуемые пакеты и определенные пакеты, которые нам не нужны:
dpkg -l | grep ^ rc dpkg --purge пакет
Мы также можем убедиться, что удалили пакеты из локального репозитория: те, которые мы загрузили в каждом обновлении или установке из репозиториев и были кэшированы:
apt-get clean
Выполнив вышеуказанные шаги, вы обязательно обнаружите, что они могут освободить несколько ГБ места. Что ж, давайте клонируем наш корень /.
В случае корневого раздела рекомендуется копировать данные побитно. Это займет меньше времени, чем дома, потому что, очевидно, происходит меньшее накопление информации и, делая это постепенно, тенденция к сбою почти равна нулю, и не будет ошибок со специальными разрешениями.
Командная строка в этом случае:
dd if = / dev / sda1 of = / dev / sdb1
В этом случае нам не пришлось ничего монтировать. Время на выполнение операции будет немного больше, но оно того стоит.
Подготовка к перезапуску
На этом этапе уже раздел / DEV / sdb1 это клон корневой системы, установленной на нашем старом диске. Пришло время убедиться, что когда мы извлекаем диск объемом 80 ГБ, наш компьютер распознает диск объемом 500 ГБ и загружается с него.
Пришло время прикоснуться к известному файлу fstab (тот, что с диска 500, найденного в / медиа / sdb1 / и т. д. / fstab).
нано / медиа / SDB1 / и т. д. / fstab
И у нас получится что-то похожее на это:
# / etc / fstab: информация о статической файловой системе. # # proc / proc proc nodev, noexec, nosuid 0 0 # Вход для / dev / sda1: UUID = 6b192eef-e188-4e07-94de-14c95e02de78 / ext4 errors = remount-ro 0 $ # Вход для / dev / sda2: UUID = 3bd60ec0 -92f3-4ea6-a4d3-aaaf27dd8b8e none swap sw 0 0 #Entry for / dev / sda3: UUID = 3828f973-3b20-4019-9fe2-8296c755be31 / home ext4 defaults 0 2
Теперь нам нужно изменить старые UUID (те, что в этом файле fstab взяты с диска 80 ГБ) на новые UUID (с нового диска 500 ГБ). Для этого вам нужно найти устройства по их UUID, и это можно сделать несколькими способами:
Один из вариантов может быть с командой:
ls -l / dev / disk / by-uuid
А также используя как root:
Blkid
Теперь нам нужно только заменить UUID fstab на правильные.
Гарантия старта. Установка Grub2
El Дебиан Уизи установленный на старый жесткий диск моего друга использует Grub2 в качестве загрузки системы, поэтому в MBR (основная загрузочная запись) нового жесткого диска (500 ГБ) нам придется установить новый GRUB.
Верно, что файлы конфигурации уже записаны в каталог / boot, но MBR (первый сектор («нулевой сектор») жесткого диска) пуста, поэтому она не будет загрузочной.
Конфигурация сохраняется в /boot/grub/grub.cfg, но этот файл создан grub-mkconfig, поэтому не рекомендуется редактировать его вручную.
Лучше всего, когда новый раздел смонтирован (помните, что недавно клонированный корневой раздел не смонтирован, dd клон без монтажного раздела):
монтировать -t ext4 / dev / sdb1 / media / sdb1
Теперь нам нужно загрузить GRUB2 в MBR, выполнив следующие действия:
grub-install / dev / sdb
И вуаля, так просто, у нас уже есть GRUB настроен в MBR жесткого диска емкостью 500 ГБ.
Заключительные шаги
Выключаем компьютер, извлекаем жесткий диск моего друга на 80 Гб, отдаем его двоюродному брату (см. Начальный рассказ), снова включаем компьютер, скрещиваем пальцы и ...
источник: http://swlx.cubava.cu
Друг, я не знаю, ошибаюсь ли я, но я думаю - я думаю - что перед использованием команды 'dd' целевой раздел должен быть точно такого же размера, что и исходный раздел. Если нет, тысяча извинений.
Это то же самое, что я думаю
dd клонирует раздел, а излишки оставят его нераспределенным, поэтому, поскольку для установки новых приложений требуется больше места, он не позволит этого.
Не имеет значения, больше ли целевой раздел, чем исходный, тогда файловой системе можно указать, чтобы она использовала дополнительный размер.
Это эпично. Посмотрим, смогу ли я установить Debian, но в стиле Arch (чистые команды).
Вы могли использовать dd для клонирования MBR:
dd if = / dev / sda of = / dev / sdb bs = 512 count = 1
Я не думаю, что необходимо, чтобы разделы были точно такими же, по крайней мере, в Arch wiki об этом не упоминается, нужно было бы попробовать. С уважением.
Выглядит неплохо, но я не понимаю, почему при выполнении dd if = / dev / sda of = / dev / sdb пропускаются первые 512 байт?
Хорошо, я понял, разница в том, что сначала клонируется только раздел, поэтому 512 байтов MBR пропускаются. Большое спасибо за совет RudaMacho.
Здравствуйте, вы планируете обновить свою систему? Я говорю это для windows xp
Здравствуйте, elav, думаю, с clonezilla задача была бы намного проще, но хорошо, что вы так поэкспериментировали, все-таки это «хакерский» дух
Привет!
В Slackware я использовал tar, чтобы сделать полную копию файлов между дисками, что сохраняет разрешения, а также я пользуюсь возможностью сделать резервную копию, файл fstab намного проще, поэтому нет необходимости изменять uuid, просто вы создали разделы В том же порядке, в котором используется lilo, проще создать загрузочный ...
Очень хорошо
По моему опыту gparted copy - clone - разделы быстрее
А если вам нужно их увеличить или обрезать, вы также можете
Великолепный гид по elav, большое спасибо за то, что поделились.
У меня вопрос: нужно ли использовать команду swapon, чтобы система определяла раздел подкачки, или достаточно изменить UUID в fstab?
6 месяцев назад мне наскучили debian stable и kde 4.8. Я хотел последнюю версию KDE !! У меня не было установочного диска или USB-памяти ... поэтому я клонирую свою стабильную версию почти теми же методами, которые описывает elav, и обновляюсь до sid.
Я рекомендую эту практику всем пользователям Linux, нашей системе не требуется более 15 ГБ. по корневому разделу. и вдвое-чуть меньше - это не много.
Отличный вклад никогда не был бы таким легким, как с таким простым и ясным объяснением ... Поздравляю, братан, ты учитель gnu / linux!
Очень хороший учебник. Очень ясно!
Также есть команда "дд"