Як клонуватися до меншого жорсткого диска?


42

Як клонувати жорсткий диск до меншого розміру.

  1. Clonezilla чудова, але не підтримує такої функціональності.
  2. Також ddPartImage не підтримують цього попиту.
  3. rsync не буде копіювати MBR, оскільки MBR не є файлом.

Мені потрібно клонувати жорсткий диск, щоб не брати резервну копію, тому rsyncце не прийнятна відповідь.

Будь-які пропозиції?


2
Лише одне запитання, чому потрібно бути клоном? Якщо це для UUID, то чи не проти ви скорочувати файлову систему перед виконанням копії dd? Якщо ви не заперечуєте скорочення, просто запустіть resize2fs, щоб звести файлову систему туди, де вона менша за цільовий диск, а потім скопіюйте її. З іншого боку запустіть resize2fs знову, щоб розгорнути і заповнити новий диск.
darkdragn

Відповіді:


36

Ви, очевидно, не можете клонувати більший розділ на менший розділ (використовуючи ddтощо), оскільки просто не вистачає місця.

Однак якщо файли, розміщені на більшому розділі, також розмістилися на меншому розділі, ви можете rsyncскопіювати ці файли. Точні варіанти використання залежать від конкретного випадку використання, але просто скопіювати всі файли, що слід зробити:

rsync -av /mount/point/of/large/partition/ /mount/point/of/small/partition

Редагування: Ще раз: не можна клонувати більший розділ на менший розділ . (Але читайте далі, вашу проблему ще можна вирішити.)

Причина проста: ваш вихідний розділ більший за ваш цільовий розділ. Що ти очікуєш? Потрібно просто скинути деякі блоки? Котрий? А як слід ddзнати? Звичайно, ви можете використовувати dd"s" bs=та " count=параметри" лише для того, щоб скопіювати перші блоки стільникового розділу так, щоб він вписався у ваш цільовий розділ, але ви отримаєте зламаний розділ. Це, звичайно, не те, що ви хочете.

Отже, оскільки ви не можете клонувати більший розділ на менший розділ, єдине, що ви могли зробити, - спершу зменшити розмір вихідного розділу до розміру, меншого або рівного розміру вашого цільового розділу, чимось таким, про gpartedщо відомо Специфіка файлової системи, така що ви не втрачаєте дані. І тільки тоді ви могли використовувати ddдля клонування розділу. В ідеалі новий розмір вашого вихідного розділу повинен дорівнювати розміру цільового розділу (а не просто меншого або рівного ), інакше ви отримаєте нерозподілений простір на своєму цільовому розділі після клонування.

Також зверніть увагу, що ви не повинні просто копіювати MBR великого диска на MBR меншого диска (або навпаки, з цього приводу). MBR, що має розмір 512 байт і є першим розділом вашого жорсткого диска, містить інформацію про макет жорсткого диска:

  • 446 байт - Bootstrap.
  • 64 байти - Таблиця розділів.
  • 2 байти - Підпис.

(Зверніть увагу 446+64+2=512.)

Якщо ви наполягаєте на клонуванні MBR, тоді клонуйте лише перші 446 байтів так:

dd if=/dev/source of=/tmp/mbr.bak bs=512 count=1
dd if=/tmp/mbr.bak of=/dev/target bs=446 count=1

... заміна /dev/sourceі /dev/targetназви пристроїв джерела та цільових жорстких дисків, наприклад, /dev/sdaі /dev/sdb, відповідно. ( Більше інформації можна отримати тут. )

Однак правильним способом це було б зробити чисту перевстановлення Grub (або все, що у вас є на вашому MBR) на новому жорсткому диску.

