Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Не получается создать «валидную» MBR  (Прочитано 1056 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MetallDoctor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Добрый день, взываю к помощи сообщества!

Я, конечно, понимаю, что проблема не совсем для этого раздела, но во-первых 100% подходящего раздела я так и не нашёл, а во-вторых - здесь наверняка чаще всего сталкиваются с подобным. В любом случае - если подскажете, где лучше спросить - спрошу там.

Для начала изложу студёну былину проблемного компа:

Изначально это была рабочая лошадка с WXP, которая на ней работала (и, собственно, продолжает работать) почти идеально (хотелось бы сохранить и её, хотя я и не помню, когда в последний раз в неё грузился по делу). Виндовый раздел я когда-то разделил средствами Windows и от C: (у него осталось ≈25ГБ) отделил D:(на тот момент ≈225ГБ, потом я от него ещё отрезал). Потом я запилил туда Runtu3(базировалась, ЕМНИП на Ubuntu 8.04LTS), отрезав кусок от вендового диска купленным под это дело Акронисом, им же и заготовил / и swap. Так и жил, пока один из пакетов при установке заявил «я вижу, что у тебя бUbuntu, но не могу понять, что именно за Ubuntu/кUbuntu/едUbuntu», пришлось поставит метапакет Ubuntu, после которого оно стало считать себя Ubunt'ой 8.04, потом я обновился до следующего LTS – 10.04, что удалило последние видимые следы Рунты. Тем не менее местами ещё видна «слоёность» конфигов, а в HDD в лазила целая куча софта включая GParted, Acronis Disk Director и диспетчер дисков WindowsXP. Так продолжалось, пока в прошлом году у меня не «засвистел HDD» и хотя SMART'ы не показывали ничего катастрофического(хотя, ремапы уже были) я притормозил использование компа до замены харда (да и объём давно надо было бы расширить - 250ГБ это сильно меньше, чем хочется).

Пару недель назад я таки выделил себе бюджет на покупку 1ТБ SATA-HDD и 2ТБ USB3-HDD и занялся поиском информации по теме переноса данных и собственно переносом.

В принципе решение очевидное - dd, надобно было только уточнить синтаксис и проверить, будет ли оно грузиться как надо - MBR, /boot, GRUB, UUID дисков и т.п.

Самыми полезными оказались эти две статьи:

https://help.ubuntu.ru/wiki/backup - синтаксис самого dd и передача сигнала для проверки прогресса (это действительно больше всего напрягает в использовании такой опасной и мощно утилиты как dd - она что-то делает долгие часы, а ты не в курсе - всё ли ещё в порядке, что она творит и как долго это ещё будет продолжаться)

http://rus-linux.net/nlib.php?name=/MyLDP/hard/izmenenie-uuid-i-metki-toma-na-diske.html - рассказ про UUID, возможности его использования и т.п.

Итак, вооружившись инструкциями - ломанулся в бой:

sudo dd if=/dev/sda of=/dev/sdb bs=1M conv=noerror
и через пару часов получил новый и полностью рабочий HDD. Правда, радость была не долгой ибо вместе со всеми данными я поимел и часть ошибок в таблице разделов. В частности невнятный кусок экстендед на 250ГБ (равный всему объёму старого диска), на котором лежал SWAP и 175ГБ бывший диск D: винды, на котором хранились основные данные. И до кучи какой-то кусок в конце, объём которого значился -180 ТБ.

Поскольку копаться было в лом я просто загрузился с LiveUSB, переформатировал диск как мне нравится, и сделал

sudo dd if=/dev/sda2 of=/dev/sdb2 bs=1M conv=noerror
sudo dd if=/dev/sda3 of=/dev/sdb3 bs=1M conv=noerror
sudo dd if=/dev/sda[b]6[/b] of=/dev/sdb[b]4[/b] bs=1M conv=noerror
//sda1 и sdb1 - SWAP.

И всё бы было хорошо, но MBR-то таким образом не переносится. Тупо копировать MBR я не стал - он должен стать немного другим, и начал лечить. Вот тут-то мне и нужна помощь - что бы я не делал я получаю сообщение "No bootable device".

Текущая ситуация:

Из компа вытащен и лежит в стороне старый HDD - рабочий, но с косячной таблицей разделов (ввиду его пограничного состояния и ), на USB-HDD есть dd-образ нового сразу после переноса, но до экспериментов с MBR - с хорошими разделами, но косячной загрузочной записью (он сейчас развёрнут на новом HDD), через Super GRUB CD я могу войти в систему на новом HDD, в наличии пара флешек, прямые руки, работающие мозги, кое-какой линуксовый опыт (3 года администрирования гетерогенной сети, около 4 лет использования Ubuntu-GNU/Linux на персоналках) и прочий необходимый лут.

Единственное не устраивающее меня решение - переустановка системы. Я уже давно решил, что следующей установкой линукса для себя будет Debian и в самом крайнем случае так и поступлю.

P.S. Перечислять, что именно я уже предпринимал не буду - все предложенные варианты произведу, развернув dd-образ даже если это будет повтором уже проделанных вещей.

P.P.S. Ubuntu это вам не Debian Stable, посему я не торопился обновляться до 12.04, а потом отложил из-за проблем, так что у меня до сих пор 10.04LTS с GNOME2 и прочими радостями жизни.

Оффлайн VitalD

  • Активист
  • *
  • Сообщений: 509
    • Просмотр профиля
Re: Не получается создать «валидную» MBR
« Ответ #1 : 02 Июня 2013, 22:28:33 »
MetallDoctor,
Учитывая, что вы не новичок, сразу опишу, пришедшую первой в голову идею:
1) Форматировать целевой диск с пересозданием MBR
2) Создать на нем разделы тех же размеров, что и на исходном диске
2) Примонтировать образ исходного диска и копировать не весь диск а только разделы

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5580
  • Все по палатам!
    • Просмотр профиля
