1

Здравствуйте!

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

Был старый сервер с CentOS и аппаратным 10ым рейдом. Рейд контроллер умер. Заменить не представляется возможным.

Но есть образ корневого раздела (~100gb), сделанный командой
dd if=/dev/sda1 of=backup

Файл backup сейчас лежит на отдельном винте.

Вставил 2 винта в тестовый системник, на одном бекап, другой - новый пустой.
Загрузился с livecd Knoppix.
Смонтировал винт с бекапом mount -t ext3 /dev/sda1 /mnt/sda1.
Разбил свежий 500гб винт на ext3 ( /dev/sdb1 ) и 10 гб swap .
При попытке сделать
dd if=/mnt/sda1/backup of=/dev/sdb1
после продолжительного времени ожидания, появляется сообщение об успешном завершении задачи, но при выполнении команды df, система показывает что размер занятого пространства в разделе sdb1 - отрицательный.
В графе об использованном дисковом пространстве стоит тире.

Также попробовал обойтись простым копированием,
смонтировал сам файл бекапа,
mount -o loop /mnt/sda1/backup /mnt/backup

Отформатировал sdb1. (новый винт)
И скопировал все файлы из бекапа в корень нового винта
cp -rf /mnt/backup/* /mnt/sdb1/

По окончании копирования, попробовал загрузиться с нового винта - не получилось.
Похоже, что проблема с загрузчиком, система не загружалась, только мигал курсор в углу экрана.

Попробовал восстановить загрузчик.
Загрузился с livecd.
Смонтировал новый винт, со скопированными на него файлами из бекапа.
mount -t /sdb1 /mnt

далее, судя по инструкциям, нужно было сделать
1) chroot /mnt
и
2) grub-install /dev/sdb

Но до второго шага дойти не удалось, на chroot /mnt вылезла ошибка
chroot failed to run command bin/bash exec format error

Здесь я зашел в тупик, гугление не помогло.

Может посоветуете какую-то другую программу, чтобы натянуть сделанный образ на новый винт?

2 (09.07.2013 15:34:21 отредактировано Linux777)

fiji⇓ пишет:

Похоже, что проблема с загрузчиком

была такая проблема, но правда на убунте. но опишу кратно что делал я. возможно поможет.

1. грузился с liveCd
2. монтировал разделы /sys/ /proc/ /dev/ /mnt
3. grub-install /dev/sda
4. grub-mkconfig -o /boot/grub/grub.cfg

в целом вот тема эта [Решено] Как правильно корневой раздел перенести в mbr (загрузчик) пост 15 где я это делал)

добрый человек:)
Linux admin PC 3.8.0-23-generic #34-Ubuntu SMP Wed May 29 20:22:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
system admin of unix. i like my job. also i like to catch fish and many other things and english too.
Хочу на пляж)

3

А такой еще вопрос возник, инфу вроде получилось скинуть на новый винт с помощью dd, но при выполнении ls -l /mnt/sdb1 вместо прав вида rwxrwxrwx на файлы и директории, только кучи вопросительных знаков. Что это может значить?

4

По порядку...
    Если вы делали копию винта с помощью "dd if=/dev/sda1 ...", то в файле имейджа получили образ одного раздела, скорее всего без загрузочной записи. Если при этом размер файла имейджа 100GB, а развернуть вы его пытаетесь в 10... Вряд ли чем-то хорошим это закончится - все равно что вылить содержимое 5-ти литровой бутыли в 3-х литровую банку ab

    Если вы скопировали данные из имейджа (смонтировав его в loop-режиме) на другой винт с помощью cp, то загрузчик установится не мог никак, ибо cp на загрузчик, mbr-ы и сектора параллельно. После подобной операции действительно необходимо делать chroot и выполнять установку загрузчика. У вас не получилось этого сделать (с сообщением "chroot failed to run command bin/bash exec format error"), т.к. скорее всего загружались вы с помощью ix86 livecd, а установлена была x86_64 система. Попробуйте загрузится с установочного cd/dvd для x86_64 архитектуры используя режим восстановления.

    Имхо, в вашем случае лучшим вариантом будет сделать следующее - разбить новый винт так, как представляется необходимым, смонтировать разделы в директорию в нужном порядке, скопировать на этот винт файлы из образа с помощью "cp -Rp ..." (сохраняя права доступа), далее сделать chroot и установить загрузчик.

И баба с воза, и волки сыты...