Підводячи підсумки, якщо ви хочете клонувати більший диск на менший диск, виконайте наступне:

  1. Викладіть таблицю розділів на цільовому диску з такою ж кількістю розділів, як на вихідному диску. Між розділами на вашому вихідному диску та розділами на вашому цільовому диску має бути відповідність один на один, за винятком того, що (деякі) розділи на цільовому диску можуть бути меншими за їх відповідні розділи на вихідному диску. Використовуйте такий інструмент, як fdiskабо cfdiskдля цього.

  2. Для кожного розділу на цільовому накопичувачі, який менший за його відповідний розділ на вихідному диску, зменшіть розмір цього відповідного розділу на джерельному диску, щоб він відповідав розміру розділу на цільовому диску. Використовуйте такий інструмент, як gpartedдля цього.

  3. Для кожного розділу на вихідному диску, видайте команду

    dd if=/dev/sdaX of=/dev/sdbY
    

    ... для клонування розділу /dev/sdaXз вихідного накопичувача до відповідного розділу /dev/sdbYна цільовому диску (звичайно, замініть назви пристроїв відповідним чином).

  4. Якщо ви наполягаєте також на клонуванні MBR, використовуйте дві ddкоманди, написані вище в цій публікації (ті, що містять /tmp/mbr.bakматеріал). Однак майте на увазі, що повторно встановити чисту групу було б краще.


2
rsync не копіює MBR, оскільки MBR не є файлом, тому rsync не призначений для клонування. Мені потрібно клонувати жорсткий диск, а не робити резервну копію;)
Maythux

2
Так, rsyncце справді не для клонування. Саме це я і говорив - уважно читайте свій пост. ;) Я відредагував свій пост, щоб пояснити, як можна клонувати всі розділи, а також MBR. Сподіваємось, це ближче до того, що ви хочете.
Malte Skoruppa

1
Як хтось встановлює чисту грубну установку?
Кен Шарп

1
@KenSharp Дивіться тут, наприклад: help.ubuntu.com/community/Grub2/Installing
Malte Skoruppa

1
@gerrit Використання parted/ gpartedдля кроку 1 - цілком чудово. Як це часто буває, існує багато способів досягнення мети. fdisk/ cfdiskє більш "базовими" інструментами, і у наведеному вище описі я просто намагався посилатися на найосновніший інструмент, який би зробив цю роботу.
Malte Skoruppa

14

Точне клонування неможливо, оскільки Malte Skoruppa вже опублікував. Однак клонезіла здатна виконати це завдання до тих пір, поки великий диск не заповнений (Мальте вже згадував про це).

В основному вам потрібно включити розширені параметри та "проігнорувати" попереджувальне повідомлення про менший диск. Докладніше про скріншоти див. У документах Clonezilla . У мене була така ж проблема при відновленні резервної копії 160 ГБ жорсткого диска на 64 Гб SSD. Для мене це добре працювало.

Ще одне рішення, яке повинно бути результатом, яке ви хочете, - відновлення на одному розмірі диска та переділ для розміщення нової схеми розділів на менший диск. Дивіться jsm-techblog.blogspot.de для детальної інформації про це.


@DennisNolte Яку розширену опцію потрібно включити в Clonezilla? Читаючи документи, я б здогадався, -k1що створить таблицю розділів пропорційно на цільовому диску і включить опцію автоматичного -rзміни розміру файлової системи в розділі. Це правильно?
Pro резервне копіювання

Я вже не на 100% впевнений, але це були б варіанти, які я б спробував, якби зробити те ж саме знову, так. Однак мені знадобилися 2 або 3 спроби, поки вона не працювала правильно, і, на жаль, я не пам’ятав, які кроки я зробив, окрім використання параметрів авансу.
Денніс Нолте

Я не зміг змусити це працювати за допомогою k1опції, однак -icdsваріант працював для мене. Я опублікую відповідь з більш детальною інформацією.
bbodenmiller

Я додав подробиці про те, як я працював на askubuntu.com/a/504778/310789 .
bbodenmiller

Clonezilla може це зробити через диск на копію диска, але лише в експертному режимі (параметр -icds). @ProBackup пам'ятайте про використання -k1, в моєму випадку він генерує сегментарний стандарт (Clonezilla Live 20160627). Натомість використовуйте Gparted перед (і після) клоном, щоб залишити (і повернути) стільки нерозподіленого місця, скільки потрібно, а потім клонуйте, пропускаючи перевірку місця на диску (-icds). Я перерахував кроки, щоб зробити клон на менший диск тут (пропустіть частини Win7 про MBR, якщо у вас є тільки Linux).
хіраль

