LINUX.ORG.RU

Слетел загрузчик grub.

 ,


0

1

Всем привет. Прошу помощи, сильно не ругайте т.к. новичок. ОС OpenSUSE 11 при загрузке выдает сообщение grub> Я так понял это загрузчик. В сети полно статей на эту тему например я делал по https://en.opensuse.org/SDB:Repair_MBR_after_Windows_install. Но тут опять трудности возникли. При выполнение команды mount выдал unknow file system type 'linux_raid_member' Команда fdisk -l выдало 3 раздела sda1 sda2 sda3, а в поле system linux raid autodetect. Хотя система работала только на 1 диске.


Ответ на: комментарий от sigurd

Это после mdadm /dev/md0 -f /dev/sda1 -r /dev/sda1 -a /dev/sda1
Глупый вопрос но как сейчас его глянуть через rescue? /etc/mdadm.conf

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

Я еще в начала форума говорил что новичок. И вместо того что бы выпускать свой пар, лучше бы подкинули идею!

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

чувак идея в том что ты развиваешь. себя.

ну или постишь на ЛОРе. выбор за тобой.

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

Надо смотреть /etc/mdadm.conf, закоментарить в нем создание md0 из sda1 и вероятно sdb1. затем делаем mkswap /dev/sda1 и 1/3 часть проблеммы решена! Это если не предполагается вернуть диск назад, к его парному диску sdb!
Надо примонтировать /dev/sda2 Пробуем mount /dev/sda2 /mnt
смотрим /mnt/etc/mdadm.conf Если моунт грязно ругается - будем прикручивать раздел к рейду опять!

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

Я уже эту команду выполнял
mount /dev/sda2 /mnt
Выдало
mount: unknow filesystem type 'linux_raid_member'
Диск если честно только 1 в системе стоял, видимо когда то давным давно raid1 стоял. Сейчас же понадобилось в виртуальную среду закинуть и забыть о них

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

Я все время забываю, что у тебя весь конфиг рейда записан в /etc/mdadm.conf
Загружаемся в rescue
делаем mdadm /dev/md1 -A -R /dev/sda2
затем
mount /dev/md1 /mnt
смотрим /mnt/etc/mdadm.conf
если все нормально - можно править /mnt/etc/fstab и /boot/menu/lst назад

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

Пожалуй - не будем менять конфиг mdadm. Тут дело в том что обычно бывает обратная ситуация - надо восстановить поломанный рейд, добавить в него диск и т.п. Удалять рейд на 1 имеющемся диске не приходилось - обычно переливается содержимое на другой винт. Кстати - на последнем фото разглядел у вас не размеченный диск /dev/sdb. Не хотите создать на нем sdb1 (swap) и sdb2 (/) и перелить на sdb2 содержимое sda2 и sda3 (объединение / и home будет полезно для дальнейшего переноса в виртуалку) - т.е. таким способом избавиться от рейда -все можно будет выполнить в rescue режиме. Вот почитай про копирование системы на другой диск - http://seriyps.ru/blog/2008/11/22/perenos-sistemy-na-drugoi-hdd/

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

Диск присоединял я, хотелось сделать зеркало да не вышло, но на данный момент его нет.
Я всегда за то что бы сделать так как нужно! И в конечном итоге запустить ее под виртуалкой
Этими командами мы что изменили?
fdisk /dev/sda <Enter>
t
1
82
t
2
83
t
3
83
w
q
И как вернуть обратно?

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

В общем поправил я /mnt/etc/fstab и mnt/boot/grub/menu.lst, перезагружаюсь и выдает следующее
Trying manual resume from /dev/md0
resume device /dev/md0 not found (ignoring)

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

disk /dev/sda <Enter>
t
1
82

Это тип 1 раздела меняли FD -> 82 (linux swap), теперь всем трем разделам поменять обратно на FD (автоопределение рейд) и незабыть w перед выходом из fdisk

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

Правильно что fdisk -l в режиме rescue выдает
Device boot Boot ___ id System
/dev/sda1 * _______ fd Linux raid autodetect
/dev/sda2 ________ fd Linux raid autodetect
/dev/sda3 ________ fd Linux raid autodetect
Вместо того как было раньше /dev/md0 и т.д.

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

загрузись в rescue режиме, выполни
mdadm /dev/md0 --re-add /dev/sda1
mdadm /dev/md1 --re-add /dev/sda2
mdadm /dev/md2 --re-add /dev/sda3
еще приведи вывод
cat /proc/mdstat

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

Загружаемся в rescue. делаем
mdadm /dev/md0 -A -R /dev/sda1
mdadm /dev/md1 -A -R /dev/sda2
mdadm /dev/md2 -A -R /dev/sda3
смотрим вывод команды mdadm -Q /dev/sda2
ну и снова cat /proc/mdstat
снова повторить --re-add (если опять ругается - то заменить --re-add на --add)

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

