Клонирование загрузочного диска Linux (Ubuntu) с несколькими ошибками

1436
Fred Hamilton

У меня установлена ​​версия 8.04 Mythbuntu, мне нужно клонировать ее на другой диск. К сожалению, на диске, на котором он находится, есть несколько ошибок, поэтому dd прерывается, когда я пробую обычный

dd if=/dev/sda of=/dev/sdb 

Прошлой ночью я обнаружил параметр conv = sync, noerror для dd (и он сообщил о 2 ошибках), но когда передача была выполнена, диск не загрузился. Я gparted проверил диск (он запустил «e2fsck -f -y -v / dev / sdb1»), и через несколько минут он сообщил об ошибке и вылетел - я не смог получить информацию об ошибке, потому что экран завис. Затем я повторил попытку только на загрузочном разделе (вместо всего диска) и получил те же результаты. Сегодня вечером я попробую dd еще раз и проверю диск вне gparted, так что я (надеюсь), по крайней мере, увижу какие-либо сообщения об ошибках.

Но мой вопрос: есть ли другой способ клонировать этот диск (включая сохранение того же UUID), кроме dd? Я не возражал бы копировать его файл за файлом (и таким образом я мог видеть, есть ли какие-либо файлы, испорченные ошибками, которые видит dd), но я не уверен, как сделать это и сохранить его загрузочным и сохранить то же самое UUID. Я знаю, что могу переустановить с нуля, но после всех настроек и настроек, которые я сделал, это самое последнее средство.

0

3 ответа на вопрос

1
Daff

Хм клонирование сломанного диска, вероятно, никогда не будет хорошей идеей. Вы можете скопировать все файлы на другой диск и попытаться переустановить mbr. Для чего нужно сохранить UUID? Переустановка не должна быть такой сложной, если вы в основном настраиваете свою домашнюю папку (или знаете, что вы изменили за ее пределами) и, возможно, все же будете самым чистым решением (и вы получите самое последнее программное обеспечение)

Я не оспариваю, что переустановка является «идеальным» решением. Но для меня это не без риска, как кажется. С моими ограниченными навыками я не смогу воссоздать все функции и возможности, которые у меня есть сейчас. И на это потребуется огромное количество времени. Так что, если есть способ клонировать диск с ошибкой диска, которую видит dd (но я никогда не сталкивался за 1 год работы), есть очень хороший шанс, что у меня будет хорошая система. Если нет, я переустановлю. Хотите тот же UUID, потому что многие установленные программы, похоже, не работают, если они меняются (некоторое время назад я пытался скопировать простой файл, и это меня укусило). Fred Hamilton 14 лет назад 0
Да, я понимаю твою точку зрения. Просто могу рассказать вам о том, что я узнал обо всем этом, и с ростом опыта стало легче делать все настройки, потому что вы действительно знали, что делаете (и не просто случайно). Если вам просто нужна работающая система, ваш подход может быть лучше (хотя и более рискованным, потому что у вас все еще есть ошибки, и система может случайно сломаться без видимой причины - вроде как сломанная RAM), и вы можете многому научиться, фактически переделав все это ( мой становился лучше каждый раз, когда я делал это) Daff 14 лет назад 0
Я также понимаю вашу точку зрения. Для меня это в основном время - это мой MythTV (эквивалент Tivo), и моя жена хочет видеть 99,9% безотказной работы :-). Поэтому я хотел бы немедленно перевести работающую систему в здоровое русло, затем я мог бы дышать легче, и я был бы свободен, чтобы сделать свежую сборку в более неторопливом темпе (мне потребовались месяцы, чтобы привести эту систему в рабочее состояние. в). Я только что запустил "fsck -f" в загрузочном разделе с ошибкой, и он полностью прочитал обратно. Поэтому я думаю, что риск возникновения проблемы даже ниже, чем я думал раньше, но я все еще не могу найти способ клонировать / скопировать диск! Fred Hamilton 14 лет назад 0
1
Fred Hamilton

Окончательное решение оказалось относительно простым (ни одно из решений dd не сработало).

  1. Загрузился с живого компакт-диска 9.04 с моим исходным дисководом проблем (/ dev / sdf) и новым дисководом, к которому я хотел клонировать исходный диск (/ dev / sde).
  2. Чтобы убедиться, что диск загрузочный, grub установлен и т. Д., Я установил Ubuntu 9.04 на новый диск (sde). (Возможно, есть более быстрый способ сделать это, но я знал, что это поможет.)
  3. Установлен sdf как диск-1, sde как диск-2
  4. Удалил все файлы с новой установки на диск-2
  5. Установлен sdf как диск-1, sde как диск-2
  6. sudo cp -a / media / disk-1 / * / media / disk-2 (рекурсивно копирует все файлы и сохраняет атрибуты и разрешения)
  7. sudo blkid (Получает список UUID всех дисков. Вручную скопируйте UUID для нового раздела (sde) в буфер обмена)
  8. sudo gedit /boot/grub/menu.lst (Теперь измените UUID в записях grub с единиц для sdf (old) на единицы для sde (new), вставив ранее скопированный UUID)
  9. Перезагрузился, и все заработало! Аллилуйя!
0
hlovdal

Когда простой dd не удается, вы можете попробовать dd_rescueвместо этого, потому что dd_rescue не отменяет ошибки во входном файле.