Re: Не получается создать «валидную» MBR
« Ответ #2 : 02 Июня 2013, 22:47:53 »
MetallDoctor,
Вот одна из тем
https://forum.ubuntu.ru/index.php?topic=213855.0
Извините, я все еще учусь

Оффлайн MetallDoctor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Не получается создать «валидную» MBR
« Ответ #3 : 02 Июня 2013, 23:26:43 »
MetallDoctor,
Учитывая, что вы не новичок, сразу опишу, пришедшую первой в голову идею:
1) Форматировать целевой диск с пересозданием MBR
2) Создать на нем разделы тех же размеров, что и на исходном диске
2) Примонтировать образ исходного диска и копировать не весь диск а только разделы
Примерно так и делал, с той лишь разницей, что на новом диске создавал разделы большего объёма, что бы не таскать их потом по диску. На то есть две причины:
1. Насколько Я помню структуру NTFS(и подозреваю, что к ext3 это то же относится) - он спокойно воспринимает всё пространство (тем более, что после такого переноса, загружаясь через GRUB CD я вижу полные объёмы разделов, напрмер / вместо ~30ГБ занимает положенные 700+ГБ(я не выносил /home отдельно ибо на тот момент не понимал, какое мне надобно отношение места под данные и софт)).
2. Попасть с созданием точно такого же объёма - сравнительно нудная задачка.
Впрочем, попробую. Вариант не самый быстрый - возможно, только завтра вечером смогу опробовать.
MetallDoctor,
Вот одна из тем
https://forum.ubuntu.ru/index.php?topic=213855.0
Кое-что интересное там есть, спасибо. Способы сравнительно замороченные, но могут сработать. В частности dd был выбран за то, что он и файлы перенесёт и права сохранит и UUID не придётся править и других подводных камней не подсунет, а что надобно не забыть отследить, например, после cp кроме UUID - не так очевидно. Про Clonezilla Я ещё почитаю, может поможет(хотя, подозреваю, что оно будет мало отличаться от dd sda => sdb и привезёт старые косяки таблицы разделов).
Отпишусь.


