Переміщення всієї установки Linux на інший диск


55

У мене є Ubuntu 14.04 з великою кількістю пакунків і пов'язаних з роботою речей, які я цим дуже задоволений. Він встановлений на моєму основному накопичувачі SSD, який є 120 Гб (я вибрав "/", коли я встановив ubuntu, тому я вважаю, що все має бути на цьому диску). Він відображається як / dev / sda

Тепер я додав ще один SSD до свого комп'ютера, який є 240 Гбіт. На даний момент у мене немає інших носіїв пам’яті (наприклад, зовнішній жорсткий диск).

Оскільки новий накопичувач на 240 ГБ, очевидно, має більшу ємність і швидший (нове покоління, ніж мій 120 ГБ), я хочу перенести свій Linux на цей новий накопичувач. Цей новий привід відображається як / dev / sdb, і на даний момент він не відформатований або що-небудь (я буквально розпакував і вставив у свій ПК зараз: P)

Як я можу безпечно перемістити інсталяцію Linux на новий диск?

Я можу змінити кабель SATA, щоб новий привід відображався як / dev / sda, якщо потрібно.

Це вихід "fdisk -l", якщо це допомагає:

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00076d7a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   226064383   113031168   83  Linux
/dev/sda2       226066430   234440703     4187137    5  Extended
Partition 2 does not start on physical sector boundary.
/dev/sda5       226066432   234440703     4187136   82  Linux swap / Solaris

Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

4
Здається, ви зараз плануєте використовувати обидва. Якщо так, то вам слід розглянути можливість використання нової, більшої, /homeа не всієї системи. Це має бути простішою зміною (просто перемістіть усе і додайте один рядок до / etcs / fstab), і більшість великих файлів, ймовірно, потраплять у ваш домашній каталог (і так на більший диск).
Кевін

Можливий дублікат способу переміщення Ubuntu на SSD
Девід Фоерстер

Відповіді:


35

Для цього можна використовувати CLONEZILLA .

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

  • Завантажте стабільний ISO Clonezilla або Direct Download clonezilla-live-2.4.6-25-amd64.iso

  • Зробіть завантажувальний (Live) USB за допомогою Tuxboot 7.0 .

  • Завантаження з створеного носія Clonezilla.

  • Зараз у вас є багато варіантів:

    1. Створіть зображення лише '/' (частини збереження) та клонуйте його до будь-якого розділу вашого іншого SDD.
    2. Створіть зображення повного диска (збереженого) та клоніруйте його до нового SSD.

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

У вашому випадку ви також можете скористатися параметром "пристрій-пристрій", але я не знайомий з цим.

Ви можете знайти докладний посібник про Clonezilla тут: http://clonezilla.org


1
Я пропоную вам переглянути ці два відео-підручники раніше: youtube.com/watch?v=41tTudaQb0I та youtube.com/watch?v=LS6VhLDw-io
Severus Tux

1
Це також хороший варіант. Але я лінивий створити паличку клонезіллу ;-)
Pilot6

Я виявив, що клонезіла не копіює на mbr, тому ціле зображення диска і трохи попрацювали з gparted повинні зробити трюк
adampski

1
Оце Так! Рада чути це ;-), Час завантаження. Це через змінені UUID, тобто нові UUID та Старі ваші важливі розділи (home, Swap) почалися. Щоб виправити це, будь ласка, дотримуйтесь інструкцій, наведених тут, із відповідними змінами : askubuntu.com/a/737340/497359 Якщо ви знайшли будь-яку проблему, будь ласка, прокоментуйте її.
Северус Тукс

1
@adampski: Схоже, це помилка в Clonezilla 2.4.5. В якості вирішення можна використовувати Clonezilla 2.4.2 або Clonezilla 2.4.2 Server Edition (DRBL), поки вона не буде виправлена. :)
cl-netbox

40

Це можна зробити декількома способами. Але найпростіше - просто скопіювати всі файли зі старого диска на новий.

  1. Створіть розділ ext4 та розділ swap на новому диску.

  2. Завантаження від LiveUSB.

  3. Встановіть старий розділ Ubuntu в якийсь каталог, а новий - в інший каталог.

  4. Скопіюйте всі файли зі старого в новий за допомогою cp -aкоманди.

  5. Встановіть grub на новий привід .

  6. Оновлення /etc/fstabновими UUID.

Якщо щось не зрозуміло, я можу додати деякі пояснення.


1
+1 - також можна уникнути завантаження з LiveUSB і робити все під час завантаження з оригінального диска, виконувати всі зміни, перезавантажувати, вуаля.
Сергій

1
@ Étienne: Не копіюйте ці каталоги (також /dev), просто створіть порожні дири на накопичувальному диску та встановіть на них того самого власника / дозволів, що й у вихідному диску.
Сергій

10
Я закінчив користуватися: sudo rsync -a / /mnt/linux/ --exclude sys --exclude proc --exclude dev --exclude tmp --exclude media --exclude mnt --exclude run тоді sudo mkdir sys proc dev tmp media mnt run
Етьєн

1
@ Етьєн, чи можете ви відредагувати свій коментар --exclude? Якщо ви робите це так, як ви це написали, / var / tmp також виключається (мені здається), після клону це буде пропущено системою-resolution.service, внаслідок чого роздільна здатність імені не працює ... Я думаю, що це повинно be --exclude / tmp --exclude / proc тощо. Дякую
пт

1
@swe Я не повинен підтримувати коментар, будь ласка, запропонуйте змінити оригінальну відповідь.
Етьєнн

20

Якщо у вас є якийсь час і хочете вийти на безпеку:

$ dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync

Пояснення команди:

  • if- це вхід, ofпризначення
  • bsвстановлює розмір блоку. Це розмір фрагментів, які буде читати і записувати дюйм. Більш високі розміри фрагмента зазвичай означають більш високу продуктивність, але також більше пошкодження даних, якщо на вхідному диску є помилки, дивіться тут: archwiki on dd
  • noerror продовжується в r / w-помилках.
  • sync синхронізує зсуви, якщо сталася помилка.

Це в основному створить образ вашого диска sda і запише його на sdb (однаковий макет розділу тощо). Звичайно, це запише цілі 120 ГБ як файл-агностик. Таким чином, дуже безпечно, але не найшвидше, якщо ви використовуєте лише невеликі частини диска. Однак якщо вхідний диск досить заповнений, він може бути навіть швидшим.

АЛЕ:

  • Після цього ви, ймовірно, хочете змінити розмір розділів, оскільки в іншому випадку ви не можете скористатися додатковим простором.
  • У будь-якому випадку, можливо, знадобиться відредагувати файл / etc / fstab.
    Це так, якщо для розпізнавання дисків використовуються апаратні ідентифікатори.

2
Ваша ddкоманда буде виконуватись назавжди. Поміркуйте, додавши bs=1Mдо цього
Дмитро Григор’єв

Розмір Afaik не повинен бути 1 М на SSD, але я перегляну це питання та оновлення
larkey

Обмеження полягає не в технології SSD, а в bsстандартному значенні, яке становить 512 байт.
Дмитро Григор’єв

1
розширена відповідь з bs, спасибі за голову
larkey

1
Дякую за детальну відповідь ... Я дізнався деякі речі! але я вирішив піти з clonezilla і змінити розмір розділів після цього.
Saeid87

5

Те, як я це роблю під час переходу на новий жорсткий диск:

  • створити макет розділів, який я хочу на новому диску
  • завантаження з Live CD / USB або встановити, врятувати тощо.
  • змонтуйте старі розділи жорсткого диска, які потрібно скопіювати, скажімо, /mnt/a
  • монтуйте нові розділи на жорсткому диску для отримання файлів, скажімо /mnt/b
  • cp -aабо використовувати дьоготь , щоб скопіювати файли з /mnt/aв/mnt/b
  • встановіть завантажувач (lilo або grub) на новий диск ¹
  • оновіть /etc/fstab(ви можете скористатися blkidдля ідентифікації нових UUID)
  • перезавантажте і протестуйте, чи все в порядку

Примітка¹:

Перевірте всі жорсткий диск та розділи за допомогою наступної команди:

sudo fdisk -l 

Тепер візьміть до відома розділ, на якому встановлено Ubuntu, який буде мати вигляд: /dev/sda1

