LinuxForum.Fans
Тема

Debian Squeeze: на Linuxlvm. Восстановить Grub

Автор: siguard 92 сообщений 19567 просмотров
#161532

Сапгрейтил apt-get -ом систему с Debian Lenny к Debian Squeeze. Все прошло "на ура" до перезагрузки. Наверное накосячил с указанием загрузочных параметров - и при перезагрузке система легла мертво.
Есть sda1 - судя по всему для загрузки, и sda2 - там на LinuxLVM лежит все мое добро ...
Перепроповадл все найденные советы по восстановлению GRUB. И через Убунту LiveCD, и через Debian - восстановленрие. Ничего не проходит. Не срабатывает ни один совет.
grub не запускается ... Либо не выполняется chroot в общем белиберда ...
Ближе всего оказалось решение - http://www.hawkes-haven.com/Members/hawke/grub-lvm-mbr-recovery-notes...

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

#161546

siguard, По ссылке "We’re sorry, but that page doesn’t exist…"
Опять таки может Live не загружены модули, не помню точно lvm2, dmsetup... Шифрование было?
Попробуй Aptosid Live, в режиме live доустановить эти пакеты, сделать chroot в нужное окружение, переустановить grub2, его ставить не на sda1, а на sda...
Больше информации давайте, на что жалуется при загрузке, разметка диска и т.д...

Повесть про lvm http://xgu.ru/wiki/LVM

#161569

С убунты Live CD:

[console]
sudo mount /dev/sda1 /mnt
sudo grub-install --root-directory=/mnt /dev/sda
[/console]

#161572

Ссылку наверное неправильно вставил и она навернео съелась при преобразовании, попробую вповторить:
http://www.hawkes-haven.com/Members/hawke/grub-lvm-mbr-recovery-notes и поправил в посте ...

с теорией по LVM вродеб в целом достаточно понятно - с распределением, монтированием, с этим вроде справляюсь.
и то что ставить grub надо на физический диск sda - понятно

Мне кажется, у меня проблем с правильным монтированием. Загружаюсь через установовчный диск Дебиан - Графический режим восстановления.
После всех вопросов и проверок указываю, что корневая файловая система лежит /dev/system/root (мои разделы на LinuxLVM), хотя указывал и на /dev/sda1 с тем же успехом ...
Выполняю - запустить в окружении установщика ...
cмотрю:

text

fdisk -l:
Device    Boot    Start    End        System
dev/sda1    *    1    31    ...    Linux
dev/sda2          32    31    ...    LinuxLVM

Смонтрю что и как смонтировано:

text

~# mount:

rootfs on / type rootfs (rw) none on /proc type /proc (rw) none on /sys type sysfs (rw) tmpfs on /dev type tmpfs (rw.mode=755) /dev/sr0 on /cdrom type iso9660 (ro) /dev/system/root on /target type ext2 (rw/ errors=continue) tmpfs on /target/dev type tmpfs (rw.mode=755) none on /target/proc type proc (rw) none on /target/sys type sysfs (rw)

Прикручивать стал по понятию (прикручивание по мануалам и советам в гуглах и проч. дает аналогичный результат)

text

mkdir /mnt/root
mount /dev/siguard/root /mnt/root
mount /dev/sda1 /root

mount --bind /proc/ /root/proc mount --bind /dev/ /root/dev

# пробовал и так - отдельно и просто добавляя mount --bind /dev/ /mnt/root/dev mount --bind /proc/ /mnt/root/proc

пробовал с chroot /mnt/root и без ... кстати - chroot /root - не выполняется ни до монтирования ни после ... войти туда можно, счарутиться - нет ...

все оканчивается с одинаковым результатом:
chroot /mnt/root
#grub
/bin/sh: grub: not found

или
#grub-install /dev/sda
/bin/sh: grub-install: not found

Аналогично и без чрута ...
Да, вот еще ... предыдущими телодвижениями добился, что при перезагрузке вываливается в чистый grub, командная строка с приглашением ...
тоже ничего нужного не запускается
root(hd0,1) - срабатывает, говорит что там ext2
setup(hd0) - полный ноль, нет говорит такой команды ...

В общем я потерялся в догадках ...

#161575

siguard, постом выше две команды. С Live Ubuntu срабатывают всегда железно.
Ругань консоли на них давай сюда.

#161604
Капитан Очевидность написал:
С убунты Live CD:

[console]
sudo mount /dev/sda1 /mnt
sudo grub-install --root-directory=/mnt /dev/sda
[/console]

убунты Live CD сейчас не в приводе (у меня сервак на Дата-центре - ребята там меняют если что ...). Но там это не работало, как и chroot
Поробовал на том что сейчас - (ну, как бы все тоже самое для Дебиана, только без sudo) -
ответ прост (как и во многих других случаях):
/bin/sh: grub-install: not found

там выше поместил разметку диска, так вот не срабатывает ни одна попытка рутиться
mount /dev/sda1 /mnt, mount /dev/sda1 /root, mount /dev/sda1 /mnt/root

И что интересно, судя по всему, в /root смонтирована ОС - которая поднимается установочным диском Дебиана ... получается - что там еще не все есть???
Я готов проинсталить grub по новой куда угодно ... но почему то это у меня не получается - apt-get - получается тоже не существует пока .. .или я его не могу увидеть ....

#161610

На /dev/sda1, как я понимаю, у Вас был раздел /boot (первый ГРУБ не видел LVM)

#161616

Не въехал, пример без LVM
вот допустим я установил Debian на
sda4 - /
sda5 - /home
sda6 - /var
sda7 - /usr
sda8 - /tmp
sda9 - /boot
Загружаюсь с live:
Поехали:

text

mkdir /mnt/debchroot
mount -v /dev/sda4 chroot
mount -v --read-only proc /mnt/debchroot/proc -t proc
mount -v /dev/sdb5  /mnt/debchroot/home
mount -v /dev/sdb6  /mnt/debchroot/var
mount -v /dev/sdb7  /mnt/debchroot/usr
mount -v /dev/sdb8  /mnt/debchroot/tmp
mount -v /dev/sdb9  /mnt/debchroot/boot
# Ну и чрутимся:
chroot /mnt/debchroot
#161622

siguard написал:
Но там это не работало
В чем это выражалось?

siguard написал:
/bin/sh: grub-install: not found
sudo aptitude install grub2

siguard написал:
не срабатывает
В чем это выражается? Что пишет?
#161847

Поршк прощения за задержку с ответлом - выезжал к клиенту.
По порядку. Если все происходит без LVM - то проблем не происходит по определению, т.к. все примеры и проблемы давно отработали. До работы на боевом серваке - я все проделал на тестовом, что б не ошибиться ... Не знаю почему, но там все прошло как с куста - без запинки и щаминки - ничего никуда не ломалось .. .слетела правда сетка - но это мелочь - исправид в пять секунд.

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

Ваш пример, 402 - безусловно работает и понятен. Классика.
В моем случае - все эти разделы лежат на sda2 - LVM, а sda1, судя по всему отдельно выделен в стандартном форматировании ext2 - только для загрузки. Это тоже - стандартное решение для загрузки граба и работы LVM. Получается - что надо установить/перенести загрузчик. Это в том случае, если он поставился на LVM. Сейчас перегружу и повторю все по шагам - с учетом особенностей монтирования. Но ранее подобные вещи заканчивались дибо отказом в chroot, либо - воплями о том, что команд grub, grab2 и grab-install и т.п. - не существвует. Я их действительно не находиллни в бине, ни в грабе, ни в загрузочной, как и файла меню или что-то еще относящееся к грабу.
Но до перезагрузки система крутилась без проблем.

По вопросу Капитана Очевидность - выражается либо в том, что файл не найден. Т.е. - либо его нет вообще (я уже писал выше - люього что пргосто граба, что граба2) либо на операции типа chroot может выкинуть, что типа мало прав. Это еще интереснее. Все в зависимости от того - что установлено в качестве корневой директории - sda1 или разделы на LVM.

Возможно что-то недопереустановилось. Но это вообще маразм ... система то крутилась и на тестовом отработала нормально... и переинсталляция прошал вроде четко ...

Короче пошел проверять совет от 402 и поточнее постараюсь записать что говорит система для Капитана ...

Да! Забыл добавить. Я добился, что при перезагрузке система вываливается в командную строку Граба ... Но в не тож не получается ничего сделать, кроме как посомтреть тип системы! А это вообще, по моему фигня какая-то ...

#161869

если lvm то само собой группа а потому как смонтировано надо смотреть на /dev/system/root

#161881

