Перемістіть інсталяцію на новий диск


10

Наразі у мене є один hd з цими розділами:

/dev/sdb1    /
/dev/sdb2    swap
/dev/sdb3    /home

Я думаю про придбання ssd для мого /розділу.

Тепер моє запитання: чи можна перемістити / перетворити мою поточну конфігурацію в нову (два диски, / домашні залишки)? Переважно всередині запущеної системи?

Відповіді:


11

Рекомендую не використовувати dd. Він просто робить тупий сектор за секторальною копією, а це означає, що він не вдасться, якщо розділ призначення буде меншим, і витрачає багато часу на копіювання вільного простору, а якщо розділ призначення більший, додатковий простір не буде доступний до запуску resize2fsдля розширення файлової системи.

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

Відформатуйте ssd і отримайте як новий ssd-розділ, так і оригінальний кореневий розділ, змонтований, а потім просто запустіть sudo cp -ax /media/old-partition/* /media/new-partition, де старий і новий-розділ замінені на фактичні точки монтажу. Це буде копіювати кожен файл, зберігаючи право власності, дозволи та часові позначки.

Потім запустіть sudo grub-install --root-directory=/media/new-partition /dev/SSD_DEVICE, замінивши правильні значення для нового розділу та SSD_DEVICE. Це дозволить встановити grub, зробивши диск завантажувальним.

Після перезавантаження (переконайтеся, що ваш біос налаштований на завантаження з ssd замість старого диска), переконайтеся, що ви працюєте з ssd, а не зі старого диска, перевіривши вихід dfта / або mount, і вам слід добре підірвати стару перегородку.

О, і ви хочете відредагувати /etc/fstabфайл на новому розділі після копіювання та оновлення UUID кореневого розділу, щоб відповідати UUID нового SSD-розділу замість старого. Ви можете знайти цей UUID, запустивши sudo blkid.

Редагувати: додано / * у копії вище, але для редагування потрібно мати більше 6 символів. Зараз це 101 персонаж!


1
Я припускаю, що спрацювало?
Мартін Удінг

2
У мене виникли проблеми з установкою grub за допомогою методу, описаного вище. Врешті-решт я зробив те, що пропонує цей потік: askubuntu.com/a/3409/8152 , щоб налаштувати та встановити grub на інший диск. Решта відповіді спрацювала чудово.
Младен Ябланович

1

Ця команда:

dd if=/dev/sdb1 of=DEVICE_PATH_OF_SSD_DRIVE

має працювати для клонування /розділу на SSD-накопичувач.

EDIT: це буде працювати лише в тому випадку, якщо ваш розділ має той самий розмір, що і диск. Якщо вони не однакового розміру, ви можете скористатися партнером :

partimage -z0 -d save /dev/sdb1 clone.partimg
partimage restore DEVICE_PATH_OF_SSD_DRIVE clone.partimg
rm clone.partimg

Застереженням цього методу є те, що на диску ви потребуєте достатньо місця для зображення, що містить увесь вміст /. Ви повинні бути добре, якщо у вас є> 10 Гб безкоштовно. В іншому випадку ви можете використовувати -z1замість -z0стискання зображення. Для ще більшої компресії використовуйте -z2. Також partimage не підтримує файлову систему ext4 .

Після цього вам слід встановити SSD і перевірити, чи правильно скопійовані ваші дані:

$ mkdir /tmp/ssd
$ sudo mount -t ext4 DEVICE_PATH_OF_SSD_DRIVE /tmp/ssd
$ ls /tmp/ssd
bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

Замініть ext4файлову систему, яку ви використовували /.

Можливо, вам буде потрібно встановити завантажувач GRUB на цей диск:

sudo grub-install DEVICE_PATH_OF_SSD_DRIVE

Потім вам потрібно буде відредагувати /etc/fstabфайл, щоб замінити /dev/sdb1шлях пристрою вашого SSD-накопичувача у записі, до якого монтується /. ( sudo $EDITOR /etc/fstab)

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


(-1) Це рішення є більш небезпечним . Особливо, якщо розміри пристроїв не відповідають.
Рафаель Боссек

Він також скопіює UUID вихідного диска, якщо ви використовуєте dd.
Майкл

0

Спочатку прочитайте, як перенести. Чи є простий спосіб перенести ОС з одного жорсткого диска на інший? .

Завантажте свій SSD і додайте наступний рядок /etc/fstab(це лише прив'язка):

/media/slowhd/home /home none rw,bind 0 0

Почніть mount -aактивізувати зміни.

Порада : Не mount /dev/yourhd /homeтому, що ви втрачаєте гнучкість для переміщення подальших каталогів на свій старий hd.

Більш технічним рішенням буде використання LVM (логічний диспетчер томів) .

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