Необходимо виртуализировать один из серверов с FreeBSD 7.0. Делаю дамп разделов (командой dump), создаю виртуальную машину, загружаю FreeBSD с CD. Разворачиваю дампы на новый винчестер (командой restore). Перезагружаю и получаю следующее сообщение об ошибке при загрузкеhttp://s40.radikal.ru/i090/1105/90/336f4ba84205.png
Делаю конвертирование полученного образа в VMWare. Система под VMWare Workstation работает исправно. Мало ли что. Делаю чистую инсталяцию FreeBSD 7.4 под Hyper-V, чтобы убедиться в исправности этой версии (версии 8.1 и 8.2 грузиться под Hyper-V с образов винчестеров почему-то тоже отказались. В отличии от 8.0, которая вполне нормально работает). Все отлично, 7.4 отлично работает на Hyper-V. Ладно, думаю я, может проблема в версии 7.0. Делаю обновление из под VMWare работающей виртуалки на 7.0 в 7.4. Все прошло удачно. Конвертирую диск обратно в образ Hyper-V, пытаюсь загрузиться и получаю точно такую же ошибку.
Как я понял, проблема в расположении файлов на винчестере, т.к. "чистая" версия 7.4 работает под Hyper-V исправно, а апгрейд 7.0 в 7.4 ошибку не исправляет.Вопрос: что необходимо сделать, чтобы система запустилась? Очень не хочется все ставить с нуля.
> Необходимо виртуализировать один из серверов с FreeBSD 7.0. Делаю дамп разделов (командой
> dump), создаю виртуальную машину, загружаю FreeBSD с CD. Разворачиваю дампы на
> новый винчестер (командой restore). Перезагружаю и получаю следующее сообщение об ошибке
> при загрузке
> http://s40.radikal.ru/i090/1105/90/336f4ba84205.png
> Вопрос: что необходимо сделать, чтобы система запустилась? Очень не хочется все ставить
> с нуля.Вы копируете данные, но совершенно забыли про загрузчик.
Сравните, какой был загрузчик в старой системе, такой же поставьте в новой и разверните данные.
> Вы копируете данные, но совершенно забыли про загрузчик.
> Сравните, какой был загрузчик в старой системе, такой же поставьте в новой
> и разверните данные.можно с этого места подробнее? к сожалению, я не специалист. Читал,что рекомендуют с рабочей системы переписать каталог /boot/ Вы это имеете ввиду?
> Читал,что рекомендуют с рабочей системы переписать каталог /boot/ Вы это имеете ввиду?А вы его не скопировали? Или скопировали вместе с остальными разделами?
В любом случае, вам нужно читать хендбук, главу 12.http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/boot-...
>> Читал,что рекомендуют с рабочей системы переписать каталог /boot/ Вы это имеете ввиду?
> А вы его не скопировали? Или скопировали вместе с остальными разделами?
> В любом случае, вам нужно читать хендбук, главу 12.
> http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/boot-...Нет, не скопировал. Точнее так: я не скопировал каталог /boot с системы 7.4, которая работает на hyper-v. Возможно, при обновлении системы с 7.0 до 7.4 обновление этого каталога не происходит. Дело в том, что 7.0, проверено, под hyper-v не работает. Не загружается после инсталляции по той же ошибке, что и у меня на мигрирующей системе.
А можно ли сделать следующее: я устанавливаю "чистую" 7.4 а потом копирую необходимое с / от старой системы? Ведь проблема, как я понимаю, в /, а /var /usr и т.п. на загрузку системы не влияют? Если данный вариант работоспособен, то что мне надо скопировать с рута старой системы в рут свежеустановленной системы?
> Дело в том, что 7.0, проверено, под hyper-v не работает.
> Не загружается после инсталляции по той же ошибке,
> что и у меня на мигрирующей системе.Да работает все, работает. Причина в том, что у вас меняется нумерация дисков. Из-за этого стандартный бутрекорд не может найти загрузочный кернел. Самое простое решение - установка boot0 вместо MBR. Более строгое, но ручное решение - правка лоадер.конфа.
#root_disk_unit="0" # Force the root disk unit number
#rootdev="disk1s1a" # Set the root filesystem
>[оверквотинг удален]
>> Не загружается после инсталляции по той же ошибке,
>> что и у меня на мигрирующей системе.
> Да работает все, работает. Причина в том, что у вас меняется нумерация
> дисков. Из-за этого стандартный бутрекорд не может найти загрузочный кернел. Самое
> простое решение - установка boot0 вместо MBR. Более строгое, но ручное
> решение - правка лоадер.конфа.
> #root_disk_unit="0"
> # Force the root disk unit number
> #rootdev="disk1s1a"
> # Set the root filesystemВы имеете в виду /boot/loader.conf ? Завтра проверю, спасибо. Правда, остается открытым вопрос, почему тот же образ работает в VMWare.
> Правда, остается открытым вопрос, почему тот же образ работает в VMWare.Готов биться об заклад, что в варежке ваш диск распознается, как ad0, а в поделии от МС - ad1.
>> Правда, остается открытым вопрос, почему тот же образ работает в VMWare.
> Готов биться об заклад, что в варежке ваш диск распознается, как ad0,
> а в поделии от МС - ad1.Поробовал и ad0s1a и ad1s1a - бесполезно. Все тоже самое :(
Что ж делать то? Как понять, что ему не нравится?
>> Читал,что рекомендуют с рабочей системы переписать каталог /boot/ Вы это имеете ввиду?
> А вы его не скопировали? Или скопировали вместе с остальными разделами?
> В любом случае, вам нужно читать хендбук, главу 12.
> http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/boot-...UPD:
А вот этим чтение продолжить:
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/faq/disks.htmlВопрос 9.2 полностью описывает последовательность телодвижений при переносе системы с диска на диск
>>> Читал,что рекомендуют с рабочей системы переписать каталог /boot/ Вы это имеете ввиду?
>> А вы его не скопировали? Или скопировали вместе с остальными разделами?
>> В любом случае, вам нужно читать хендбук, главу 12.
>> http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/boot-...
> UPD:
> А вот этим чтение продолжить:
> http://www.freebsd.org/doc/ru_RU.KOI8-R/books/faq/disks.html
> Вопрос 9.2 полностью описывает последовательность телодвижений при переносе системы с
> диска на дискК сожалению, как раз с dump у меня и не сложилось и я это описал в начале. Не знаю, в чем разница между 7.0 и 7.4 и апгрейда 7.0 до 7.4, но факт остается фактом: 7.0 и ее апгрейд до 7.4 в hyper-v не работают с одинаковыми симптомами. Чистая инсталляция 7.4 работает без проблем.
Возможно, стоило бы сделать dump с апгрейда 7.0 до 7.4, но подозреваю, толку особо не будет. К сожалению, система на работе от моих действий подвисла и до завтра я не смогу проверить этот вариант.
> К сожалению, как раз с dump у меня и не сложилосьСначала биос стартует то, что лежит в нулевом секторе диска. Обычно это МБР, который лезет в таблицу разделов, находит там активный раздел, и пытается запустить то, что лежит в первой дорожке активного раздела. Там, в случае фри, лежит boot1, который запускает loader. Все, что до лоадера - тупо и прямолинейно. Лоадер уже конфигурируем. Лоадер, в соответствии с конфигом, находит кернел, загружает его в память и передает ему управление.
В случае, если вместо МБР используется бут-менеджер вроде boot0, сначала ищутся все boot1 в первых дорожках всех разделов всех дисков, невзирая на их активность, и выводятся списком для выбора. Это т.н. "бут-менеджер"
Так вот МБР/бут0 и бут1 лежат вне файловых систем и дамп-рестором не переносятся. И, соответственно, если диск с разделами не подготовить для загрузки, грузиться он не будет. Для того, чтобы система грузилась, нужно:
- через fdisk создать раздел(ы) (таблицу разделов) и установить МБР (можно при помощи boot0cfg заменить MBR на boot0)
- при помощи bsdlabel нарезать раздел(ы) на партиции. При этом, если в разделе будет рутовая партиция, в первую дорожку раздела будет записан boot1, умеющий эту рутовую партицию находить. Если на диске есть несколько разделов с рутовыми партициями, каждый из этих разделов получит свой личный boot1.
- при помощи newfs форматируем все партиции
- и вот только теперь в рутовую партицию можно ресторить дампованую ФС со старого диска.В вашем случае, скорее всего, вы ресторите рутовую ФС в партицию, которая при создании не была обозначена, как рутовая (adXsYa) Соответственно, boot1, если он вообще есть, не может найти /boot/kernel, потому что ищет он его всегда и только на рутовой партиции.
>> К сожалению, как раз с dump у меня и не сложилось
> В вашем случае, скорее всего, вы ресторите рутовую ФС в партицию, которая
> при создании не была обозначена, как рутовая (adXsYa) Соответственно, boot1, если
> он вообще есть, не может найти /boot/kernel, потому что ищет он
> его всегда и только на рутовой партиции.Увы, но рут восстановлен в ad0s1a. Как я заметил в самом начале топика, грузится-не грузится зависит лишь от движка витруальной машины. Образ не меняется (разве что делается конверт утилитой из vhd в vmdk)