Установка GNU / Linux на другой жесткий диск без установочного диска

Сегодня мы рассмотрим, как перенести все данные с одного жесткого диска на другой, работа, которая может быть полезна, если по какой-то причине нам нужно заменить текущий жесткий диск нашего компьютера на другой (той же или другой емкости).

Несколько дней назад, во время случайного визита в дом друга (который по совпадению перешел на 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


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Габриель сказал

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

    1.    Навуходоносор сказал

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

    2.    Джон эдиссон ортиз сказал

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

  2.   элиотайм3000 сказал

    Это эпично. Посмотрим, смогу ли я установить Debian, но в стиле Arch (чистые команды).

  3.   РудаМачо сказал

    Вы могли использовать dd для клонирования MBR:

    dd if = / dev / sda of = / dev / sdb bs = 512 count = 1

    Я не думаю, что необходимо, чтобы разделы были точно такими же, по крайней мере, в Arch wiki об этом не упоминается, нужно было бы попробовать. С уважением.

    1.    Каналес сказал

      Выглядит неплохо, но я не понимаю, почему при выполнении dd if = / dev / sda of = / dev / sdb пропускаются первые 512 байт?

      1.    Каналес сказал

        Хорошо, я понял, разница в том, что сначала клонируется только раздел, поэтому 512 байтов MBR пропускаются. Большое спасибо за совет RudaMacho.

    2.    Пелу сказал

      Здравствуйте, вы планируете обновить свою систему? Я говорю это для windows xp

  4.   адр14н сказал

    Здравствуйте, elav, думаю, с clonezilla задача была бы намного проще, но хорошо, что вы так поэкспериментировали, все-таки это «хакерский» дух

    Привет!

  5.   Видагну сказал

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

  6.   Петерчеко сказал

    Очень хорошо

  7.   митко сказал

    По моему опыту gparted copy - clone - разделы быстрее

    А если вам нужно их увеличить или обрезать, вы также можете

  8.   Каналес сказал

    Великолепный гид по elav, большое спасибо за то, что поделились.

    У меня вопрос: нужно ли использовать команду swapon, чтобы система определяла раздел подкачки, или достаточно изменить UUID в fstab?

  9.   Алунадо сказал

    6 месяцев назад мне наскучили debian stable и kde 4.8. Я хотел последнюю версию KDE !! У меня не было установочного диска или USB-памяти ... поэтому я клонирую свою стабильную версию почти теми же методами, которые описывает elav, и обновляюсь до sid.
    Я рекомендую эту практику всем пользователям Linux, нашей системе не требуется более 15 ГБ. по корневому разделу. и вдвое-чуть меньше - это не много.

  10.   Виктор Чалла сказал

    Отличный вклад никогда не был бы таким легким, как с таким простым и ясным объяснением ... Поздравляю, братан, ты учитель gnu / linux!

  11.   ЙоэЛоко сказал

    Очень хороший учебник. Очень ясно!
    Также есть команда "дд"