7

Gparted повинен зробити свою роботу

  1. Після зміни розміру з gparted завантажтеся з диска, щоб дати операційній системі можливість виправити будь-які помилки перед зображенням Clonezilla.

  2. Потім запустіть Clonezilla і зробіть копію необхідних розділів жорсткого диска

Ще один варіант, який мені здався чудовим : MondoRescure

Mondo Rescue - це рішення щодо відновлення після аварій GPL.

Він підтримує стрічки, диски, мережеві та CD / DVD як резервні носії інформації, декілька файлових систем, LVM, програмне та апаратне забезпечення Raid.

Простий посібник можна знайти тут

Я опублікую кілька скріншотів:

КРОК 1 РЕГУЛЯЦІЯ (ЕКРАННЯ ЧАСТИНИ)

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

введіть тут опис зображення

2.Якщо ви створюєте резервну копію на CD / DVD- + R [W], Mondo запитає вас, чи є ваша записуюча CD-технологія BurnProof, чи всередині ноутбука чи ексцентрична. Якщо ви створюєте резервну копію на стрічковий стример, це повідомлення ви не побачите

3.Скільки потрібно стиснення? Ні, якщо у вашому стример на стрічці є вбудоване апаратне стиснення. Максимум, якщо ваш процесор надзвичайно швидкий. У більшості ситуацій середній показник повинен робити чудово.

введіть тут опис зображення

4.Якщо ви хочете створити резервну копію всього комп'ютера (виключаючи / sys, / run та / proc, природно, як / tmp), залиште це як /, що є за замовчуванням. В іншому випадку вкажіть підмножини, (наприклад, / usr / local | / home), обов'язково поставте трубу між кожним контуром.

введіть тут опис зображення

5.Якщо ви створюєте резервну копію всього комп’ютера, тоді ви можете виключити певні каталоги, наприклад / спільний доступ / MP3. Вкажіть їх у діалоговому вікні "виключити каталоги". Будь ласка, покладіть трубу між кожним контуром, наприклад, / shared / private | / scratch | / nfs | / windows

введіть тут опис зображення

6.Яке ваше ядро ​​здорове? Користувачі Red Hat, Mandrake, SuSE, Debian і Slackware повинні взагалі сказати "так", оскільки ці постачальники добре виробляють надійні ядра. Якщо ви використовуєте Gentoo або LFS, то ваше ядро ​​може бути нестандартним, і в цьому випадку скажіть "ні", щоб використовувати ядро ​​відмови Mondo (надається окремо).

введіть тут опис зображення

7. Якщо ви хочете перевірити архіви після написання їх у ЗМІ, скажіть "так" тут. Якщо ви абсолютно вірите у своє обладнання та дистрибутив Linux, скажіть «ні» ... і трохи молитви.

введіть тут опис зображення

8.Якщо ви впевнені, що хочете йти вперед, скажіть «так» і знайдіть щось інше, поки Mondo робить резервну копію комп'ютера. Якщо ви скажете «ні», то вас буде безцеремонно скинути в підказку оболонки. :-)

введіть тут опис зображення

9. Зараз розпочнеться процес резервного копіювання. Є кілька завдань попереднього резервного копіювання, які потрібно виконати спочатку, але резервне копіювання по суті виконується. Для спрощення процесу резервного копіювання вам було задано низку питань. Наступного разу, якщо вам подобається, ви можете зателефонувати в мондоархів за допомогою різних комутаторів командного рядка, щоб контролювати його поведінку, а не відповідати на низку питань. Детальні відомості див. На сторінці чоловіка.

введіть тут опис зображення

10.Mondo зробить каталог усіх файлів, які потрібно створити резервну копію. Це може зайняти до п'яти хвилин. Список файлів буде розділений на набори, приблизно 4 Мб (до стиснення) файлів на набір. Зазвичай це займає одну хвилину.

введіть тут опис зображення

11.Мондо дзвонить Мінді. Mindi створює зображення завантажуваного медіа-зображення та допоміжні зображення на диску, які базуються на існуючій дистрибутиві та файловій системі Linux. Таким чином, ви можете бути впевнені, що інструменти Mondo будуть сумісні з вашими існуючими файловими системами та бінарними файлами: Інструменти Mondo - це ваші інструменти. Біг у Мінді займає до п'яти хвилин.