Встановіть розділ, де потрібно встановити GRUB 2 (розділ жорсткого диска), і файлова система з'явиться в Nautilus. Тепер ми повинні встановити правильний розділ жорсткого диска, щоб внести зміни до фактичного жорсткого диска MBR. Для цього нам потрібно:

sudo mount /dev/sda1 /mnt
mount

Тепер змонтуйте розділ до іншого місця

sudo mount /dev/sda1 /mnt/boot

Створіть нерозривне посилання з /devпапки на живому зображенні, з якого ви завантажилися, у /devпапку на розділі, на який ви встановили/mnt

sudo mount --bind /dev /mnt/dev/

Тепер нам слід змінити корінь з живого кореня CD (/) на корінь монтованого розділу

sudo chroot /mnt

Тепер ви перебуваєте в новій кореневій оболонці, в якій змонтований розділ - це новий корінь. Ви можете перевірити це введення тексту ls. Оскільки ми зараз у змонтованому розділі, ми можемо випереджати та встановити GRUB 2:

sudo grub-install /dev/sda 

Установки повинні закінчуватися зараз, без помилок

Вийдіть з оболонки CHROOT, ввівши exitабо натиснувши Ctrl+, D що повернеться до оболонки Live CD / USB

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

sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt

та перезавантажте після вилучення живого CD або USB-накопичувача для завантаження з жорсткого диска:

sudo reboot

Джерело


@ baobab33: Ви можете копіювати та вставляти інструкції сюди на цей сайт, а потім атрибути. Вам заборонено просто посилатися на зовнішнє джерело. Також оновіть джерело з виправленнями вище.
Фабі

4

На відміну від інших відповідей, це дозволяє вам клонувати установку Linux і додавати її до меню Grub з вашими поточними установками неушкодженими. Додатково він автоматично змінює /etc/fstabдля вас і оновлює grubзавантажувальне меню.

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

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

З повним сценарієм можна ознайомитись тут: Bash-скрипт для клонування Ubuntu до нового розділу для тестування оновлення 18.04 LTS. Ось так виглядає екран:

clone-ubuntu.png


0

Я вирішив зробити експеримент, пов’язаний з цією публікацією.

Я придбав Lenovo ThinkCentre. Він мав SSD з 256 ГБ і 1 ТБ HDD (тип спінера - швидкий, але не такий швидкий, як SSD).

Коли я встановив Linux Mint 19.2 (LM19.2), він встановив його на накопичувачі 1 ТБ. SSD в кінцевому рахунку не підлягає відновленню, і я придбав новий Kingston на 240 Гб SSD.

Я збирався встановити LM19.2 на новий SSD, але здавалося, що повинен бути спосіб перенести добре розроблене зображення LM19.2 з диска 1 ТБ на новий SSD.

Я знайшов цю публікацію, і хоча вище є якісь суттєві поради, я був в режимі експерименту. Нижче наведено опис того, що я зробив, і це спрацювало ДУЖЕ добре.

  1. Я використовував GParted для створення таблиці розділів і розділів на SSD, які були тими ж типами, що і на 1 ТБ HDD.
  2. Я здійснив зйомку TimeShift (новий інструмент в Ubuntu / Linux Mint) на ВСЕМ ЛЕГКОМ на жорсткому диску LM19.2 1 TB.
  3. Я відновив цей знімок на SSD.
  4. Як тільки вищезазначені етапи були виконані (ви навіть можете зробити 1 паралельно з 2 і 3), я перезавантажився, переконавшись, що він обратиме SSD.
  5. Під час перезавантаження дивно було лише те, що екран INITIAL grub запитав, чи хочу я завантажуватися до Ubuntu. Я припускав, що це було властиво для відновлення TimeShift, і це було.
  6. Подальші стартапи завантажуються як LM19.2, як правило.
  7. Я відредагую цю відповідь, як тільки я переконаюсь, що я можу це зробити за допомогою нового диска, що висить на ПК зовні (і здається очевидним, що це спрацює), тому що це означатиме, що я можу швидко повторити будь-яку з моїх машин LM до нового обладнання.

Швидкість завантаження сама по собі зробила ці прості кроки вартими зусиль. Навіть Dropbox передавав чудово - просто хотів, щоб я знову увійшов, і знадобився весь час, щоб індексувати файли, але він працював чудово.

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