lvscan:
ACTIVE 'dev/system/root' [332.00 MB] inherit
ACTIVE 'dev/system/usr' [4.66 GB] inherit
ACTIVE 'dev/system/vat' [2.79 GB] inherit
ACTIVE 'dev/system/swap_1' [2.53 GB] inherit
ACTIVE 'dev/system/tmp' [380.00 MB] inherit
ACTIVE 'dev/system/home' [221.97 GB] inherit

соответственно имена для монтирования:
/dev/mapper/system-root
и далее по подобию ...

немного не понял две вещи - что смотреть (в смысле монтирования) - на /dev/system/root
что выступает вообще в качестве рутовой дироектории - / - само /dev/system/root или корень на sda1, по примеру 402:
sda4 - /
монтируется - mount -v /dev/sda4 chroot (кстати - именно без слеша в перед chroot ?)
что у меня тогда в руте? - ACTIVE 'dev/system/root' [332.00 MB] inherit ?
Вот тут у меня похоже путанина и есть ... неправильный корень и дальше поехало все криво ...

#161886

siguard Смонтируй /dev/system/root

text
mkdir /mnt/tmp
mount /dev/system/root /mnt/tmp

И сделай:

text
ls /mnt/tmp

Вывод покажи.

#161887

Минутку ... сделаю быстро - переписывать долго буду .. .или скриншот придется делать - работаю удаленно ... - не работает копи в буфер ...

#161889
siguard написал:
Минутку ... сделаю быстро - переписывать долго буду .. .или скриншот придется делать - работаю удаленно ... - не работает копи в буфер ...

Епт, хотя бы так всё не руками:

text
ls /mnt/tmp > file.txt
cp file.txt /_ФЛЭШКА_
#161895

выкладываю скриншот. Поток в файл - это понятно, но я все рано его ни скопирую, ни вытащу содержимое - работаю по удаленному доступу по ipkvm - сервера на удаленной площадке ...


ls /mnt/tmp/boot
boot

больше ничего, только boot, причем, ls /mnt/tmp/boot/boot говорит что нет такого фала или директории ...

ls /mnt/tmp/root - вывод пустой ...
ls /mnt/tmp/proc - вывод пустой ...
ls /mnt/tmp/dev - куча всего ...

#161902

Только подожди я не понял что это:
ACTIVE 'dev/system/vat' [2.79 GB] inherit
Подразумеваю что /var, но на всякий сделай как в прошлый раз только для /dev/system/vat:

text
mkdir /mnt/tmp
mount /dev/system/root /mnt/tmp
ls /mnt/tmp

Если это действительно /var то вот:


Сохрани в файл скажем mount_lvm.sh это:

text
mkdir /mnt/debchroot
mount -v --read-only proc /mnt/debchroot/proc -t proc
mount -v /dev/system/root /mnt/debchroot
mount -v /dev/system/usr /mnt/debchroot/usr
mount -v /dev/system/tmp /mnt/debchroot/tmp 
mount -v /dev/system/home /mnt/debchroot/home

mount -v /dev/system/vat /mnt/debchroot/var

И запусти на той машине из которой будем чрутится:
sh mount_lvm.sh

Потом:
chroot /mnt/debchroot


Эх а boot где? :o ещё раз fdisk -l - не пойму ничего....

#161904

siguard, погоди короче..

#161905

siguard, Предположу из прошлых сообщений что boot у тебя на sda1?

text
mkdir /mnt/tmp
mount /dev/sda1 /mnt/tmp
ls /mnt/tmp

Вывод покажи, должно быть типа (у меня ядра другие, но вывод похож):

text
ls /boot 
config-2.6.37-2-amd64                     System.map-2.6.37-2-amd64
config-2.6.38-2.dmz.2-liquorix-amd64      System.map-2.6.38-2.dmz.2-liquorix-amd64
grub/                                     vmlinuz-2.6.37-2-amd64
initrd.img-2.6.37-2-amd64                 vmlinuz-2.6.38-2.dmz.2-liquorix-amd64
initrd.img-2.6.38-2.dmz.2-liquorix-amd64  xen-4.1-amd64.gz

Короче ищем /boot где он? :(

#161907
siguard написал:

больше ничего, только boot, причем, ls /mnt/tmp/boot/boot говорит что нет такого фала или директории ...

ls /mnt/tmp/root - вывод пустой ...
ls /mnt/tmp/proc - вывод пустой ...
ls /mnt/tmp/dev - куча всего ...

Так правильно там не смонтированно ещё ничего.
Дык а в /root и не должно ничего быть.

Войдите или зарегистрируйтесь, чтобы ответить.