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


27

У мене на комп'ютері два накопичувачі, які мають таку конфігурацію:

Drive 1: 160GB, /home
Drive 2: 40GB, /boot and /

На жаль, привід 2, здається, вмирає, тому що намагання записати на нього дає мені помилки, а перевірка налаштувань SMART показує сумний стан справ.

На Диску 1 у мене достатньо місця, тому я хотів би зробити це перемістити / та / завантажувати розділи до нього, видалити Диск 2 із системи, замінити Диск 2 новим диском, а потім змінити процес.

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


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

Відповіді:


29

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

Оновлення GRUB залежить від того, GRUB1 чи GRUB2. Якщо GRUB1, вам потрібно відредагувати /boot/grub/device.map

Якщо GRUB2, я думаю, вам потрібно змонтувати свої перегородки так, як вони були б у реальній ситуації. Наприклад:

sudo mkdir /media/root
sudo mount /dev/sda1 /media/root
sudo mount /dev/sda2 /media/root/boot
sudo mount /dev/sda3 /media/root/home

(Заповнення будь-яких реальних розділів, в які ви, звичайно, копіювали речі)

Потім прив’яжіть mount / proc та / dev в / media / root:

sudo mount -B /proc /media/root/proc
sudo mount -B /dev /media/root/dev
sudo mount -B /sys /media/root/sys

Тепер увімкніть диск, щоб ви могли змусити GRUB оновлюватись відповідно до нового макета:

sudo chroot /media/root
sudo update-grub

Друга команда зробить одну скаргу (я забуваю, що це хоч ...), але це нормально ігнорувати.

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


3
FYI для тих, хто переглядає це сьогодні, це не стосується налаштувань EFI. Вам потрібно монтувати /media/root/boot/efi, серед іншого.
wjandrea

1
Мені потрібно до sudo grub-install /dev/sdaдоsudo update-grub
Вільям Мортада

5

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

Для цього вам також знадобиться завантажувальний компакт-диск.

  1. Запустіть завантажувальний CD
  2. Підключіть лише Диск 1
  3. Запустити dd if=/dev/sdb1 of=/media/drive1/backuproot.img- sdb1, будучи вашим root ( /) розділом. Це збереже весь розділ у файлі.
    • те ж саме для /boot
  4. Вимкніть живлення, замініть диск, увімкніть живлення
  5. Виконати dd if=/media/drive1/backuproot.img of=/dev/sdb1- записати його назад.
    • те ж саме для /boot

Вищезгадане створить 2 розділу з точно таким же розміром, як і раніше. Можливо, вам доведеться відрегулювати grub (перевірити пост macos).

Якщо ви хочете змінити розмір розділів (як я):

  1. Створіть 2 розділи на новому диску (для /та /boot; розмір, що вам потрібно)
  2. Змонтуйте резервне зображення: mount /media/drive1/backuproot.img /media/backuproot/
  3. Змонтуйте порожній /розділ:mount /dev/sdb1 /media/sdb1/
  4. Скопіюйте його вміст у новий розділ (я не впевнений у цій команді, дуже важливо зберегти право власності, cp -Rне робити це!) cp -R --preserve=all /media/backuproot/* /media/sdb1
    • те ж саме для /boot/

Це має робити.


Виявляється, новий накопичувач "40 Гб", який я намагаюся встановити, менший, ніж мій нинішній накопичувач "40 ГБ". У мене обоє підключені, і я завантажуюся в liveCD. Чи є простий спосіб просто перейти від старого до нового і назвати це закінченою угодою?
mlissner

Власне, я розібрав це питання. Занадто великий розділ був розділом ext4, тому я завантажив liveCD і використав gparted, щоб трохи зменшити його.
mlissner

4

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

  1. Я одночасно підключив привід і його заміну до комп’ютера.
  2. Новий диск був меншим, ніж старий, тому я стиснув розділи на старому за допомогою GParted.
  3. Після цього я скопіював розділи на старий диск і вставив їх на новий (також використовуючи GParted).
  4. Далі я додав прапор завантаження до правильного розділу на новому диску, тому він фактично був дзеркалом старого диска.

Це все спрацювало добре, але мені потрібно було оновити grub2 згідно інструкцій тут .

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

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