Теперь, при запущенных вручную рейдах сделать добавление дисков:
mdadm /dev/md0 --add /dev/sda1
mdadm /dev/md1 --add /dev/sda2
mdadm /dev/md2 --add /dev/sda3
и перегрузиться

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

mdadm /dev/md0 --add /dev/sda1 выдал ошибку Cannot open /dev/sda1: Device or resourse busy
А команда mdadm /dev/md0 -A -R /dev/sda1 успешно

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

Не хочу мешать развлекаться с полуживым рейдом, только интересен один момент: если уж планируется миграция хоста на hyperv, то почему эксперименты проводятся на пока ещё живом железном сервере, а не на клоне одного из дисков рейда уже подключённом к хосту hyperv (и в идеале уже закатанным в vhdx)? Ведь там же поддерживаются чекпоинты и можно если что не так откатиться...

Ну и пара наблюдений из практики: если сделать клон sdX через dd и засунуть это затем в vhdx, то рейд поднимется в degraded режиме прямо внутри виртуалки и особенно ничем мешать не будет и даже грузиться с него можно, но если уж хочется от него избавиться, то снимать данные желательно с md устройств и затем накатывать их на подготовленные разделы, чтобы избежать вот такого «автоопределения» рейда при загрузке (да, md на этапе загрузки игнорирует тип раздела даже если поставить там 83). Ну и когда закончишь наконец развлекаться и поднимешь всё под hyperv, то рекомендую в параметры ядра в grub сразу дописать acpi_sci=low, чтобы потом не было тредов, почему это под hyperv сеть пропала (при условии что ядро свежее чем 4.1.х) ;)

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

Пытался виртуализировать через VMware Converter, клонировать акронисом диск, ничего не брало. Единственное что создался образ но и то он не восстанавливался =(

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

Для того чтобы виртуализировать никсы в hyperv достаточно снять образ через dd на физический диск, подцепить физический диск к хосту hyper-v как внешний к свежесозданной виртуалке, и повторно через dd перегнать образ в vhdx диск подцепленный к этой же виртуалке. Да, это дольше, чем описанный выше sigurd метод, но не надо никакого стороннего софта. В случае наличия на изначальном хосте md raid1 можно либо забить на то что он будет потом и в виртуалке в degraded режиме, либо сливать данные с mdX устройств, а не с sdX напрямую. По скорости потерь от остатков рейда практически нет, к тому же потом уже можно развлекаться на клоне виртуалки имея в своём распоряжении возможность делать чекпоинты и т.д.

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

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

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

А я только из отпуска вернулся и тут твою тему заметил и вспомнил как весело было ходить по аналогичным граблям когда gentoo виртуализировали и загоняли в hyperv ))

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

собственно и сейчас ничего не мешает слить образ - после загрузки в rescue режиме и выполнении mdadm /dev/md1 -A -R /dev/sda2 и mdadm /dev/md2 -A -R /dev/sda3 - можно делать dd (только место нужно - диск второй или в сети). Да и перед сливом образа можно скопировать содержимое sda3 в /home sda2 - чтобы один образ всей системы был. Думаю, на sda2 есть достаточно места.

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

Давай посмотрим конфиг /etc/mdadm.conf
Для этого запустим рейд mdadm /dev/md1 -A -R /dev/sda2
и примонтируем mount /dev/md1 /mnt
смотрим cat /mnt/etc/mdadm.conf (или /mnt/mdadm/mdadm.conf)

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

Надеюсь - не всю 1 строку стерли? Иначе понятно почему рейдов нет. Лучше 1-ю строку отредактировать следующим образом:

DEVICE /dev/sd[ab]1 /dev/sd[ab]2 /dev/sd[ab]3
ARRAY /dev/md0 devices=/dev/sda1,/dev/sdb1 level=raid1
ARRAY /dev/md1 devices=/dev/sda2,/dev/sdb2 level=raid1
ARRAY /dev/md2 devices=/dev/sda3,/dev/sdb3 level=raid1
и не обращай внимания что диска sdb реально нет (ну и вместо UUID нормальные имена раздело).

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

Первую строку затер полностью. Значит корректирую так как написали и перезагружаюсь? В данном файле символ # комментария работает?

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

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

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

И еще мысль возникла - у вас там какое-то USB дисковое устройство подключено - посмотрите, какое имя ему присвоено. Случайно не sdb ? а то будет конфликт

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

Все так же. USB носитель это виртуальный CD-ROM, там образ OpenSuse. Отключал его на момент загрузки все равно так же

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

Что значит resume device /dev/md0 not found (ignoring)? может fstab пересмотреть?

скорее надо /boot/menu.lst править: опция resume=/dev/md0 в строке опций ядра мне не нравится - это чтото Suse-специфичное и похоже /dev/md0 (это swap) ему не нравится

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