Як можна використовувати DD для переміщення даних зі старого диска на новий?


29

Я вдосконалюю внутрішній жорсткий диск SATA на своєму ноутбуці з 40G до 160G. У мене на робочому столі Linux / Ubuntu є карта SATA. Насправді я хотів би зробити те ж саме для пари ящиків CentOS & FreeBSD на роботі, і, здається, це було б те саме рішення.

Я чув, що я можу використовувати DD для дзеркального відображення розділу 40G на диску 160G або що я можу зберегти розділ 40G як зображення у своїй локальній системі, а потім скопіювати це зображення 40G на диск 160G.

Хтось може описати, як я можу це зробити? Чи потрібні мені інші утиліти, такі як gparted


3
А-а-а ... Це перше питання !!
Харшит Шрівастава

2
Питання номер один! Я також є учасником цього сайту, і я подумав, що розпочну з сайту досить технічним питанням. Мене нагородили футболкою та пером.
Стефан Ласєвський

Відповіді:


6

Вашим першим завданням буде підключення обох дисків до існуючої системи Linux або підключення нового диска до початкової системи.

Ви повинні бути дуже обережними, оскільки копіювати порожній диск поверх хорошого диска дуже просто!

В кінцевому підсумку з завантажувальним сектором і всім цим ви зробите щось на кшталт:

dd if=/dev/hdx of=/dev/hdy

Де hdxваш 40G диск і hdyваш 160G диск. Ви помітите, що немає таких номерів розділів /dev/hdx1. Це копіює весь диск, інформацію про розділи та все.

Ваш новий диск буде як і старий диск, розміщений 40G. Він повинен завантажуватись вгору, коли він знаходиться у вашому ноутбуці. Сподіваюся, ви використовували LVM? Інакше сподіваєтесь, що ви не використовували всі розділи? Щоб подолати цю точку, потрібно набагато більше інформації.

Ще одне рішення - скинути кожен окремий розділ. Для цього потрібно набагато більше поінформованості про ситуацію, оскільки вам потрібно буде відтворити інформацію про завантаження.

Все це найкраще використовувати для клонування комп'ютерів, а не для оновлення жорстких дисків. Набагато краще відновити до нової установки за допомогою резервних копій.


17

Зазвичай я б запропонував таке рішення, як "підключити другий жорсткий диск за допомогою зовнішнього корпусу, завантажитися з компакт-диска з Linux, потім використовувати таку команду, як dd if=/dev/sda of=/dev/sdb bs=1G, але оскільки ви хочете використовувати ту саму техніку для роботи, у мене є те, що може бути краще рішення.

Усі мої сервери та ноутбуки працюють на роботі за допомогою Clonezilla . Є два способи його використання ... один з яких використовує виділений сервер і, ймовірно, для вас є надмірним, а інший, що використовує завантажувальний компакт-диск та зовнішній жорсткий диск.

Ідея полягає в тому, що ви завантажуєтесь із компакт-диска Clonezilla і маєте зовнішній USB-накопичувач із великим розміром (більшим, ніж джерело). Clonezilla перегляне вас, створивши зображення існуючого накопичувача, після чого вимкніть машину, замініть накопичувач, потім завантажте його в Clonezilla, і він проведе вас шляхом відновлення даних.

Це дає можливість A) помістити зображення на більший диск, а B) зберегти резервну копію даних.


5

Хоча ви можете використовувати dd для копіювання такого диска, але це має ряд недоліків:

  1. Місце призначення має бути точно такого ж розміру або більше, ніж джерело
  2. Після копіювання вам потрібно буде змінити розмір розділів, щоб використовувати будь-який додатковий простір
  3. Ви витратите час на копіювання вільного місця
  4. Будь-яка фрагментація, присутня на старому диску, зберігається

Використовуючи програму візуалізації, як-от Ghost4Linux, partclone або clonezilla, принаймні переймається числами 2 і 3. Ви також можете просто відформатувати новий диск, змонтувати його та скопіювати всі файли за допомогою cp -ax(як root), а потім перевстановити завантажувач нового диска. Цей метод не страждає жодним із перерахованих вище недоліків.


3

Щоб просто скопіювати розділ, ви можете використовувати dd if=/dev/srcDrive of=/dev/dstDriveщось подібне. Я рекомендую тобі прочитати сторінку чоловіка . Вибачте, я не можу дати більше інформації, оскільки я зараз на роботі.


2

Ви запитували, як це зробити з dd, але я мав кращий успіх, використовуючи висновок дампа для відновлення . Враховуючи джерело ad1s1a та цільове ad2s1a :

$ mount /dev/ad2s1a /target
$ cd /target
$ dump -0Lauf - /dev/ad1s1a  | restore -rf -

Я спробував це на FreeBSD, насправді я знайшов це на форумі FreeBSD


1

Один простий приклад:

dd if=/dev/sda of=/dev/sdb

Але якщо у вас є якісь особливі потреби, ви дійсно повинні прочитати manpage (man dd) або здійснити пошук в Google.

Іншою ідеєю може бути використання rsync (не забудьте встановити правильні параметри, наприклад -az [пакує файли замість копіювання одного файла за іншим] або --numeric-id [використовує uid / gid замість імен, як "корінь"] і, можливо, деякі інші). Посилання містить багато прикладів.

Якщо на новому жорсткому диску немає розділів, ви можете використовувати gparted або palimpset.

Коли ви не впевнені, я відформатував би жорсткий диск, а потім синхронізував дані з rsync.


1

Ну, я мігрував подібні до цього, завантажуючи як додані диски, так і Live CD.

  1. Ви відтворюєте інформацію про розділи першого диска на другому, можливо, збільшуючи деякі розділи для використання додаткового простору тощо.
  2. Тоді припустимо, що у вас є / dev / sda {1,2,3,4} і хочете скопіювати їх у / dev / sdb {1,2,3,4}, ви mkdir / mnt / sd {a, b} {1 , 2,3,4} і змонтуйте кожен розділ у кожному dir (або якщо ви хочете зробити це по одному, ви можете зробити / mnt / origin / mnt / призначення та змонтувати / umount кожної пари)
  3. Тоді ви робите cp -avr / mnt / origin /. / mnt / призначення / (або cp -avr / mnt / sda1 /. / mnt / sdb1 /
  4. Зачекайте, поки ви переглядаєте Інтернет :)
  5. Пам'ятайте про себе, щоб перевстановити grub, lilo або будь-який інший завантажувач.

Зробивши так, ви будете дефрагментувати файли під час їх копіювання, ви також можете змінити файлові системи в розділах (перемістити з reiserfs або ext3 на ext4 тощо), але, будь ласка, не забудьте відредагувати / etc / fstab після копіювання на відповідний нова ситуація.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.