- Не грузится ОС после переноса на другой HDD через dd
- Перенос системы с hda на sdа с восстановлением загрузчика lilo
- Восстановление загрузочной записи
- Содержание
- Немного теории [ править ]
- DOS Partition Table [ править ]
- GPT [ править ]
- Рекомендуемые средства [ править ]
- Восстановление загрузки при повреждении MBR [ править ]
- с помощью fixmbr [ править ]
- с помощью lilo [ править ]
- Восстановление основного загрузчика [ править ]
- Подготовка chroot [ править ]
- В автоматическом режиме [ править ]
- В ручном режиме [ править ]
- Восстановление [ править ]
- lilo [ править ]
- grub [ править ]
- Замечания [ править ]
- Если изменилась таблица разделов [ править ]
- Если нужны изменения в initrd [ править ]
- Восстановление загрузчика GRUB через Boot-Repair в Ubuntu
- Восстанавливаем загрузчик GRUB через Boot-Repair в Ubuntu
- Шаг 1: Установка Boot-Repair
- Шаг 2: Запуск Boot-Repair
- Шаг 3: Исправление найденных ошибок
Не грузится ОС после переноса на другой HDD через dd
Всем привет. После переноса, grub подхватывает а затем появляется ошибка следующего содержания Как это поправляется? OpenSuse 11.3 — перед реальным переносам пробую на виртуалке.
настройкой fstab через загруженный любой линукс
Как вы переносили систему с помощью dd ? По разделам или целиком диск ? Какой размер реального диска и разделов и виртуального ?
100 % вы перенесёте систему простым копированием файлов с указанием опции сохранения прав доступа.
Либо заархивируйте систему, затем загрузитесь с LiveCD, создайте разделы, файловые системы на них, смонтируйте в нужном порядку и разархивируйте архив системы, затем отредактируйте /etc/fstab и переустановите загрузчик.
mkinitrd вероятно надо было б перезапустить. ну и указать новую опцию root= в ядре. Ты ж винт 100% на другой канал повесил. И теперь у него имя не /dev/sda, а /dev/sdb. Как-то так.
переносил целиком диск: dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,noerror
винт после копирования вешаю на тот канал, где был старый.
у тебя UUID разделов изменился. чини fstab. blkid тебе в помощь
как залезть в fstab Опенсусы скажем через live Убунты, можно подробнее?
тогда конечно должно все работать. а проверь UUID ФС, вдруг он как-то поменялся. А-то в последнее время софт под линь стал слишком умный. Может быть такое, что он UUID как-то вычисляет во время runtime принимая во внимание серийник винта.
только что заметил, что ты в виртуалке проверяешь. не надо. Запуская сразу на реальном железе.
Источник
Перенос системы с hda на sdа с восстановлением загрузчика lilo
Доброго дня. Такая вот задача: Нужно перекинуть систему с старого железа на новое. Раньше диск был hdb. Сейчас нужно запустить линукс с sdа.
Дистрибутив alt-linux допотопной сборки.
Собственно, все уже на новом диске, диск оперделяется как sdb (на sda стоит образ Убунты для восстановления).
Образ системы скопирован с помощью dd.
- Загружаюсь с Убунты
- Монтирую sdb /mnt/
- Меняю в lilo.conf hda на sdb, hda1 на sdb1.
- Редактирую fstab. Тут тоже меняю имена дисков. Они у меня в виде hda/sdb без Id
- Далее запускаю lilo для компиляции загрузчика
Вот тут у меня проблема. Не понимаю принципа, как правильно сказать #lilo, что диск, на который нужно писать загрузчик должен быть /dev/sdb
Пробую так, но что то не заводится(
без chroot команда lilo компилит загрузчик с убунты(
/proc/devices: fopen failed: No such file or directory
/proc/devices: fopen failed: No such file or directory
Failed to set up list of device-mapper major numbers
Warning: ‘/proc/partitions’ does not exist, disk scan bypassed
Fatal: Default image doesn’t exist.
ARK имя загрузчика в lilo.conf
PS: почему в LORCODE не работает спойлер?( и почему при копировании кода, он его вставляет в одну строчку? приходится ставить переносы.
а с чего ты взял, что такая старая система что там hd* вместо sd* вообще заработает нормально на новом железе
Раньше диск был hdb. Сейчас нужно запустить линукс с sdа.
Заставило меня открыть календарь и проверить десятилетие.
А зачем lilo, может в «убунтовский» grub добавить строчку для системы?
Насколько старая? Уже в начале 2000х у меня были sda…
Зачем тебе именно лило? Перенести потроха и поставить любой загрузчик.
Нужно в chroot окружение смонтировать /proc/ и /dev/ (через —bind), как обычно для всех прочих chroot’ов.
что диск, на который нужно писать загрузчик должен быть /dev/sdb
Опция ″boot=″. Если вы захотите установить lilo на другой диск без chroot’а, то нужно правильно указывать все пути к файлам — ″map=″ и пр.
И, если вы грузитесь с одного винта, а загрузчик нужно установить на другой, то нужно прописывать опцию bios:
Они у меня в виде hda/sdb без Id
А вот это может стать проблемой. При загрузке с того диска, который сейчас sdb, он может стать sda. Или вобще hda, если старое ядро.
Дело в том, что у нас много железок, для которых нужно периодически менять накопители с системой, по этому использовать ID весьма проблематично. Раньше вместо накопителя использовались CompactFlash. Сейчас шаманю с SSD и HDD
В Lilo.conf все прописано. А вот дальше проблема с правильной компиляцией.
Можно поподробней на счет этого:
Если вы захотите установить lilo на другой диск без chroot’а, то нужно правильно указывать все пути к файлам — ″map=″ и пр.
Дело в том, что я не знаю, как будет вести себя железо, если я заменю lilo на grub, тем более знаний у меня ниже нижнего.
Я уже столько перечитал статей на счет этого, что в голове все перемешалось.
Собственно, везде пишут, что после изменения lilo.conf нужно выполнить lilo. Я это делаю, но у меня при загрузке пишет:
из этого я понял, что лило не скомпилировал нормальный путь к sdb1
Накатил бы grub и нет проблем.
Please append a correct «root»=boot option
В командной строке загрузчика нужно указать root=/dev/XXX, а что ставить вместо XXX нужно разобраться. Не помню как называлась эта опция, rootdelay, что-ли. Указываете её в командной строке загрузчика и число побольше, тогда будет пауза перед монтированием корневой ФС, за это время можно понажимать Shift+PgUp и почитать вывод ядра — какие устройства (жёсткие диски) оно нашло.
из этого я понял, что лило не скомпилировал нормальный путь к sdb1
Источник
Восстановление загрузочной записи
Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной. |
Содержание
Немного теории [ править ]
DOS Partition Table [ править ]
Загрузчик ОС может находиться как в Master Boot Record (MBR), так и в boot record раздела. Если загрузчик находится в BR раздела, этот раздел должен быть помечен как активный, а в MBR должен находиться стандартный загрузчик, который находит активный раздел и запускает следующий загрузчик оттуда.
GPT [ править ]
надо описать отличия от DOS PT и, возможно, упомянуть отличия BIOS от UEFI, где команда fixmbr неприменима
Рекомендуемые средства [ править ]
Действия, описанные в разделе «Восстановление загрузки при повреждении MBR», можно сделать из любой ОС любыми имеющимися там средствами. Для действий, описанных в разделе «Подготовка к восстановлению основного загрузчика» и далее требуется любой LiveCD с Linux, соответствующий по архитектуре установленной на восстанавливаемой системе (но x86_64 может быть применён для i586). Во многих образах ALT Linux присутствует возможность загрузиться в режиме восстановления (rescue). Как правило, в этих образах присутствуют две полезные утилиты — fixmbr и mount-system . Кроме того, существует специализированный LiveCD ALT Linux Rescue.
Восстановление загрузки при повреждении MBR [ править ]
Если основной загрузчик располагался в BR и не был повреждён, а проблема только с MBR и/или сбиты настройки активного раздела, исправить это можно с помощью fixmbr или lilo. Если же повреждён основной загрузчик, можно переходить сразу к пункту «Восстановление основного загрузчика».
с помощью fixmbr [ править ]
Можно попробовать воспользоваться утилитой fixmbr из rescue-режима:
без параметров. В большинстве случаев этого достаточно — программа найдёт первый раздел, содержащий загрузчик, сделает его активным и восстановит MBR.
с помощью lilo [ править ]
Можно также воспользоваться lilo. Это не только загрузчик, но и утилита для манипулирования MBR и активными разделами. Допустим, мы знаем, что у нас загрузчик (не обязательно LILO) находится на разделе 2.
Восстанавливаем стандартный загрузчик в MBR (можно выбрать mbr или ext, последний допускает загрузку с логических разделов):
Убираем все метки активных разделов (если единственная метка переехала или если меток стало больше одной):
Делаем активным раздел 2:
Восстановление основного загрузчика [ править ]
Основной загрузчик чаще всего бывает повреждён на компьютерах с несколькими операционными системами, если он расположен в MBR. Это связано с тем, что некоторые ОС переписывают содержимое MBR при установке, что делает невозможным загрузку других ОС. Следует понимать, что возврат старого загрузчика, в свою очередь, может сделать недоступной установку той самой «другой ОС». Иной способ повредить загрузчик — передвинуть разделы. Например, lilo грузит ядро и initrd, ориентируясь на абсолютное расположение файлов на носителе, заданное посекторно при установке загрузчика.
Процесс состоит из двух этапов. Первый — это сбор дерева файловой системы в произвольной точке монтирования и выполнение команды chroot в эту точку. В результате этой операции получается рабочая (ранее недоступная) система. Надо заметить, что восстановление загрузчика — не единственное применение chroot. Второй этап — собственно работы по переустановке (с возможным переконфигурированием) нужного загрузчика, выполняемые во временно реанимированной посредством chroot системе.
Подготовка chroot [ править ]
Загрузитесь с установочного диска ALT Linux в режиме «Rescue». После загрузки мы получаем терминал с командной оболочкой от имени суперпользователя root.
В автоматическом режиме [ править ]
Воспользуйтесь утилитой mount-system, находящейся, как и fixmbr, в rescue-образе. Как и fixmbr, она запускается без параметров. В случае успешного выполнения достаточно будет выполнить chroot в указанную точку монтирования (для первой обнаруженной системы это может быть /mnt/system1 ). В противном случае потребуется сделать то же самое в ручном режиме.
В ручном режиме [ править ]
Ручная подготовка chroot состоит из следующих этапов:
- Уточняем информацию о том, на каком устройстве находится корневой раздел. Для этого можно воспользоваться утилитой fdisk (или своей памятью, или заранее заготовленными записями). Если будет обнаружено несколько разделов c Linux, возможно, придётся проверять их подряд. Для определённости будем считать, что корневой раздел находится на /dev/sda1
- Монтируем корневой раздел с жёсткого диска к файловой системе RescueCD:
- Убеждаемся, что смонтировали действительно тот раздел
- Монтируем виртуальные ФС (потребуются для установки загрузчика либо иных задач по прямой работе с диском):
- Выполняем chroot в собранную ФС:
- Если есть отдельный раздел с /boot , монтируем его в точку /boot
- Вместо предыдущего пункта можно использовать
это смонтирует все ФС, которые описаны в /etc/fstab , включая отдельный /boot
Восстановление [ править ]
lilo [ править ]
Восстановление lilo, как правило, сводится к запуску команды lilo без параметров (иногда требуется предварительная правка файла /etc/lilo.conf ):
grub [ править ]
После того как проведены подготовительные действия и сделан сhroot, необходимо перегенерировать конфиг grub:
после чего, если используется обычный BIOS-режим, следует заново установить GRUB в MBR:
если же используется EFI-режим, может потребоваться восстановить загрузчик в ESP-разделе (EFI System Partition), который монтируется в /boot/efi :
Загрузчик grub обладает очень широкими возможностями. Вероятно, нелишним будет почитать про него предварительно.
Замечания [ править ]
Если изменилась таблица разделов [ править ]
Если проблемы с загрузчиком — результат перемещения/объединения разделов, то до непосредственного восстановления загрузчика потребуется скорректировать настройки загрузчика. Кроме этого, надо будет поправить /etc/fstab (для него порядок исправления неважен).
Пример для LILO (для GRUB смотреть в его описании).
Предположим, у вас был раздел sda3 с Windows, а стал раздел 1. В /etc/lilo.conf надо заменить
И соответственно убрать/поправить в /etc/fstab строчку вида
Если у Вас в конфигурации загрузчика и в fstab используются UUID, то для изменённых разделов, новые UUID можно посмотреть командой blkid . Не забудьте про параметр ядра resume, где указывается раздел swap.
Если нужны изменения в initrd [ править ]
Непосредственно к восстановлению загрузочной записи это не относится, но может иметь отношение к процессу загрузки при замене контроллера HDD или иных проблемах, требующих изменений в initrd. В ALT Linux, начиная с дистрибутивов, основанных на ветках p5/5.1, используется утилита make-initrd. Вам следует узнать, какое ядро установлено по умолчанию (смотреть в конфигурации загрузчика), и пересобрать соответствующий initrd до выполнения пункта «Восстановление загрузчика». В большинстве случаев будет достаточно простого запуска make-initrd с указанием версии ядра, так как состав модулей будет определён автоматически исходя из загруженных на данный момент. Если это не поможет, придётся изучить make-initrd более подробно.
В примере видны наборы модулей для четырёх ядер. Допустим, по-умолчанию используется 3.16.6-un-def-alt1. Команда на пересборку будет выглядеть так:
В случае Lilo надо обновить конфигурацию загрузчика (просто запустить lilo), так как Lilo обращается к информации в initrd минуя файловую систему и должен знать о расположении данных на HDD, а при пересоздании файла его расположение практически всегда меняется.
Источник
Восстановление загрузчика GRUB через Boot-Repair в Ubuntu
Достаточно частой практикой у пользователей является установка двух операционных систем рядом. Чаще всего это Windows и один из дистрибутивов, основанных на ядре Linux. Иногда при такой инсталляции возникают проблемы с работой загрузчика, то есть загрузка второй ОС не производится. Тогда его нужно восстановить собственными силами, изменив системные параметры на правильные. В рамках данной статьи мы бы хотели обсудить восстановление GRUB через утилиту Boot-Repair в Ubuntu.
Восстанавливаем загрузчик GRUB через Boot-Repair в Ubuntu
Сразу хочется отметить, что дальнейшие инструкции будут приведены на примере загрузки из LiveCD с Ubuntu. Процедура создания такого образа имеет свои нюансы и сложности. Однако разработчики операционной системы максимально детально описали эту процедуру в своей официальной документации. Поэтому мы настоятельно рекомендуем ознакомиться с ней, создать LiveCD и загрузиться с него, а уже потом переходить к выполнению руководств.
Шаг 1: Установка Boot-Repair
Рассматриваемая утилита не входит в стандартный набор инструментов ОС, поэтому ее придется установить самостоятельно, воспользовавшись пользовательским репозиторием. Все действия осуществляются через стандартный «Терминал».
- Запустите консоль любым удобным способом, например, через меню или зажатие горячей клавиши Ctrl + Alt + T.
Загрузите необходимые файлы в систему, прописав команду sudo add-apt-repository ppa:yannubuntu/boot-repair .
Ожидайте завершения загрузки всех необходимых пакетов. Для этого должно иметься активное подключение к интернету.
Обновите системные библиотеки через sudo apt-get update .
Запустите процесс инсталляции новых файлов, вписав строку sudo apt-get install -y boot-repair .
Когда вся процедура прошла успешно, можно смело переходить к запуску Boot-Repair и сканированию загрузчика на наличие ошибок.
Шаг 2: Запуск Boot-Repair
Для запуска установленной утилиты вы можете использовать иконку, которая была добавлена в меню. Однако не всегда получается работать в графической оболочке, поэтому достаточно просто ввести в терминале boot-repair .
Будет произведен процесс сканирования системы и восстановления загрузки. Во время этого не делайте ничего на компьютере, а также не завершайте принудительно функционирование инструмента.
Шаг 3: Исправление найденных ошибок
После окончания анализа системы программа сама предложит вам рекомендованный вариант восстановления загрузки. Обычно он исправляет самые часто встречающиеся проблемы. Для его запуска просто потребуется нажать на соответствующую кнопку в графическом окне.
Если вы уже сталкивались с работой Boot-Repair или прочитали официальную документацию, в разделе «Расширенные настройки» можете применить собственные параметры восстановления, чтобы обеспечить стопроцентный результат.
По окончании восстановления перед вами откроется новое меню, где будет видно адрес с сохраненными логами, а также отобразится дополнительная информация касаемо результатов исправления ошибок GRUB.
В случае когда у вас нет возможности использовать LiveCD, потребуется загрузить образ программы из официального сайта и записать его на загрузочную флешку. При ее запуске на экране сразу отобразятся инструкции, и потребуется выполнить их все, чтобы решить возникшую проблему.
Обычно с возникновением неполадок GRUB сталкиваются юзеры, которые поставили Ubuntu рядом с Windows, поэтому следующие материалы по теме создания загрузочного накопителя будут максимально полезны, советуем детально ознакомиться с ними.
В большинстве случаев применение простой утилиты Boot-Repair помогает быстро справиться с наладкой работоспособности загрузчика Ubuntu. Однако если вы и дальше сталкиваетесь с различными ошибками, рекомендуем запомнить их код и описание, а после обратиться к документации Убунту для поиска доступных решений.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник