(не удаляя старого из системы, то есть во сменой путей).
1. Устанавливаем новый диск. Загружаемся.
2. Командой fdisk создаем на новом диске разделы нужного размера. Не обязательно, чтобы они совпадали с исходными. Ubuntu обычно ставится с двумя разделами: корень (/) и swap. Если /home был отдельно, то можно создать его. Если пока нет, но планируется, то его можно сразу не создать. Свап и корень делаем основными (primary) разделами, /home и остальные потом кладем в extended (основный еще могут пригодиться для Windows). Пусть новый диск - это /dev/sda. тогда имеем 2 раздела: swap (/dev/sda1) и корень (/dev/sda2). Если к тому нет особых показаний, не стоит делать корень через чур большим, в последствии отделить /home. Тогда при переустановке системы не придется думать о спасении данных. Также в /home можно настроить резервное копирование настроек из корня.
3. Делаем файловые системы::
sudo mkswap /dev/sda1
sudo mke2fs -j /dev/sda2
Ставим метку тома:
sudo e2label /dev/sda2 /
4. Монтируем только что созданные файловые системы в какой-нибудь каталог, например в /mnt/new:
sudo mkdir /mnt/new - делаем каталог для монтирования раздела нового корня
sudo mount /dev/sdab2 /mnt/new - монтируем туда новый корневой раздел
sudo mkdir /mnt/new/proc - создаем каталог для нового /proc
sudo mkdir /mnt/new/tmp.- делаем новый /tmp
sudo mkdir /mnt/new/sys
Ставим права доступа, как у директорий на их аналогов на старом диске.
5. Переносим данные со старого диска на новый (кроме каталогов /proc, /tmp, /sys) на /mnt/new. Внимание! Список каталогов может отличаться от моего:
sudo star cf - bin boot cdrom dev etc initrd initrd.img lib list-c list-l lost+found media opt root sbin srv usr var vmlinuz | (cd /mnt/new; sudo star xvf -)
Команда star позволяет переносить расширенные права на каталоги и файлы. В принципе, можно использовать и обычный tar.
6. Теперь надо очистить каталоги /mnt/new/dev/shm and /mnt/new/dev/pts.
Команда sudo мне не помогала, так как содержимое запрещено для просмотра обычным смертным. Поэтому:
$sudo su
# cd /mnt/new/dev/shm
# rm -r ./*
# cd /mnt/new/dev/pts
# rm -r ./*
7. Ставим загрузчик:
grub-install --root-directory=/mnt/new --recheck /dev/sda
Запоминаем название диска с точки зрения grub. У меня это hd2
8. Теперь надо исправить UUID для разделов.
Исправляем два файла: /mnt/new/etc/fstab и /mnt/new/boot/grub/menu.lst
Как узнать UUID. Выполняем команду:
$ ls -l /dev/disk/by-uuid/
среди разделов находим наши новые корень и свап.
Далее открываем /mnt/new/boot/grub/menu.lst
$ sudo vim /mnt/new/boot/grub/menu.lst
Ищем пункты меню, исправляем UUID корня.
Исправляем путь к загрузочному (корневому) разделу (известен из пункта 7). У меня это строка root (hd2,0)
Исправляем в /mnt/new/etc/fstab пути к корню и свапу
sudo vim /mnt/new/etc/fstab
Клавиши для vim:
удалить символ - x
перейти в режим вставки - i
выйти из режима вставки - Esc
заменить один символ - r
удалить строку - dd
9. Размонтируем новый раздел:
sudo umount /mnt/new
5 комментариев:
Спасибо за руководство, помогло. но в нем есть ошибки.
1. в п.8 надо поправить пути на смонтированный партишен, а то мы будем править на старом.
2. директориям tmp, sys и proc надо дать правильные права после создания, а то некоторые приложения отказываются работать (например KDE)
а, еще. в п.4 не указано, что надо создавать директорию sys
Сергей, спасибо за замечания. Надеюсь, я их правильно понял :).
да, теперь все правильно. теперь если действовать по этому руководству все будет работать сразу, а мне пришлось еще полчасика повозиться. самая засада была с правами на директории - не сразу догадался
У меня это в памяти не отразилось, может сделал, не задумываясь. Ибо все руководства в блоге составлены опытным путем. То, что самому требовалось.
Отправить комментарий