LINUX.ORG.RU

Нужна помощь, не грузится после клонирования диска. Срочно (

 


0

2

Здравствуйте. Я честно скажу - с Линукс я знаком очень плохо. Но стоит у нас система видеонаблюдения, на системнике софт на базе линукса. Посыпался диск IDE-шный, купил новый SATA и склонировал посекторно. Ставлю новый, а при загрузке GRUB loading Stage1.5 и висит. Поиск выдает про ошибки разные, а у меня ничего кроме это строчки. Шеф стоит над душой... помогите, люди добрые, пожалуйста.

Если были IDE то нужно править /etc/fstab

IDE диски:
/dev/hda - master на 1 контроллере,
/dev/hdb - slave на 1 контроллере,
/dev/hdc - master на 2 контроллере,
/dev/hdd - slave на 2 контроллере.
SATA/SCSI HDD, а также многие переносные накопители типа USB flash:
/dev/sda, /dev/sdb, /dev/sdc и т.д.
Ну и потом обновить загрузчик. Не в качестве рекламы может у вас стоит вот это http://avreg.net/avreg.html там есть и доки.

pvvking ★★
()

Скачайте какой-нибудь LiveCD, запустите на этом компьютере, посмотрите через него, что там с диском (появятся ли разделы в выводе fdisk -l, например). Дальше видно будет

yoghurt ★★★★★
()
Ответ на: комментарий от pvvking

До fstab тут дело даже не доходит, по-моему. fstab цепляется уже когда ядро загружено

yoghurt ★★★★★
()
Ответ на: комментарий от kerneliq

Да, но если он всё правильно скопировал то UUID должны быть правильные и загрузчик тоже.

Izumkin

А ты какой командой воспользовался для клонирования?

rezedent12 ☆☆☆
()

Какой линукс то был?

и склонировал посекторно

Зря, по крайней мере если sata винт большего объема, то теперь у него таблица разделов от ide винтчестера.

GRUB loading Stage1.5 и висит.

Какой у вас дистрибутив был установлен? Подозреваю что /dev/hdaX на sata стали именоваться /dev/sdaX

В любом случае нужен загрузочный диск или флешка parted magic или systemrescuecd, для переустановки в загрузочный сектор grub.

bhfq ★★★★★
()
Ответ на: комментарий от bhfq

диск того же объема какой дистриб был - LinuxBased DVR. Все, что знаю. с флэшки гружусь, через что и как менять и переустанавливать GRUB?

Izumkin
() автор топика
Ответ на: комментарий от Delirium_veritas

FacePalm...

Я сразу сказал, что не шарю в линукс. Соседей таких нет сейчас. Разовая операция, а шеф казнит, вот и прошу помочь...

Izumkin
() автор топика
Ответ на: комментарий от kerneliq

Загрузился с флэшки, там разделы sda1 и sda2. sda1 с флагом Boot. Подмонтировал sda1, исправил в fstab hda1 на sda1, перегрузил - ничего не изменилось ((((

Izumkin
() автор топика
Ответ на: комментарий от Izumkin

Возможно надо обновить конфиг граба и переустановить его.

yoghurt ★★★★★
()
Ответ на: комментарий от Izumkin

Ставлю новый, а при загрузке GRUB loading Stage1.5 и висит

У вас происходит проблема ещё на запуске загрузчика. Поэтому править что-либо в /etc/fstab ещё рано.

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

Теперь по сути.

У вас сейчас подключены оба диска, IDE и SATA или только SATA?
Как клонировали диски, какой программой, от части в этом может крыться проблема?

В начале всё же попробуем восстановить загрузчик:
Загрузитесь с livecd диска, и выполняйте:

grub
grub> root (hd0,0)
setup (hd0)
grub> quit

Вывод должен быть примерно таким:

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  17 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 d (hd0) (hd0)1+17 p (hd0,0)/boot/grub/stage
2 /boot/grub/menu.lst"... succeeded
Done.

Теперь перезагрузитесь, удостоверьтесь, что загрузчик корректно запускается.

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

Если загрузчик корректно запускается, то снова загружаетесь с LiveCD и редактируете /etc/fstab.

Вы можете указать файловые системы посредством UUID, что бы избежать путаницы /dev/sda1 и /dev/hda1.

Значение UUID смотрите в вывод команды blkid.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Вывод blkid примерно следующий:

/dev/sda1: UUID="b1b6d638-5024-4e52-f338-402a6e41916d" TYPE="ext4"

Теперь монтируете первый раздел и редактируете /etc/fstab, указав вместо /dev/hda1 UUID=<UUID>, тоже самое и со вторым разделом.

Хотя можете попробовать и просто загрузиться, вдруг ядро вашего Linux дистрибутива «видит» все диска как /dev/sd*.

В любом случае, если загрузка без изменений /etc/fstab не произойдёт, то редактируете /etc/fstab, кроме всего прочего нужно отредактировать параметры ядра, передаваемые в загрузчике, выбираете пункт меню, нажимаете «e» и в строке

kernel /boot/vmlinux root=/dev/hda1 ...
изменяете значение root=/dev/hda1 на /dev/sda1, это примерно, строка может выглядеть немного по другому, кроме всего прочего, возможно и менять ничего не нужно будет. Но после изменение жмёте «b» для запуска с измененными параметрами.

Если всё успешно после загрузки сможете отредактировать конфигурационный файл загрузчика /boot/grub/menu.lst

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Я тут на правах анонимуса кое-что хочу посоветовать

1) Восстанавливать grub с Live CD таким макаром - небезопасно, у топикстартера первый груб, а на диске 99% будет второй, и станет нехорошо )
2) На примере systemresquecd
mkdir /mnt/chroot
mount /dev/sda1 /mnt/chroot
cat /mnt/chroot/etc/fstab
дальше в зависимости от содержимого ./etc/fstab у нас два пути. Первый - у вас система в sda1 а данные в sda2 - все хорошо
Второй - у вас в sda1 /boot, а система в sda2. Лучше запостите /etc/fstab сюда
Если у вас первый вариант
mount -t proc proc /mnt/chroot/proc
mount -t sysfs sysfs /mnt/chroot/sys
mount -o bind /dev /mnt/chroot/dev
chroot /mnt/chroot
update-grub
если второй - пишите, разберемся

anonymous
()
Ответ на: комментарий от Izumkin

загружаешься с livecd, могтируешь свой корень куда-нибудь, chroot туда куда смонтировал, и делаешь grub install /dev/веник
главное перед чрутом пробрось /dev и смонтируй /proc

NeverLoved ★★★★★
()
Ответ на: комментарий от NeverLoved

о, вот анон выше рассказал подробнее. граб у тебя первый судя по всему, так что если у тебя не будет комманды update-grub
то сделаешь grub-install /dev/тввойдиск

NeverLoved ★★★★★
()
Ответ на: комментарий от anonymous

у топикстартера первый груб, а на диске 99% будет второй, и станет нехорошо )
На примере systemresquecd

На примере systemrescuecd всё как раз будет хорошо, т.к. в нём присутствует как первый grub, так и второй, смотрите package list http://www.sysresccd.org/Detailed-packages-list .

 -----------------------------------
|  sys-boot     |    grub-0.97-r13 |
 -----------------------------------
|  sys-boot     |    grub-2.00-r3  |
 ----------------------------------

Кроме всего прочего, если на LiveCD нет grub-0.97, то команды 'grub' на нём не будет и ТС об этом напишет.

дальше в зависимости от содержимого ./etc/fstab у нас два пути. Первый - у вас система в sda1 а данные в sda2 - все хорошо Второй - у вас в sda1 /boot, а система в sda2. Лучше запостите /etc/fstab сюда

У ТС всего два раздела и система на первом, он сам об это пишет, читайте внимательно Нужна помощь, не грузится после клонирования диска. Срочно ( (комментарий) сообщения в теме.

Izumkin

Загрузился с флэшки, там разделы sda1 и sda2. sda1 с флагом Boot. Подмонтировал sda1, исправил в fstab hda1 на sda1

Если у вас первый вариант

У меня нет никакого варианта, я не ТС.

kostik87 ★★★★★
()
Ответ на: комментарий от Izumkin

Загрузился с флэшки, там разделы sda1 и sda2. sda1 с флагом Boot. Подмонтировал sda1, исправил в fstab hda1 на sda1, перегрузил - ничего не изменилось ((((

скинь-ка сюда /boot/grub/menu.lst

dikiy ★★☆☆☆
()
Ответ на: комментарий от bhfq

Вы так и не прочитали целиком моё сообщение или прочитали, но не осмыслили, печально.

У ТС первый grub, об этом можно судить по «GRUB loading Stage1.5» .

Т.к. ТС сказал, что склонировал диск целиком, то у него все файлы grub уже есть на разделе.

Что бы прописать код GRUB в mbr или на раздел совсем не нужно запускать grub-install.

Достаточно, что бы в LiveCD была команда 'grub', дальше следуете указанным мной командам.

А что бы выполнить вашу команду, grub-install, нужно в начале смонтировать корневую файловую системы, затем все прочие файловые системы, в частности /usr, если он вынесен отдельно, затем подмонтировать /dev и /proc, выполнить chroot и уже затем выполнять вашу команду 'grub-install'.

mount /dev/sda1 /mnt
mount /dev /mnt/dev -o bind
mount -t proc none /mnt/proc
chroot /mnt /bin/sh
grub-install --root-directory=/boot /dev/sda

При использовании способа, который указал я, нужно только загрузиться с LiveCD, на котором есть grub и выполнить:

# grub
grub> root (hd0,0)
setup (hd0)
grub> quit

Согласитесь, мой способ проще.

У меня Gentoo.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

грузиться он стал, но не догружается. Доходит до строки Begin: Waiting for root file system... ... висит, потом

Done.

Alert! /dev/sda1 does not exist.. Droppping to a shell!

BusyBox v1.1.3 (Debian 1:1.1.3-2Ubuntu3) Built-in shell (ash)

Enter help for a list of built in commands.

/bin/sh: can't access tty: job control turned off

(initramfs)

Izumkin
() автор топика
Ответ на: комментарий от Izumkin

hda на sda в fstab возможно не стоило менять

mos ★★☆☆☆
()
Ответ на: комментарий от Izumkin

Какие из описанных мной действий вы сделали ?

В /etc/fstab вы изменили /dev/hda1 на /dev/sda1 или указали через UUID ?

Пробовали грузиться с root=/dev/hda1 ?

Вы подключили новый жёсткий диск к старому «железу» или сменили и само железо ?

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

В /etc/fstab вы изменили /dev/hda1 на /dev/sda1 или указали через UUID ?

Сначала менял на sda1, потом пробовал UUID указать - одинаковый результат.

Пробовали грузиться с root=/dev/hda1 ?

Здесь не понял, что Вы имеете в виду. В меню менял hda1 на sda1 и нажимал b, иначе он писал, что hda1 does not exist

Вы подключили новый жёсткий диск к старому «железу» или сменили и само железо ?

Железо прежнее.

Izumkin
() автор топика
Ответ на: комментарий от Izumkin

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

Покажите вывод

lspci -k | grep "IDE\|ATA" -A 4
загрузившись с LiveCD.

Такой вопрос, вы пробовали загружать систему без редактирования /etc/fstab и оставив без изменения root=/dev/hda1 ?

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от Izumkin

Конечно как, но с вашими навыками довольно трудно.

На базе хоть какого дистрибутива Linux собрана системе ?

kostik87 ★★★★★
()
Ответ на: комментарий от Izumkin

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

vxzvxz ★★★
()
Ответ на: комментарий от Izumkin

Чтобы тебе помочь надо знать, что за дистрибутив использовался, как ты снимал клон (c помощью dd, cp и еще чего, клонировал весь диск или разделами), какой загрузчик у тебя, если загрузчик груб, то какой версии?

vxzvxz ★★★
()
Ответ на: комментарий от vxzvxz

Вряд ли ТС использовал dd или cp, скорее Acronis или что-то подобное.

Загрузчик он уже поправил, у него grub-0.97.

Проблема осталась в добавлении модуля поддержка SATA контроллера в initramfs.

Мне почему-то кажется, что у него Debian.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

А он помимо fstab файлы первогруба поправил с hda на sda, там в директории первогруба в нескольких файлах есть запись о старом диске

vxzvxz ★★★
()
Ответ на: комментарий от kostik87

BusyBox v1.1.3 (Debian 1:1.1.3-2Ubuntu3) Built-in shell (ash)

Это не означает именно Debian? Я б еще знал как посмотреть (((

для клонирования я disk patch использовал. Т.е. просто подцепил новый диск, загрузился с флэшки с софтом и посекторное копирование выбрал.

Izumkin
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.