введіть тут опис зображення

12.Закінчення Mondo починає створювати резервну копію комп'ютера. Цей процес може зайняти кілька хвилин або кілька годин, залежно від того, скільки даних ви архівуєте, наскільки швидкий ваш процесор, скільки оперативної пам’яті та інше. Він створить резервну копію ваших звичайних файлів, а потім великих файлів (файлів більше приблизно 32 Мб). Якщо ви вирішили перевірити свої резервні копії, Mondo також зробить це.

введіть тут опис зображення

КРОК 2 ЗАВДАННЯ (КЛОН ДЕТАЛІ)

1.Виберіть тип носія для резервного копіювання. Процес відновлення в реальному часі дуже схожий на те, що ви відчуєте, якщо ви введете mondorestore без параметрів після завантаження з мультимедіа Mondo.

введіть тут опис зображення

2.Щоб увімкнути "OK", коли ви вставили стрічку / компакт-диск. Якщо ви створили резервну копію стрічки, самої стрічки повинно бути достатньо. Якщо ви створили резервну копію компакт-диска, першого компакт-диска має бути достатньо. Інакше вам може знадобитися завантажувальний носій.

введіть тут опис зображення

3.Флагуйте файли та каталоги, які ви хочете відновити. Використовуйте кнопки "Більше" та "Менше", щоб відкрити та закрити підкаталоги.

введіть тут опис зображення

4.Вкажіть місце, до якого потрібно відновити файли. Загалом, '/' підходить. Якщо ви не хочете перезаписувати новіші версії файлів, які ви відновлюєте, то вкажіть / tmp / BKP або подібний як шлях відновлення.

введіть тут опис зображення

5.Mondorestore отримає інформацію про конфігурацію з носія. (Зразок екрана призначений для користувачів стрічки. Користувачі компакт-дисків побачать щось інше.)

введіть тут опис зображення

6. Дані будуть відновлені на жорсткому диску - спочатку звичайні файли, потім будь-які великі (32 Мб або більше) файли в наборі для відновлення.

введіть тут опис зображення


Це здається цікавим. Я спробую, тоді я поверну вас з результатами
Maythux

@Maythux відгуки про результати?
Хаймастдон

Ви повинні спочатку записати все на диск?
Кен Шарп

Для тих, хто любить заскочити прямо і спробувати речі, щоб змусити мондо працювати, вам потрібно буде завантажити та встановити останні версії lib-projectbuilder-perl, libmondorescue-perl, mindi-busybox, mindi та mondo з MondoRescue посилання вище та встановіть їх у такому порядку, щоб уникнути незадоволених залежностей. Доступні пакети .deb, тому вам не доведеться збирати їх із джерела, якщо не хочете.
Старійшина Гек

Здається, що в поточній версії тут не вказаний інтерфейс користувача версії (1.5), і розумний тест не зміг завантажитися для мене.
Старійшина Гік

4

"Псевдо-клонування" більшого жорсткого диска на менший може бути здійснено за допомогою Clonezilla. Ефективно ви можете зберегти та відновити розділи диска. Наступні кроки (розроблені для передачі жорсткого диска на SSD) приведуть вас туди:

  1. Перший трюк - використовувати Gparted для зміни розміру розділів на жорсткому диску, скорочуючи кожен розділ, щоб зменшити кількість невикористаного місця, яке він містить. Очевидно, що розділи повинні бути розміром з таким розміром, щоб загальний простір, необхідний для всіх розділів, був меншим, ніж ємність SSD.

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

  3. З SSD, встановленого в цільовій машині, другий трюк - використовувати ще раз диспетчер розділів для створення потрібної структури розділів на SSD.
  4. Потім Clonezilla використовується для відновлення збережених розділів (використовуючи частини відновлення) на SSD.

Див. "Клонування" жорсткого диска на менший SSD для більш детальної дискусії щодо процесу та кількості посилань на довідкові джерела.


3

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

Є й інший спосіб, який менш ризикований, хоча і дуже посібник, який я використовую. Оскільки він залишає недоторканий вихідний диск, якщо ви хочете відмовитися, тому що щось не вдалося.

Крім того, з клонуванням / повторним розміром ви не можете переключитися на новішу файлову систему, переходячи до нового диска, поки ви робите заміну диска. У нижченаведеній процедурі вам потрібно лише створити файлову систему на ваш вибір.

Встановіть новий привід призначення разом із оригінальним накопичувачем на комп'ютер.

  • завантажувальний комп'ютер з ubuntu live cd.
  • На місці призначення. використовувати gparted create: ext4 (або будь-яку нову швидку файлову систему, яку ви вирішили переключитися) (том, та об'єм swap та swap - файлова система
  • В gparted встановіть завантажувальний засіб на новий том

У моєму прикладі джерелом (оригінальним приводом) є / dev / sda, а місце призначення (новий менший диск) - / dev / sdb.

монтувати src як читати лише під / mnt / source

  • mkdir / mnt / source; mount -o ro / dev / sda / mnt / souce

встановити привід призначення під / mnt / місце призначення

  • mount / dev / sdb1 / mnt / призначення /

скопіюйте файлову систему src у файлову систему призначення за допомогою:

  • rsync -log /mnt/destination/rsync-copy.log --progress -avr --exclude = / mnt / source / dev / -A -H -X - numeric-ids / mnt / source / * / mnt / призначення /

ubuntu використовує uuid замість імені пристрою для пошуку та монтування накопичувача, оскільки у нас новий диск, ми хочемо змінити призначення fstab, щоб використовувати нові диски uuid для монтажу диска

  • ls -la / dev / disk / by-uuid

    тепер змінити uuid на / і поміняти в / mnt / місце призначення / etc / fstab. не забудьте змінити файлову систему для точки монтування, якщо ви вирішили змінити її на щось інше, ніж оригінальний диск

якщо важливо, що grub - це та сама версія, знову завантажте оригінальний диск і запустіть та запустіть команду нижче, щоб встановити grub на новий диск

  • grub-install / dev / dev / sdb

Тепер вийміть вихідний диск із комп'ютера та завантажте цільовий диск. grub не вдасться повністю завантажитися та вийти до оболонки відновлення в оболонці відновлення grub:

для завантаження необхідних модулів grub - insmod ext2 - insmod linux перелічує ваші дискові пристрої - ls

виберіть належний пристрій (у моєму прикладі це hd0, msdos1)

  • встановити root = (hd0, msdos1)

знайти точне ім'я vmlinuz-xxx та initrd-xxx для налаштування grub для використання

  • ls / завантаження /

    перегляньте і використовуйте належне ім'я для vmlinuz та initrd, отримане вами з ls вгорі, і використовуйте їх замість прикладу версії, яку я використовую нижче

  • linux /boot/vmlinuz-2.6.32-5-amd64 root = / dev / sda сингл

    якщо / dev / sda - це пристрій, привід буде диском rootfs наступного разу при перезавантаженні машини> тільки dst диск

  • initrd /boot/initd.img-2.6.32-5-amd64

  • завантаження

це повинно бути успішно завантажено машину Нарешті оновити grub для використання нового дискового uuid, тому вам не потрібно повторювати цю процедуру вручну:

  • update-grub

3

Ви можете перенести свої дані на менший диск, використовуючи Clonezilla та GParted .

Використовуючи компакт-диск GParted Live, зменшіть ваші розділи таким чином, щоб вони вмістилися на новому диску. Перемістіть перегородки таким чином, щоб порожній (сірий) пробіл знаходився в кінці / правому куті диска. Якщо перед першим розділом вже було порожнє місце, залиште це місце, оскільки воно може містити завантажувальну або іншу приховану інформацію.

За допомогою Clonezilla зробіть device-deviceклон. Виберіть розширені параметри та увімкніть -icdsопцію, щоб пропустити перевірку розміру диска. Продовжуйте роботу з клоном, видаліть старий диск та спробуйте завантажитися з нового диска. Якщо у вас є помилки, спробуйте -fsck-src-partваріант, який допоможе виправити помилки на вихідному диску.

З документів Clonezilla :

Якщо ви впевнені, що всі дані із зображення можуть вміститися на менший диск, тобто він не буде записаний у неправильний простір на диску, ви можете перевірити опцію "-icds". Увага! Щоб вибрати цей варіант, ви повинні знати, що ви робите !.

Один з питань, які я читав, пропонував використовувати як -icdsі -k1варіанти Clonezilla, однак це не працювало для мене. Інші згадують, що ви можете скопіювати розділи за допомогою GParted, однак він не може скопіювати всі типи розділів, і я не міг змусити машину завантажуватися після використання цього методу, ймовірно, через те, що прихована інформація між розділами не копіюється.


1

Можливо, це не правильна відповідь на питання, але я приходжу на цю сторінку, намагаючись вирішити подібне питання:

Я хотів клонувати стару компактну флеш-карту 256 Мб на 32 Мбіт, яку розпалено, флеш-карта містить невеликий прилад Linux, який виготовляє невеликі пружинні котушки.

Вирішено так:

(Звичайно, ефективний простір, що використовується в 256 Мб, був <32 Мб, тому він добре вписується)

  1. створіть зображення флеш-карти 256 Мб за допомогою 'dd' (тобто якщо припустити, що карта встановлена ​​в / dev / sdb):

    dd if=/dev/sdb of=image256.iso
  2. Використовуйте unetbootin, щоб прочитати ISO 'image256.iso' (опція Diskimage).

  3. Виберіть USB-накопичувач, де є 32-Мб-карта, і перейдіть до скидання зображення на 32Мб-карту.

Ось і все, 32Mb карта успішно запустила мою машину знову.

HTH


0

Ви можете спробувати зробити це за два етапи. Спершу зробіть клон системи в розріджене зображення (зображення збільшується, додаючи до нього більше речей). Тепер відновіть з цього зображення на другий менший диск.


0

це можна зробити .. З живим компакт-диском просто зменшіть файлову систему (resize2fs), ніж lvm (якщо є) останнього розділу (наприклад / dev / sdc3) з великого диска, щоб він міг поміститися на малому диску.

З fdisk видалити та відтворити з меншими секторами останній розділ (/ dev / sda3), тому останній сектор великого диска має те саме значення, що і останній сектор малого диска.

Чим займається ваш # dd, якщо = великий із = малих bs = 10М, поки не вистачить місця.

Додаткова обережність при зменшенні, оскільки одне неправильне значення спричинить втрату даних.


0

Після стискання файлової системи на більшому диску за допомогою GParted я поставив два диски у випадку RAID у дзеркальному режимі, де більший диск є джерелом, а менший диск - цільовим. Мені просто довелося натиснути кнопку скидання всередині корпусу (не змінювати режим, тобто Raid 1 на Raid 0), щоб почати клонування. Працювали чудово! :) Я використав GW3.5AX2-SU3 / MB Raid case.


0

Я розміщую свій досвід скорочення завантажувального диска з 250 Гб (sda) на 120 Гб (SDC) диск

sda містить 2 розділи:

  • sda1 -> / boot (ext3)
  • sda2 -> lvm2: / (245gb) та swap (5gb)

я також:

  • dd sda mbr to sdc
  • fdisk sdc і записуйте зміни, щоб він створював структуру в sdc
  • dd sda1 to sdc1

то як мій gparted НЕ працює з lvm:

з рятувального диска:

  • перший umount VG / LV00
  • e2fsck VG / LV00
  • resize2fs / VG / LV00 xxxxxxxxK (я даю на 1 ГБ більше, ніж використаний простір)
  • lvreduce -L xxxxxxxxxK VG / LV00 (я даю на 1gb більше, ніж у просторі fs)
  • pvresize / dev / sda2 --setphysicalvolumesize xxxxxxxxxxxxK (я даю на 1 Гб більше, ніж утратив простір НН) (у мене тут ПОМИЛКА ... так:

    • pvs -v - сегменти / dev / sda2 (щоб побачити сегменти)
      • pvmove - alloc будь-де / dev / sda2: segment_min-segment_max (із сегментів, які я бачив "праворуч" диска)

Але все-таки розділ був великим, оскільки я тільки скорочував FS-LV-VG, так що:

я відтворюю розділ за допомогою fdisk:

fdisk /dev/sda 
d --> 2
n --> p --> 2 --> default --> (new reduced
size!!!)
 w

тоді система підкаже, що стара таблиця розділів буде використовуватися до наступного перезавантаження. Але я забув перезавантажити і зробити зображення:

dd, якщо = / dev / sda2 of = / dev / sdc2 bs = 4096 (в цей момент я думав, що щось буде не так, і я не міг завантажуватися з sdc, оскільки таблиця розділів не відображає кінець нового sda2)

АЛЕ все було гаразд і після перезавантаження, і навіть система вибирає розділ sdc для завантаження (він скаржиться на дублікати PV, LV та / boot)

Я не знаю, чи мені пощастило, чи я роблю зайві кроки ... будь-який коментар буде вдячний.


Це відповідь чи питання?
Сет

обидва речі я здогадуюсь ...
oso_togari

0

Відмова: Я є оригінальним автором WereSync

Це можливо за допомогою WereSync . WereSync дотримується загального процесу відповіді Мальте, але вимагає лише однієї команди, а не декількох. Крім того, якщо ви використовуєте ваш клон в якості резервної копії, він може поступово оновлювати цю резервну копію, оскільки він використовує rsync в бекенді.

Щоб встановити WereSync, використовуйте pip:

pip install weresync

Звідти ви можете просто використовувати команду WereSync

 weresync -C -g 2 -E 1 /dev/sda /dev/sdb

Наведена вище команда копіює дані з / dev / sda в / dev / sdb. В -Cпрапор марки, WereSync повинні перевірити , якщо розділи на двох дисках еквівалентні, і якщо вони не WereSync повинні скопіювати розділи с / DEV / SDA в / DEV / SDB і змінювати їх розмір , щоб вони помістилися. UUID нових розділів будуть різними. Система, яка використовується для тестування, чи розділи дійсні, може бути вибагливою, тому після першої резервної копії я рекомендую опустити цей прапор.

Команди -gі та -Eможна було опустити, але в цьому випадку встановлення завантажувача майже напевно не вдасться.

-g посилається на "розділ grub", або ж grub розділу повинен бути встановлений на. Як правило, це перегородка, встановлена ​​на /. Отже, якщо у вас встановлений / dev / sda2, / ви переходите -g 2до WereSync, як у наведеному вище прикладі. Якщо це пропущено, WereSync спробує самостійно виявити відповідний розділ, але це схильне до помилок. Я рекомендую просто передати прапор.

-Eвідноситься до розділу EFI. Якщо ваш розділ EFI увімкнено / dev / sda1, перейдіть -E 1до WereSync, як у наведеній вище команді.

Якщо у вас є окремий розділ для папки / boot, вам потрібно також повідомити WereSync. Якщо у вас це є / dev / sda3, перейдіть -B 3до WereSync.

Більш детальну інформацію про можливі позначення цієї команди можна знайти в документації на команду WereSync .


Чи можете ви додати livecd?
Тал

0

Я прийшов до цієї проблеми, тому що оновлення Win 10 до 1607 буде перервано після перезавантаження, через те, що мій NVMe (Samsung 950 Pro) не був розпізнаний, тому я клонував NVMe на інший (більший) внутрішній диск (у моєму випадку "Toshiba") , оновив Win 10 та відновив систему назад до NVMe.

Ось кроки, які мені потрібно було зробити, щоб досягти цього (оскільки відновлення -icdsне працювало).

Інструменти:

  • DVD 10 Windows7 1607 (бітова глибина та мова залежно від поточної ОС)
  • Живий DVD Clonezilla ( 2.4.5 + )
  • або Clonezilla Live DVD ( 20160203-xenial + ), оскільки він може завантажуватися за допомогою UEFI, встановленого в BIOS
  • (Необов’язково) GParted Live DVD ( 0.27.0-1 )

Підготовка:

  1. записати всі інструменти на компакт-диски / DVD-диски
  2. запустіть Clonezilla і клонуйте (диск на зображення) NVMe до зображення (наприклад, на зовнішньому диску)

Примітка:

Якщо ви використовували Clonzila зі стабільної гілки, ви повинні перейти в режим Legacy Boot в BIOS, щоб мати можливість завантажуватися з CD. В іншому випадку, якщо ви використовуєте завантаження з альтернативної гілки, воно повинно підтримувати завантаження UEFI.

Відмова:

Дотримуйтесь інструкцій на власну відповідальність. Етапи та команди тут перевіряються та перевіряються повторно, але помилки помилок можуть призвести до втрати даних або збоїв обладнання, тому спочатку дізнайтеся, що ви робите, і зробіть ці кроки як підказки у правильному напрямку.

Процедура:

  1. запустіть Clonezilla та клоніруйте (привід на диск) NVMe до Toshiba (у моєму випадку - інший внутрішній диск, який я заздалегідь очистив / створив резервну копію)
  2. Перший раз я думаю, що у мене виникли конфлікти в Windows, і NVMe все ще мав інформацію про завантаження Win, тому цього разу я одразу після початкового клонування до Toshiba (значить, до переходу на завантаження UEFI) видалив усі розділи на накопичувачі NVMe

    ~ видалення легко виконується в оболонці Clonezilla:

    sudo su
    dd if=/dev/zero of=/dev/nvme0n1 bs=512 count=1
    

    ~ Як альтернатива, завантажте GParted і зробіть це візуально там

  3. (перехід на завантаження UEFI в BIOS)

  4. завантаження (Toshiba буде використовуватися)
  5. запустіть програму Win 10 1607 встановити DVD та оберіть Установити, поставте прапорець Завантажити оновлення та оберіть Зберегти програми та дані. Це повинно оновити Toshiba до останньої версії Win 10.
  6. (перехід на завантаження Legacy в BIOS) на всякий випадок, резервне копіювання Toshiba на зображення (через Clonezilla)
  7. оскільки копіювання MBR для мене нічого не зробило, GPT важливий у цій історії, тому введіть оболонку (Clonezilla) і скопіюйте GPT з Toshiba в NVMe за допомогою

    sudo su
    sgdisk /dev/sda -R /dev/nvme0n1
    sgdisk -G /dev/nvme0n1`
    

    ( пояснення )

  8. оскільки Clonezila (навіть із експертним перемикачем -icds) відмовляється відновлювати розділи, знову введіть оболонку та зробіть:

    partprobe #forces kernel to reload partition infos
    fdisk -l #shows all disks info
    dd if=/dev/sda1 of=/dev/nvme0n1p1 bs=64K status=progress
    dd if=/dev/sda2 of=/dev/nvme0n1p2 bs=64K status=progress
    dd if=/dev/sda3 of=/dev/nvme0n1p3 bs=64K status=progress
    ...
    

    ( детальніше )

  9. резервне копіювання Tosiba MBR та GPT:

    sgdisk --backup=sda.gpt /dev/sda
    
  10. скопіюйте резервну копію в безпечне місце (щоб ми могли відновити її, а не все зображення диска, зроблене на кроці 6)

    mkdir /mnt/usb
    (put in usb flash or similar)
    mount /dev/sdb /mnt/usb
    cp sda.gpt /mnt/usb
    umount /dev/sdb`
    
  11. очистіть інформацію про розділи Toshiba, щоб вона не викликала конфліктів з Windows

    dd if=/dev/zero of=/dev/sda bs=512 count=1
    
  12. (перейдіть на завантаження UEFI в BIOS) завантажте DVD з Windows 10 (1607) DVD, виберіть «Ремонт»> «Виправлення неполадок»> Командний рядок та виконайте все це:

    bootrec /fixboot
    bootrec /scanos
    bootrec /fixmbr
    bootrec /rebuildbcd
    exit
    

    ( детальніше )

  13. перезавантажте Windows 1607 на диску NVMe

  14. Виграй!
  15. (повторно ініціалізуйте Toshiba в управлінні дисками)
  16. (необов'язково) резервне копіювання оновленого диска NVMe (клонуйте до зображення за допомогою Clonezilla)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.