|
Автор |
Сообщение |
Mooonlight
Новенький
Зарегистрирован: 11.08.2011 Сообщения: 39
|
|
|
|
В системе - 3 HDD.
На одном из них Linux OpenSuse: корень в /dev/sda2, фс = ext4.
На другом - Windows, фс = NTFS.
Третий - для бекапа, не загрузочный, фс = ext4.
Бекап корневого раздела, который на /dev/sda2, в файл.
Командой dump был выполнен бекап корневого раздела:
1. Загрузка ядра в режиме single (без всяких Live-CD);
2. Бекап "живого" корневого раздела в файл подмонтированного раздела с бекапами. Бекап полный - "0";
Прошло немного времени...
Восстановление корневого раздела.
1. Загрузка с Live-CD.
2. mkfs -t ext4 /dev/sda2
3. Монтирование восстанавливаемого раздела /dev/sda2 в папку /mnt/old
4. Монтирование раздела с бекапами в папку /mnt/backup
5. cd /mnt/old
6. restore -rvf /path_to_file/filename.dump
Перезагрузка, и... GRUB = Error 16.
Если посмотреть содержимое /boot/grub/ ключевые файлы, то там, мягко говоря, совсем не то, что должно быть.
Варианты, которые были опробованы:
1. Загрузка с Live-CD, монтирование во временную папку "восстановленного" /dev/sda2. Попытка смены окружения (chroot) - ни к чему не привела.
2. Super_Grub_Disk нашел только раздел с Windows и может его загрузить. В упор отказывается видеть нужный раздел.
Вопросы.
1. Удастся ли спасти систему с Линуксом? Интересует восстановление только корневого раздела.
2. Что надо сделать, чтобы восстановить систему из имеющегося dump-файла?
3. Как правильно выполнять бекап корневого раздела РАБОТАЮЩЕЙ системы? |
|
Вернуться к началу |
|
|
Konstantin
Завсегдатай
Зарегистрирован: 01.05.2006 Сообщения: 615
|
|
|
|
1. Удастся - через chroot.
"Попытка смены окружения (chroot) - ни к чему не привела" Какой последовательностью действий делался chroot? Был ли --bind хотя бы для /proc перед chroot?
2. Загрузка c live cd, restore, chroot ( см п.1), восстановление grub и /boot ручками
3. Для работающей системы и корня - это исключительно snapshot LVM
"Если посмотреть содержимое /boot/grub/ ключевые файлы, то там, мягко говоря, совсем не то, что должно быть. "
Для решения проблемы в айти надо дословно и дофайлово знать, что было до, а что стало потом - это точная сфера.
Во времена терабайтных дисков, raid, lvm, iscsi ясно, все-таки backup - уже анахронизм. Время лент прошло.
Последний раз редактировалось: Konstantin (Ср Ноя 23, 2011 2:01 pm), всего редактировалось 2 раз(а) |
|
Вернуться к началу |
|
|
Konstantin
Завсегдатай
Зарегистрирован: 01.05.2006 Сообщения: 615
|
|
|
|
Во времена терабайтных дисков, raid, lvm, iscsi backup - анахронизм. Время лент прошло.[/quote] |
|
Вернуться к началу |
|
|
Mooonlight
Новенький
Зарегистрирован: 11.08.2011 Сообщения: 39
|
|
|
|
Делал по мануалу: http://www.ubuntologia.ru/grub2-recovery
Загрузил с live-cd, подмонтировал /dev/sda2 к /mnt/old, отформатировал, восстановил на него образ из dump-файла на /mnt/old, далее:
сделал mount --bind /dev/ /mnt/dev;
сделал mount --bind /proc/ /mnt/proc;
а далее:
...Теперь зайдем в примонтированную систему как root:
chroot /mnt/old (в моем случае) - не работает, пишет:
chroot: cannot run command `/bin/bash`: Exec format error
Цитата: |
Для решения проблемы в айти надо дословно и дофайлово знать, что было до, а что стало потом - это точная сфера. |
Например, в файле /boot/grub/stage1 в оригинале много разных нечитаемых символов, а в "восстановленном" /mnt/old/boot/grub/stage1 - цитирую:
#
# This theme is the default theme if no other theme is selected.
#
И такое же содержимое в других файлах:
...menu.lst
...menu.lst.old
Только ...stage2 "похож на правду" - т.е. содержит много нечитаемых символов.
Последний раз редактировалось: Mooonlight (Ср Ноя 23, 2011 1:13 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
Konstantin
Завсегдатай
Зарегистрирован: 01.05.2006 Сообщения: 615
|
|
|
|
Ну значит ищи статически собранный sash. копируй его в /mnt/old/bin/sash
пробуй chroot /mnt/old /bin/sash
С другой стороны, мjжно просто обновить сусю с установочного dvd сверху на уже имеющееся после restore.
Последний раз редактировалось: Konstantin (Ср Ноя 23, 2011 1:34 pm), всего редактировалось 3 раз(а) |
|
Вернуться к началу |
|
|
Mooonlight
Новенький
Зарегистрирован: 11.08.2011 Сообщения: 39
|
|
|
|
Обновить не получается, т.к. после загрузки с Live-CD и выбора пункта меню - "установка opensuse", полоска прогресса добегает до конца и вешается черный экран.
p.s. Может быть я недостаточно долго ждал, но даже после 10 минут ничего не происходило.
Что значит "статически собранный bash"? Разве недостаточно его просто скопировать, как файл на новое место в /mnt/old/bin? |
|
Вернуться к началу |
|
|
Konstantin
Завсегдатай
Зарегистрирован: 01.05.2006 Сообщения: 615
|
|
Вернуться к началу |
|
|
Mooonlight
Новенький
Зарегистрирован: 11.08.2011 Сообщения: 39
|
|
|
|
Некоторые попытки исправить ситуацию (загрузка с Live-CD):
1.
команда: grub-install --root-directory=/mnt/old /dev/sda
пишет: /dev/sda does not have any corresponding BIOS drive
2.
команда grub:
find /boot/grub/stage1 -> (hd0,1)
root (hd0,1) -> ...partition type 0x83
setup (hd0) -> Error 6: Mismatched or corrupt version of stage1/stage2
(Напоминаю, что по сравнению с тем же Live-CD`шным stage1, файл stage1 на "восстановленном" разделе содержит всякую ерудну, см.выше).
Я так понимаю, что накрылся мой sda2 медным тазом... |
|
Вернуться к началу |
|
|
Konstantin
Завсегдатай
Зарегистрирован: 01.05.2006 Сообщения: 615
|
|
|
|
Твоя задача сейчас - зайти через chroot с помощью sash. И уже потом заниматься разделом boot и grub
Если chroot не пройдет - то пробуй восстановление c установочного cd c затертым разделом boot.
С другой стороны, если у тебя что-то в корне есть ценного, то это живет в /var или в /etc. Сделай их копии - и переустанови SUSE |
|
Вернуться к началу |
|
|
Mooonlight
Новенький
Зарегистрирован: 11.08.2011 Сообщения: 39
|
|
|
|
Загрузился с Live-CD, подмонтировал /dev/sda2 к /mnt/old. Напоминаю, chroot /mnt/old не сработал - пишет chroot: cannot run command `/bin/bash`: Exec format error.
Перехожу в оболочку sh. Та же команда chroot /mnt/old выдает тот же ответ - chroot: cannot run command `/bin/bash`: Exec format error.
Что я делаю не так?
Когда я все-таки попаду в chroot, какова последовательность действий?
p.s. Буду очень благодарен за ссылочку про LVM-слепки, применительно именно к корню работающей системы. |
|
Вернуться к началу |
|
|
Konstantin
Завсегдатай
Зарегистрирован: 01.05.2006 Сообщения: 615
|
|
|
|
Надо из рабочего SUSE скопировать предустановленный sash в /mnt/old/bin
дать команду
chroot /mnt/old /bin/sash
В черуте надо попробывать обновить всю систему
О LVM здесь
http://xgu.ru/wiki/LVM |
|
Вернуться к началу |
|
|
Mooonlight
Новенький
Зарегистрирован: 11.08.2011 Сообщения: 39
|
|
|
|
Поначалу, все еще не потеряв оптимизма вернуть все как было, я сделал следующее.
Я переустановил Linux с загрузочного Live-CD. Поскольку из загрузочного меню Linux грузится не стал (вешал черный экран), я загрузился полностью с Live-CD и уже из загруженной системы начал процесс инсталляции.
Всю разметку выставил так, как было, ничего не менял. И даже не форматировал "неудачно забекапенный" раздел sda2, а просто перезаписал поверх на то, что восстановил из бекапа. После установки, Linux не загрузился - вис на моменте GRUB и писал ошибку 22.
Далее сделал следующее (система на виртуальной машине):
1. Отсоединил все "пока ненужные" диски (диск с Windows и диск с файловой системой ext4 для бекапов);
2. Загрузился с Live-CD, подмонтировал /dev/sda2 к /mnt/sda2 и на смонтированном разделе посмотрел файлы GRUB`а (menu) на предмет правильности указанных загрузочных разделов. Оказалось, что там стоит (hd1,1), которого нет. Надо было указать (hd0,1).
3. Запустил установку GRUB:
sudo grub-install --root-directory=/mnt/sda2 /dev/sda
GRUB успешно установился и порекомендовал проверить файл с устройствами, с которых должна идти загрузка.
4. Далее, пошел в chroot /mnt/sda2, но перед этим:
mount --bind /dev/ /mnt/sda2/dev
mount --bind /proc/ /mnt/sda2/proc
6. В chroot:
grub> find /boot/grub/stage1
grub> root (hd0,1)
grub> setup (hd0)
7. Руками подправил menu.lst на /mnt/sda2 в папке /boot/grub
8. Reboot
Загрузчик стартовал, дал выбрать нужный пункт меню и начал грузится. Далее началось интересное:
doing fast boot
creating device nodes with udev
udevd[68]: specified group `tty` unknown
и то же самое для dialout, kmem, video, audio, disk, floppy, cdrom, tape.
Кончалось все это безобразие так:
INIT: no more processes left in this runlevel
К слову, Linux не грузился ни в обычном режиме, ни в режиме восстановления. Ради спортивного интереса, я решил заглянуть в папку /mnt/sda2/etc в файлы group, passwd, shadow, initscript и некоторые другие и во всех файлах было одно и то же:
#
# This theme is the default theme if no other theme is selected.
#
...и много-много-точек...
В общем, как я понимаю, dump похерил все системные файлы при бекапе. Ничего из этого уже не восстановить. Вероятно, обычный tar сделал бы все гораздо красивее и, думаю, все, что требовалось бы дополнительно сделать после восстановления - это переустановить загрузчик. А если вынести загрузчик в отдельный раздел /boot, под который выделяется, обычно, 100Мб, все было бы еще проще.
В любом случае, это опыт. Буду осваивать другие методы резервного копирования корневого раздела в рабочем состоянии. |
|
Вернуться к началу |
|
|
Konstantin
Завсегдатай
Зарегистрирован: 01.05.2006 Сообщения: 615
|
|
|
|
Не понимаю, зачем на живом железе эксперименты проводить с важными данными, когда есть VirtualBox. Откатал на нем идею - и в перед на железку. |
|
Вернуться к началу |
|
|
Mooonlight
Новенький
Зарегистрирован: 11.08.2011 Сообщения: 39
|
|
|
|
Так система и была в Virtualbox`е, просто бекапа корневого раздела не было. А бекап остальных данных, типа папок и файлов, остался.
Бекап корневого раздела в рабочем состоянии - я имел в виду нормальный бекап уже загруженного корня. |
|
Вернуться к началу |
|
|
Konstantin
Завсегдатай
Зарегистрирован: 01.05.2006 Сообщения: 615
|
|
Вернуться к началу |
|
|
|
|
 Главная страница сайта
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|