Оффлайн MetallDoctor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Не получается создать «валидную» MBR
« Ответ #5 : 26 Октября 2013, 23:07:34 »
Итак, Я не могу не отписаться по случаю того, что проблему-таки заборол. Даст Б-г, кому-то это поможет не возиться с ерундой.
Тому, что Я вытворял с компом нет прощения, хотя и есть оправдание: глаз замылился или «горе от ума».
Во-первых почему так долго или почему надобно слушать самого себя и зачем закручивать корпус: возиться с компом у меня получалось только по ночам и в выходные, а на работе в тот период началась дикая запара и Я оставил комп как был - с открытой крышкой - боком вверх на столе. Потом был отпуск, лень и прочие причины не браться за комп. У меня Slim-корпус с материнкой PicoBTX, адаптированный в том числе под работу на боку, вот он и лежал у меня на боку, собирая пыль. Когда дошли руки до компа он набрал на себя её уже достаточно, и Я решил его прочистить-пропылесосить. Вообще Я всегда и всем говорю, что пылесосить компьютер нельзя, но сам такое делал не раз, а значит как бы умею. Оказалось - нет, при попытке включить комп Я получил три долгих гудка и понял, что наконец-то свершилось и Я угробил мать статикой от пылесоса. Позже были поиски материнки, покупка через посредников, неделя ожидания - пока её доставят из штатов. Потом начал заниматься компом, перечитал этот пост (кстати, здорово помогло восстановить в голове картину происходившего, всем рекомендую писать как можно подробнее - что и как делалось и во что упираешься), переделал бэкап и...
Во-вторых: Я и окружающим и себе уже тысячу раз говорил - решение всех проблем надо начинать решать с самого простого. Когда работал в простом суппорте что бы запомнить это правило достаточно было всего пару раз попробовать переустановить драйвер от принтера с выдернутым USB (самое мерзкое, что иногда в Windows возникает ошибка, при которой она не видит подключенного принтера, что по симптомам совершенно не отличить), но со временем это забылось и Я как последний гений переставлял GRUB десятком способов, изучал MBR в HEX-редакторе (к слову, понял не всё) и страдал прочей ерундой. Сегодня, взглянув на проблему свежим и в целом не уставшим и не сонным взглядом Я увидел то, что видел, но на что не обращал внимания десятки раз когда возился с компом весной и летом:
:~# fdisk -l /dev/sda

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x1d92eccd

  Device Boot      Start        End      Blocks  Id  System
/dev/sda1            2048    6293503    3145728  82  Linux swap / Solaris
/dev/sda2        6293504  1429237759  711472128  83  Linux
/dev/sda3      1429237760  1534095359    52428800    7  HPFS/NTFS/exFAT
/dev/sda4      1534095360  1953523711  209714176    7  HPFS/NTFS/exFAT

Кто увидел проблему - тому пирожок.

(Нажмите, чтобы показать/скрыть)

Сегодня ещё забэкаплюсь правильно, с архивацией, на USB-HDD, обновлю стоящую там 10.04 на 12.04, если что - откачусь. Если и с 10.04 ввиду возраста и отключающихся репов и с 12.04 ввиду Unity (в смысле, если не только не подружусь с Unity, но и не получится настроить под себя Awesome или Mate+Compiz, что маловероятно) работать будет некомфортно - наверно сдёрну на Debian.

Отписавшимся огромное спасибо за помощь!!!

(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 27 Октября 2013, 00:20:32:
Кстати, похоже, мне всё-таки придётся сделать как советовал VitalD. Причина тому на скрине. То есть часть места просто недоступна.
« Последнее редактирование: 27 Октября 2013, 00:20:33 от MetallDoctor »

Оффлайн Spect

  • Старожил
  • *
  • Сообщений: 1173
    • Просмотр профиля
Re: Не получается создать «валидную» MBR
« Ответ #6 : 27 Октября 2013, 00:22:25 »
Чо-то сложно так.. Перенос dd "с косяками" по 10.04 и обновлять на 12.04?? Зачем?? За потраченное время дважды поставить "на чистую" и аккуратно новую 12.04 и скопировать нужные конфиги. Это как перетащить вещи в новый дом, потом перебрать и половину выкинуть, и уже расставив по местам остальное, начинать переклеивать обои..
Для "переноса разделов как есть" - fsarchiver. Снимает аккуратный образ, бывали "маты", но на последние версии - не встречал. Позволяет изменять в любую сторону размер раздела и сменить файловую систему. Не представляю, как сработает на "проблемном" разделе. Было бы интересно попробовать :).
Ubuntu 16.04 LTS [x86-64]/i3-2100T/2*4G/1T HDD/Intel HD 2000
Hatsan Escort Aimguard Combo 12/76, 7+1

Оффлайн bukass

  • Активист
  • *
  • Сообщений: 976
    • Просмотр профиля
