переместить рабочий linux с винта на винт

elenangel

купил винт на 1500 Гб вдобавок к своему бывшему на 500 Гб. оба Western Digital если вдруг это имеет значение. теперь хочу непереустанавливая линукc (Mint 8 Helena) перенести его на 2 жесткий диск, перетащить все данные (тут проблем нет перетащить винду ХР (хорошо бы, но не критично, в случае чего поставлю а старый диск соответственно очистить и отдать бате. при переезде еще хочу c ext3 на ext4 перейти.
как бы это сделать?

serega1604

cp -ax, grub-install, vim /etc/fstab может ещё vim /boot/grub/menu.lst

elenangel

с fstab и /boot/grub/menu.lst я, пожалуй, разберусь
а вот по поводу первого: я правильно понял, что нужно сказать sudo cp -ax /* /media/eb93983f-8eaf-41db-8fa0-25f354f15b87
где /media/eb93983f-8eaf-41db-8fa0-25f354f15b87 это то, куда подмонтировался раздел, в который я хочу переместить linux?

serega1604

во-первых, это довольно сильно зависит от того какие у тебя разделы на старом харде, а то у некоторых под / один раздел, под /var - другой, под /tmp - третий
во-вторых man cp и включать мозг.
ЗЫ ну и как бы сейчас у тебя ситуация такая что даже если ты с первого раза не сможешь перенести, то будет второй шанс.

elenangel

разделы у меня под / один, под /home - второй. + своп, + раздел под винду + 2 раздела ntfs под данные (я пока психологически не готов переходить полностью под ext?). мозг постарался включить, пока копируется корень. и блин оно /home тоже копирует в тот раздел где будет /.

kruzer25

мозг постарался включить, пока копируется корень. и блин оно /home тоже копирует в тот раздел где будет /.
Загрузочный диск Acronis TrueImage перенесёт тебе все разделы, после чего в худшем случае надо будет в паре конфигов в линуксе изменить id винчестера (а в лучшем - не надо будет делать ничего).
Возможно, dd тоже всё сделает правильно, но, афаик, изменять размеры разделов после этого под новый винчестер тебе придётся самому.

kruzer25

cp -ax
Вопрос на засыпку - что произойдёт после этого с хардлинками?
(это не единственная проблема, просто самая явная).

serega1604

ты не поверишь, но они останутся хардлинками, причём об этом написано в (о боже мой) man-е по cp.
ЗЫ сам неделю назад переносил / с обычного раздела на lvm именно при помощи cp, какие там говоришь ещё проблемы?

serega1604

ман-то прочитал? там вроде все понятно написано про эти ключи.

serega1604

да, если ты копируешь именно cp -ax /* /media/что-то_там то /home/ тоже будет копироваться - тебе надо было копировать без звёздочки.

elenangel

почитал. a - копировать со всеми аттрибутами не раскрывая ссылки, x - оставаться в пределах одной файловой системы.

elenangel

вот только Акрониса мне не хватало. он насколько я помню грузился только на моем древнем компе с ide дисками. sata в упор не видит (во всяком случае в режиме расширенной эмуляции ide). новую версию искать/качать/ломать/what_ever не хочу

serega1604

ну так когда ты пишешь /* его bash раскрывает в /home /sys /proc и т.д. и для каждого из этих аргументов применяется условие не менять файловую систему.

elenangel

учел, сейчас пробую без *.
впервые в жизни применил rm -rf ./* в новом разделе =) ссыкотно блин.

kruzer25

он насколько я помню грузился только на моем древнем компе с ide дисками
Это насколько же древняя версия была?
новую версию искать/качать/ломать/what_ever не хочу
Торрентс.ру спасёт тебя.
Ломать загрузочные диски отроду не нужно было; на то, чтобы разобраться с cp ты, похоже, потратил уже больше времени, чем потратил бы на скачивание и записывание образа TrueImage; а он бы решил сразу все твои проблемы (тебе же ещё винду перенести надо было?)

elenangel

на то чтобы разобраться с cp у меня ушло 2 попытки, основное время ушло на копирование данных. в это время у меня была живая система и свободный инет. а Acronis я качал бы около 3 часов, на время которых остался бы без инета, а потом еще часа 2 на перемещение разделов при загруженом аронисе и не дай Бог - свет мигнет в это время.

elenangel

подскажи, пожалуйста с установкой груба.
я пробовал так:
 yacht ~ $ sudo grub-install /dev/sdb5
/dev/sdb5 does not have any corresponding BIOS drive.
yacht ~ $ sudo grub-install /dev/sdb
/dev/sdb does not have any corresponding BIOS drive.
yacht ~ $

и так:
 
yacht ~ $ sudo grub
[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]

grub> device (hd0) /dev/sdb

grub> root (hd0,0)

grub> setup (hd0)

Error 17: Cannot mount selected partition

grub>

serega1604

sudo grub-install --root-directory=/media/что-там_у_тебя --recheck --force-lba --no-floppy /dev/sdb
как-то так вроде.

elenangel

сделал так
sudo grub-install --root-directory=/media/eb93983f-8eaf-41db-8fa0-25f354f15b87 --recheck --force-lba --no-floppy /dev/sdb
исправил все uuid соответствующие старому корню в grub.cfg на uuid нового раздела.
в device.map написано

(hd0) /dev/sda
(hd1) /dev/sdb

теперь с этого винта начинается загрузка, выводит
grub>
и все

serega1604

>исправил все uuid соответствующие старому корню в grub.cfg на uuid нового раздела.
а там grub2 что-ли? я хер знает чо с ним да как - никогда не видел его.

elenangel

да фиг его знает.
yacht ~ $ grub-install --version
grub-install (GNU GRUB 0.97)
в Mint 7 файл назывался menu.lst. а в 8 версии сделали grub.cfg, причем он с виду устроен сложнее. вот он:
 
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set eb93983f-8eaf-41db-8fa0-25f354f15b87
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/06_mint_theme ###
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set eb93983f-8eaf-41db-8fa0-25f354f15b87
insmod png
if background_image /boot/grub/linuxmint.png ; then
set color_normal=white/black
set color_highlight=white/light-gray
else
set menu_color_normal=white/black
set menu_color_highlight=white/light-gray
fi
### END /etc/grub.d/06_mint_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Linux Mint 8 Helena, linux 2.6.31-14-generic (/dev/sda7)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set eb93983f-8eaf-41db-8fa0-25f354f15b87
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=eb93983f-8eaf-41db-8fa0-25f354f15b87 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry "Linux Mint 8 Helena, linux 2.6.31-14-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set eb93983f-8eaf-41db-8fa0-25f354f15b87
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=eb93983f-8eaf-41db-8fa0-25f354f15b87 ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set 7C7EF3F95852DC27
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

serega1604

>DO NOT EDIT THIS FILE
а ты такое видел?

elenangel

видел. я думал все равно можно, так много где пишут.

serega1604

можно-то можно, только при первом же обновлении ядра этот файл перезапишется.
найди хоть к какому пакету у тебя grub-install принадлежит. что-нибудь типа dpkg -S `which grub-install`
просто раз у тебя grub.cfg, то это grub2 и в нем grub-install должен говорить что версия у него что-то вроде 1.97
ЗЫ. опять в этих убунтах все не как у людей.

kruzer25

а Acronis я качал бы около 3 часов, на время которых остался бы без инета
Сочувствую. Не знал, что ты сидишь через gprs.
Просто в дефолтной ситуации на скачивание этого образа уходит максимум 15 минут (это если канал всего лишь мегабитный).

kruzer25

найди хоть к какому пакету у тебя grub-install принадлежит. что-нибудь типа dpkg -S `which grub-install`
Знатоки, вы тут сколько времени уже потратили на еблю с загрузчиком? :D
А между тем, судя по конфигу, идентификаторы винчестеров он не использует, только разделов (а они бы остались при переносе через TrueImage :D )

elenangel

Знатоки, вы тут сколько времени уже потратили на еблю с загрузчиком?
пока чистого времени около 2 часов. но в данном случае я предпочту шашечки а не ехать.

elenangel

похоже я сам все сломал.
вчера когда прочитал в каком-то мане про
grub> device (hd0) /dev/sdb

grub> root (hd0,0)

grub> setup (hd0)

ввел grub и мне сказали что его нету.
я и сделал sudo apt-get install grub
оно поставило grub (первый похоже) и попутно снесло какой-то пакет, название которого я не запомнил. в результате у меня сейчас смесь из 1 и 2 грубов и непонятно как оно работает. старая система грузится нормально, а в скопированную не ставится ни в какую. и еще, файлик grub.conf генерируется командой grub-mkconfig как и указано в его начале, при этом в нем оказываются указаны операционные системы с обоих дисков, однако помещение этого файла во вторую систему не ведет к ее работоспособности.

elenangel

ура, товарищи!

sudo apt-get install grub2
sudo grub-install --root-directory=/media/eb93983f-8eaf-41db-8fa0-25f354f15b87 --recheck --no-floppy /dev/sdb

и все заработало, правда теперь у меня в списке загрузки по 2 экземпляра каждого варианта загрузки, но думаю, когда уберу один из винтов, можно будет переустановить груб и он опять построит актуальный список.
огромное спасибо за помощь .

serega1604

>Знатоки, вы тут сколько времени уже потратили на еблю с загрузчиком? :D
пока что тут я не видел ни одного знатока, который бы видел grub2 (и уж тем более пытался его настраивать).

banderon

Кстати, надо будет как-нибудь на досуге заняться grub2. Три года назад, когда я с ним ковырялся, он был ещё так себе, вернулся я тогда на старый добрый grub :grin:

elenangel

можно-то можно, только при первом же обновлении ядра этот файл перезапишется
таки я руками этот файл чуть-чуть поправил - номер оси по умолчанию поставил нужный мне, а не 0. и потом мне кажется что при обновлении ядра или grub или чего-там еще оно спросит какую версию конфига оставить: старую, новую, попробовать слить, показать различия построчно.

alfadred

Этот файл генерируется на основе /etc/grub.d/* и /etc/default/grub. Тру способ настройки - изменение этих файлов, в частности GRUB_DEFAULT в /etc/default/grub объявляется.
Генерируется он при любом обновлнии GRUB'а или ядра и ни о чем не спрашивает.

tokuchu

пока что тут я не видел ни одного знатока, который бы видел grub2 (и уж тем более пытался его настраивать).
Да ничего страшного в нём нет. У мне крутится на нескольких серваках вроде. И вот недавно на домашнем ноуте Убунту обновил, там тоже теперь.

serega1604

ну вот, а из-за вашего молчания пенартурчег слюной брызжет что мы загрузчик долго настраиваем.

tokuchu

ну вот, а из-за вашего молчания пенартурчег слюной брызжет что мы загрузчик долго настраиваем.
:grin:

Filan

номер оси по умолчанию поставил нужный мне, а не 0.
grub-set-default
Не оно?

elenangel

для истории отпишусь.
отключил старый жесткий диск. система опять отказалась грузиться. оказалось в grub.cfg ссылка на ядро осталась на отсутствующий диск. исправил строки с uuid и с номером раздела. система загрузилась. запустил
sudo grub-mkconfig -o /boot/grub/grub.cfg
конфиг переписался в соответствии с наличествующими системами (linux, linux recovery, memtest, memtest через модем, винда и что самое интересное, начала грузиться копия винды, сделанная тоже командой cp -ax. (до этого не грузилась, хотя делал fixboot из консоли восстановления на копию).

zloDEY

конфиги grub2 на вид не сильно от grub отличаются,
только править надо не главный конфиг, а подключаемые в него файлы
но (по информации из третьих убунтушных рук) нельзя править параметры на лету из командной строки загрузчика
это правда ?

tokuchu

конфиги grub2 на вид не сильно от grub отличаются
Да, там даже без манов можно разобраться.
только править надо не главный конфиг, а подключаемые в него файлы
В новой Убунте он генерится из нескольких, да. В gentoo всё по-человечески. :)
но (по информации из третьих убунтушных рук) нельзя править параметры на лету из командной строки загрузчика
это правда ?
Нет. Вроде всё можно так же редактировать.

liliya357

cp -ax, grub-install, vim /etc/fstab может ещё vim /boot/grub/menu.lst

Каждый раз после таких ответов желание попробовать линух пропадает :grin:

kokto

Каждый раз после таких ответов желание попробовать линух пропадает :grin:
Для обычного бытового пользователя это все не нужно. Это называется горе от ума :)
Захочешь разобраться, разберешься, если покопаешься.

elenangel

ты спроси какой командой винду из нее самой её же средствами на другой раздел переносить - там страшнее будет на порядок, если возомжно вообще.

Vadim69

еще интереснее - не только на другой винт, но и при этом на другой комп, более-менее сильно отличающийся по конфе.

elenangel

кстати линукс на старом винте на другом компе запустился (я ж его не сносил, зачем ломать хорошую вещь только на видеокарту немножко ругнулся - предложил вариант с пониженой графикой, потом скачал драйвер nVidia и успокоился. а переезд был:
E5200 2.5GHz -> какой-то селерон (PIII) 1.1 GHz;
GeForce 9600 GT -> GeForce 2 MX
1 GB RAM -> 256 MB RAM
и внимание, винт воткнут через PCI контроллер Silicon Image какой-то там, винда такой без доп. дров вообще не видит, а линукс с него загрузился и не чихнул.
Оставить комментарий
Имя или ник:
Комментарий: