Автор Гілка: Переїзд на новий HDD.  (Прочитано 3389 раз)

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Дано: ноут з 120GB штатним HDD, новий 320GB HDD, яким я хочу замінити старий зі збереженням всіх даних.
Є три розділи - swap та кореневий, розміри яких варто залишити сталими, та /home - який має зайняти всю решту простору.
Як це зробити найменшими рухами?
P.S. Є також USB HDD, корпус якого можу використати для підключення до ноута нового чи старого пристроїв, або використати сам носій для перенесення образу/архіву.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: Переїзд на новий HDD.
« Відповідей #1 : 2010-04-17 23:32:58 »
Під'єднати новий до старого, зробити аналогічну розмітку. Скопіювати всі файли з відповідними правами.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Переїзд на новий HDD.
« Відповідей #2 : 2010-04-17 23:53:36 »
Опція в cp така є для прав?
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
Re: Переїзд на новий HDD.
« Відповідей #3 : 2010-04-18 01:14:47 »
--preserve (man cp)
Ubuntu 20.04/18.04; CentOS 7.x

Відсутній zz

  • Новачок
  • *
  • дописів: 8
  • Карма: +0/-0
Re: Переїзд на новий HDD.
« Відповідей #4 : 2010-04-18 04:23:23 »
Для переносу даних можна використати LiveCD якого-небудь з відомих дистрибутивів.

Після завантаження з LiveCD, треба ідентифікувати фізичні носії, тобто, який з фізичних дисків є /dev/sda (/dev/hda), а який /dev/sdb (/dev/hdb).
Для цього можна скористатися fdisk з опцією -l:

# fdisk -l /dev/sda

Disk /dev/sda: 250.1 GB, 250059350016 bytes
...
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1           9       72261   83  Linux
/dev/sda2              10         375     2939895   83  Linux
...

По інформації про об'єм диску та його розділи, можна визначитись who is who.

На новому диску треба створити розділи. Про використання fdisk можна почитати тут: http://skif.bas-net.by/bsuir/admin/node10.html
Розмір розділів не має збігатися з розміром відповідних розділів старого диску. Тобто, за необхідністю, можна зменшити розділ swap, та збільшити корінь.

Далі форматування нових розділів (приклад наведено для ext3):
# mke2fs -j /dev/$NEW.ROOT
# mkswap /dev/$NEW.SWAP
# mke2fs -j /dev/$NEW.HOME

Потім змонтувати старий та новий розділи.
# mkdir -p /mnt/old/home
# mkdir -p /mnt/new/home
(опція -p говорить програмі про те, що необхідно створювати проміжні каталоги, якщо вони не існують)
# mount /dev/$OLD.ROOT /mnt/old
# mount /dev/$OLD.HOME /mnt/new/home
# mount /dev/$NEW.ROOT /mnt/old
# mount /dev/$NEW.HOME /mnt/new/home

Перенос даних краще за все виконувати за допомогою tar та unix-каналу (pipe). При такому хитрому копіюванні збережуться всі жорсткі посилання (hard links) та розрідженні файли (sparse files). cp так не вміє  :P

# cd /mnt/old
# tar cf - . | (cd /mnt/new; tar xvf -)

Також можна звернути увагу на rsync.

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: Переїзд на новий HDD.
« Відповідей #5 : 2010-04-18 10:36:25 »
Опція в cp така є для прав?
cp -aВоно копіює всі атрибути файлів, навіть hardlinks.
« Змінено: 2010-04-18 10:36:59 від Re. »

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Переїзд на новий HDD.
« Відповідей #6 : 2010-04-18 21:42:44 »
# cd /mnt/old
# tar cf - . | (cd /mnt/new; tar xvf -)
Казала мама, вчи консоль  :)
Власне, за підказку з tar та pipe дякую, хоча в роботі ще не перевіряв - нині копіюється. fdisk  та інших товаришів знав, але, оскільки, відомим дистрибутивом, живчик якого я використав, є Убунту, то я скористався GParted і спростив собі життя.
Власне, чому я задав таке запитання - а раптом існує щось автоматизоване на кшталт Arconis.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Re: Переїзд на новий HDD.
« Відповідей #7 : 2010-04-23 10:01:02 »
я от сам не пробував, але не буде найпростішим заюзати dd а ля

dd if=/dev/sda of=/dev/sdb(головне, не переплутати if та of  :D)

Тоді теоретично на новому диску буде розмітка старого + невикористане місце, яке можна використати, збільшивши розмір /home.
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Переїзд на новий HDD.
« Відповідей #8 : 2010-04-23 10:40:54 »
Уже переїхав - завантажився з живчика бубунти, gparted підготував розмітку і вищеописаном способом - tar + pipe перемістив усе файло. Ну, grub відновив через chroot.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
Re: Переїзд на новий HDD.
« Відповідей #9 : 2010-04-26 01:16:46 »
я от сам не пробував, але не буде найпростішим заюзати dd

dd + parted (resize) + resize2fs

На мій погляд теж найпростіший варіант.
Best regards,
nickat

Відсутній infinity9

  • Новачок
  • *
  • дописів: 25
  • Карма: +0/-0
  • "Use the Force, read the source"
Re: Переїзд на новий HDD.
« Відповідей #10 : 2010-04-27 17:34:38 »
zz велике дякую за інформацію про тар.

Якраз те чого мені бракувало... довелось дд заюзати.
InfinitylX's space http://www.infinitylx.org.ua