Re: Не получается создать «валидную» MBR
« Ответ #7 : 27 Октября 2013, 01:59:53 »
Цитировать
И всё бы было хорошо, но MBR-то таким образом не переносится. Тупо копировать MBR я не стал - он должен стать немного другим, и начал лечить. Вот тут-то мне и нужна помощь - что бы я не делал я получаю сообщение "No bootable device".

В чем проблема, создать клон MBR с помощью DD?

sudo dd if=/dev/sda of=/dev/sdb bs=512 count=1
Всем пора в Изумрудный город, кому за умом, кому за сердцем.

Оффлайн MetallDoctor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Не получается создать «валидную» MBR
« Ответ #8 : 27 Октября 2013, 02:24:21 »
Чо-то сложно так.
Зато самый нативный вариант. Если немного следует наловчиться, то невнятные сторонние костыли станут ненужны. Я потому и пользуюсь GNU/Linux'ом - потому, что можно раскопать понятный до байта способ сделать что-то очень точно. В отличии от сторонних утилит, которые делают неизвестно что и неясно, как. Про fsarchiver почитаю, насколько он годен.

В чем проблема, создать клон MBR с помощью DD?

sudo dd if=/dev/sda of=/dev/sdb bs=512 count=1
Проблема в том, что в mbr указаны размеры разделов, а я их изменял и существенно.

Оффлайн Spect

  • Старожил
  • *
  • Сообщений: 1173
    • Просмотр профиля
Re: Не получается создать «валидную» MBR
« Ответ #9 : 27 Октября 2013, 14:15:44 »
По fsarchiver не нашел описаний по некоторым вопросам юзания, как-то проверял и отчитался https://forum.ubuntu.ru/index.php?topic=229804.0  При этом сам по себе он простой :)
Но считаю, если раздел изменил размер, то dd уже неприменимо корректно по сути своей.

Пользователь решил продолжить мысль 27 Октября 2013, 14:22:47:
Кстати, только после проб до меня дошло - для "типовой задачи" - расставить ОС на два десятка компов - fsarchiver может быть самым быстрым вариантом. Можно набросать скрипт смены uuid на уникальный и редактирования uuid и пересоздания пользователя, разметить диски без форматирования (если одинаково - тоже в скрипт) и с песнями, вперед. В несколько раз быстрее катит/раскатывает разделы.
« Последнее редактирование: 27 Октября 2013, 14:22:47 от Spect »
Ubuntu 16.04 LTS [x86-64]/i3-2100T/2*4G/1T HDD/Intel HD 2000
Hatsan Escort Aimguard Combo 12/76, 7+1

Оффлайн MetallDoctor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Не получается создать «валидную» MBR
« Ответ #10 : 07 Ноября 2013, 11:21:18 »
Поправил разделы не трогая больше dd и не пользуясь fsarchiver или чем-либо другим. Долго только от того, что опять было влом заниматься компом и были другие дела.
Пошёл по пути наименьшего сопротивления – загрузился с флешки, gparted'ом уменьшил размеры всех трёх итоговых разделов, а потом восстановил до максимума. В принципе, в данном случае GParted делал принципиально то же самое, что делал бы FSArchiever – выполнил последовательно несколько более простых и нативных команд, какими пользовался и я, во время работы я посмотрел, что это были за команды.
В итоге. Первая часть ошибки была от замыливания глаза, при таких чем сложнее подход и решение, тем хуже, но вторая… Я очень надеюсь, что корни второй лежат в банальной лени тех, кто знает про команды resize2fs и ntfsresize, а не в низком уровне сообщества и в засилии виндузятников-ньюфагов, предпочитающих надёжным низкоуровневым решения высокоуровневый винегрет вплоть до переустановки системы по поводу и без.
В итоге мой алгоритм переезда на будущее:
1. Подготовка разделов, что бы были установлены стартовые и финальные точки fdisk'ом. Тогда же – не забыть установить загрузочный флаг.
2. Перенос разделов чем-то вроде dd if=/dev/sda1 of=/dev/sdb1 bs=4M.
3. Проверить и, возможно, установить загрузочный флаг.
4. Подогнать размеры ФС к новым реалиям командами resize2fs для ext-разделов и ntfsresize для NTFS-разделов.
Всё. Забекапился (запакованный dd-образ 1ТБ диска вышел в 125,8ГБ). Пойду копаться в Unity, пора уже понять такой ли это ужас, как о нём говорят. Всем спасибо.

 

Страница сгенерирована за 0.057 секунд. Запросов: 25.