-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в Дёма

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 18.01.2005
Записей:
Комментариев:
Написано: 1888


Как излечить ошибку №17 при загрузке ОС (восстановление загрузчика)

Среда, 15 Июля 2009 г. 11:37 + в цитатник
Настроение сейчас - я его победил! или он меня...

У меня на компьютере стояла Windows XP на системном диске С. Кроме системного на том же харде (мастер, 20 гигов) был еще один логический диск. Кроме того, имелся прицепленный хард-архив (400 гигов), который также был разбит на два диска. Вот на один из логических дисков хард-архива я и стал устанавливать Linux Mint 7 Gloria.
Кстати, до этого я с линуксом дел практически не имел. Разве что видел как с ним работают другие люди.

Переразбил второй логический диск второго харда еще на три штуки – пять гигов с лишним под /, еще пять – под /home. Предварительно оба отформатил под журналируемую систему ext4. Третий диск, размерами меньше гига, отдал под своп – файл подкачки.

Получилось примерно так:
sda1 – ntfs – 11,5 гигов – винда
sda5 – ntfs – 8,8 гигов – файлы
sdb1 – ntfs – 389,3 гигов – файлы
sdb2 – ext4 – 5 гигов – линух /
sdb6 – ext4 – 4,6 гигов – линух /home
sdb5 – swap – 1 гиг – подкачка

Описывать процедуру установки и некоторые мои ошибки долго. С такими талантами мне бы бета-тестером работать. Просто скажу что сперва загрузчик верно опознавал соседнюю ОСь и выводил два варианта загрузки, но потом накрылся медным тазом. Причем, как я понял, работать перестал как виндовый загрузчик mbr, так и лиунксовый grub.

Grub loading stage 1.5
Grub loading, please wait...
Error 17

Общение с тем, кто посоветовал эту ОСь ни к чему не привело. Переустановка Linuxa разными способами тоже.
Пять часов нигмил. Нанигмил кучу советов. Стал применять. Результаты и ход испытаний - в комментах. Там же вы найдете все опробованные и не опробованные способы. Если у вас такая же проблема, то может поможет.

UP1:
Предполагаемые причины локализованы:
1. Установка линуха и, собственного, груба не на основной винт
2. Неверная настройка груба или устаревший груб
3. Неверный выбор файловой системы под форматирование

UP2:
Решение для восстановления виндового загрузчика было найдено:
1. Взять диск с которого устанавливалась винда, вставить в дисковод, перезагрузиться (но прежде желательно установить в BIOS загрузку с CD. [First Boot])
2. Запустить РУЧНУЮ установку винды.
3. Дождаться экрана, где будет приветствие программы установки и выбор трех вариантов, среди которых «Чтобы восстановить Windows XP, с помощью консоли восстановления, нажмите ».
4. Нажать клавишу R
5. Нажать клавишу 1 и Enter, потом ввести пароль администратора (если он был). Потом Enter
6. Ввести команду fixmbr
7. Нажать клавишу Y и Enter
8. Ввести команду exit
9. Установить в BIOS обратно загрузку с харда

Решение для восстановления линуксового загрузчика ищется.

UP3:
Проблема была решена зверским путем: переформатированием всех разделов основного харда. Разбил его два диска. На первый, в 10 гигов, установил винду. Второй разбил еще на три части - 1 гиг под своп, 5 гигов под / (ext3), 3 гига под /home (ext3). После этого все заработало нормально.

Дёма   обратиться по имени Среда, 15 Июля 2009 г. 11:41 (ссылка)
Вернуть загрузчик от винды можно если загрузиться в винду и ввести команду fixmbr. Потом восстанавливаем линукс загрузчик


Это не сработало. Такой файл вообще не был найден.

Прежде всего ставим в BIOS загрузку с CD. [First Boot]
Загружаемся с Live CD, запускаем в консоли (терминале) груб (sudo grub) :
grub> find /boot/grub/stage1 «или в конце stage2»
Команда find (ищем загрузчик) тебе должна выдать (hdx,y) # полученные значения подставьте в следующие команды:
grub> root (hdx,y) «твой раздел с grub»
grub> setup (hdx) «поставить в mbr»
quit

Например если у тебя (1,3), то пишешь:
grub> root (hd1,3)
grub> setup (hd1)
Эта операция восстанавливает твой старый груб со всеми его пунктами.


В моем случае загрузчик был найден hd1,1. Программа выдала окно:
Checking if «/boot/grub/stage1» exists... yes
Checking if «/boot/grub/stage2» exists... yes
Checking if «/boot/grub/e2fs_stage1_5» exists... yes
Running «embed /boot/grub/e2fs_stage1_5 (hd1)»... 17 sectors are embedded.
Succeseeded
Running «install /boot/grub/stage1 (hd1) (hd1)1+17 p (hd1,1) /boot/grub/stage2
/boot/grub/menu.lst»... succeeded
Done.

Я вышел и перезагрузился.
Но после перезагрузки опять выскочила все та же ошибка...

После этого я обратился за подсказкой к Сергею Акимову (он же Serj). Сергей честно признался, что мало что понимает в Линуксе, но через пару минут выдал мне ссылку на Убунтологию. По ссылке я перешел, вчитался, и понял, что восстанавливать системный загрузчик винды mbr следовало не через виндовый Live CD, а через консоль восстановления!
Нашел диск с которого устанавливалась винда, выполнил все инструкции и ура! - виндовый загрузчик заработал! Мне при загрузке предложили выбрать какую ОСь я хочу загрузить, причем верно опознали обе.

Я загрузил винду – сработало. Перезагрузился, попробовал загрузить линукс – не сработало – выбросило опять в перезагрузку. Перезагрузился с вставленным диском Linux Mint 7 Gloria – выдало Booting GRLDR... _ и так провисело с часа два, пока я снова не перезагрузил
Переустановил линух. Все началось заново – ошибка 17 и все такое. Снова восстановил мбр.
Снова попробовал восстановить груб, учитывая то, что мбр теперь должен работать. Перезагрузился.
Комп нормально выдал опять мне на выбор два варианта загрузки, я выбрал линух и...ушел в перезагрузку.
Ответить С цитатой В цитатник
Дёма   обратиться по имени Среда, 15 Июля 2009 г. 11:44 (ссылка)
Посоветовали переформатить систему с ext4
создай на харде с виндовыми разделами в самом начале диска то-есть перед sda1 основной раздел раздел. Размеров метров в 50. Отформатируй его в ext2. И туда ставь grub как описал сам у себя в ЖЖ. когда grub стартанёт просто меняй его конфиг в его же меню. И будет тебе счастье. а лучше перставь систему на ReiserFS. Проблемм таких возникать больше нибудет. К тому же замечано что при установки системы которую патченый граб грузит с ext4 всё работает на ура. А при прописывании загрузки с ext4 очень часто возникает ошибка 17.
Ответить С цитатой В цитатник
Дёма   обратиться по имени Среда, 15 Июля 2009 г. 11:45 (ссылка)
нужно немного подправить /boot/grub/menu.lst. Находим вот такую строчку:
title Ubuntu 9.04 <...>
root (hdX,Y)
kernel /boot/vmlinuz-2.6.28-... root=... ro quiet splash

И добавляем к последней в конец rootfstype=ext4


Попробовал. Но он мне не дал сохранить исправленный файл - мол нет у меня прав тут распоряжатся!

Спросил у знающих людей. Те уточнили, что надо в Терминале ввести команду sudo su
Ввел. Мне выдало "You look tired" и какого-то забавного медвежонка в ASCII-графике

Ввел пароль. Он написал что команда не найдена. Ввел sudo su и пароль через пробел. Он мне написал что неизвестный ID.

Я даже попробовал ввести просто su. Он написал "There was a phone call for you"

Короче, попробую переформатировать разделы.
Ответить С цитатой В цитатник
Дёма   обратиться по имени Среда, 15 Июля 2009 г. 11:46 (ссылка)
Переформатировал разделы. Корень под reiserfs, а /home - под ext3. Перезагрузил. Выдало опять ошибку 17.

Сказали, что нужно поступить следующим образом:

Alt + F2, туда написать gksudo gedit /boot/grub/menu.lst и ввести пароль. Найти строку kernel /boot/vmlinuz-2.6.28-... root=... ro quiet splash и в конце ее через пробел вписать rootfstype=ext4.
А если разметишь корень как ext3, то вообще можешь этого не делать. Или если создашь отдельный /boot раздел ext3


1. Загрузился с Live CD.
2. Нажал Alt + F2. Появилось окно "Выполнить программу". Ввел туда "gksudo gedit /boot/grub/menu.lst". Открылся ПУСТОЙ документ. Закрыл.
3. Нажал Alt + F2. Ввел "gksudo gedit /boot/grub/menu.lst 11111111". Открылся ПУСТОЙ документ. Закрыл.
4. Перезагрузился с диска С. Вылезла ошибка 17.
5. Восстановил mbr
6. Перезагрузился с диска С. Появилось окно выбора Осей. Выбрал Линукс. Появилась надпись Booting GRLDR... _
7. Повторил первый пункт. Изучил /boot/grub/. Пришел к выводу, что это не хардовский, а лив сидишный. С учетом найденного на примонтированном винте бута изменил путь на media/disk/boot/grub/menu.lst
8. Открылся файл.
9. Нашел строку, заканчивающуюся на ro quiet splash
10. В конце этой строки поставил пробел и вписал rootfstype=ext4

Потом см. пункт 6.....
Ответить С цитатой В цитатник
Дёма   обратиться по имени Среда, 15 Июля 2009 г. 11:46 (ссылка)
Снес винду. Переформатировал нафиг все разделы. Разбил основной хард двадцатку на два диска - 10 гигов и 9 гигов. На 10-ку поставил винду. Девятку решил разбить под линукс, ext3.
Запустил лив сиди, начал установку. Тот сообщил что никаких осей на компе нет. Я удивился. Перезагрузился в винду, проверил - есть! Опять перезагрузился в лиуксовский лив сиди, подмонтировал диски, начал установку. Тот опять гордо сообщил что других осей нет. Хотя в процессе установки спросил не нужно ли мне с винды перенести профиль администратора? Ну не считает он винду за ось, в общем! Ладно.

Теперь установилось нормально. При включении компа груб выдает три варианта загрузки линуха и один - винды.
Ответить С цитатой В цитатник
Дёма   обратиться по имени Среда, 15 Июля 2009 г. 11:47 (ссылка)
Из найденного, но не опробованного (может кому-то поможет):

Ошибка 17 выдается, если требуемый раздел существует, но тип файловой системы не опознается GRUB / grub не может примонтировать указанную партицию.
Убедитесь в правильности настройки root(x,y) в своем grub.conf.
Кроме того, если вы пытаетесь загрузить Windows, обеспечьте, чтобы в вашем файле grub.conf были строки root (hdX,Y) (или rootnoverify (hdX,Y)) и chainloader (hdX,Y)+1. Возможно ошибка в настройках menu.lst, указано неправильный номер диска к примеру.


Внимание новичкам: во всех вариантах с использованием диска-установщика или Live CD необходимо предварительно выставить в настройках BIOS загрузку с CD-romа (как правило в меню [First Boot]). Чтобы попасть в настройки Биоса – нажмите В САМОМ НАЧАЛЕ загрузки компа клавишу Delete и не отпускайте ее до появления экрана Биос.

Варианты с присоединением груба к мбр:
Если у нас раньше стоял MS Windows (и вы его просто переставили), тогда выполняем grub, а затем в его консоли пишем:
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

где hd0 - ваш диск. Первой строчкой мы указываем раздел, где размещается /boot, второй устанавливаем загрузчик в MBR, а третьей - выходим из консоли загрузчика.

Если они не стояли, добавляем в файл /etc/grub.conf (или /boot/grub/grub.conf) такие строчки:
title Windows
rootnoverify (hd0,4)
chainloader +1

В данном примере MS Windows находится на 5-м разделе, /dev/hda5

А дальше точно так же выполняем grub и в появившейся консоли загрузчика пишем:
grub> root (hd0,0) (Specify where your /boot partition resides)
grub> setup (hd0) (Install GRUB in the MBR)
grub> quit (Exit the GRUB shell)


Грузимся с 1CD ASPLinux 12
Заходим в режим восстановления системы.
Даем команды:
1. chroot /mnt/sysimage
2. sudo grub
3. find /boot/grub/stage2 (чтобы узнать параметры для следующей команды например: выдаст (hd0,4) )
4. root (hd0,4)
5. setup (hd0) или (hd0,0)
6. quit или Ctrl+C
Перезагружаемся. reboot или Ctrl+Alt+Del


Мне удалось восстановить grub и мультизагрузку (выбор винды или линукса). Вот как с это сделал:
1. Загрузился c LiveCD
2. Нашел разделы, куда была установлена Ubuntu:
поскольку у меня Ubuntu установлена была на другой винт, просмотрел его с помощью sudo fdisk -l /dev/hdb
3. Смонтировал /boot раздел (где находится загрузчик) sudo mount /dev/hdb1 /hdb1
4. Посмотрел в смонтированной фс файлик /hdb1/grub/menu.lst и определил, что root (загрузочный раздел, как я понял, а не линуксовый root который на /dev/hdb2) находится на (hd1,0) или на /dev/hdb1
5. Далее запустил sudo grub и в нем:
# root (hd1,0)
# setup (hd0)
насчет setup (hd0) скажу отдельно: если делать setup (hd1), то загрузчик grub прописывается в mbr диска hdb, и при перезапуске ничего не меняется, сразу загружается винда, потому в случае моей установки надо было прописывать именно (hd0)


Загружаемся с любого LiveCD монтируем корневой и boot раздел диска:
например sda6 -- "/", а sda1 -- "/boot":
mount /dev/sda6 /mnt/sda6 && mount /dev/sda1 /mnt/sda6/boot

затем меняем корневую директорию:
chroot /mnt/sda6

и в первой же строке вводим комманду:
grub

Далее произойдёт проверка доступных дисков, которая может занять некоторое время.
В конце концов должно появиться приглашение:
GRUB>

в нем укажем наш загрузочный диск:
root (hd0,0)

и скажем grub`у установить себя на этот диск:
setup (hd0)

загрузчик grub прочтет все конфигурационные файлы из директории /boot/grub и перепишет MBR.
Далее скажем:
quit

выйдем из переменной корневой директории и перезагрузимся.
Всё должно работать.


Варианты с ручным указанием правильных параметров:
Да пофигу, откуда граб запускать. Главное его инсталльнуть на загрузочный хард (setup hd(0)), а потом в конфиге /boot/grub/menu.lst правильно указать параметры
а) root - имеется ввиду рут граба (т.е. hd(0,0), а не hda1 !)
б) путь к ядру
в) путь к initrd


Варианты с инсталляцией груба:
Решил загрузкой с LiveCD linux (напр. Ubuntu) и командой в терминале:
sudo grub-install --root-directory= <устройство>

Вместо подставляем путь до корня смонтированной системы, а вместо <устройство> - устройство на которое ставим загрузчик.
Если на компьютере установлены несколько жестких дисков то вам нужно узнать на каком именно. Жесткие диски в линуксе нумеруются hda, hdb, hdc и т.д.
Узнать это можно выбрав, к примеру, утилитку разметки дисков.
В моем случае команды была следующей:
sudo grub-install --root-directory=/media/disk /dev/sda

Пример: загрузился с LiveCD. Далее выбрал утилитку разметки дисков. Она то мне и показала, что есть сие "путь до корня смонтированной системы" и "устройство" в моем случае /media/disk и /dev/sdb1 соответственно. Т.е. на втором харде стояла Убунта.


З.Ы.: Иногда еще говорят, что перед инсталляцией груба надо примонтировать свой хард командой
sudo mount /dev/hda1 /media/disk

Кроме того, в ответах различаются варианты указаний имени устройства в команде установки. Например, вместо sda или sdb надо, мол, указывать hda (hdb) или hda1 (hdb1, hda5 и т.д.)

Потом, если надо, можно подредактировать menu.lst в /media/disk/boot/grub

При существующем и ранее работавшим дистрибутивом Linux следующий:
1. Взять загрузочный CD того дистрибутива, который установлен (можно и другого, но тут как сработает)
2. Выбрать при загрузке опцию: linux rescue
3. Смонтировать разделы Linux с жёсткого диска в каталог /sysimage (загрузочный диск родного дистрибутива в Fedora и Centos сделает это сам) и запустить chroot /sysimage
Таким образом вы получите практически загрузку с установленного ранее дистрибутива
4. Выполнить grub-install на /dev/hda (или /dev/sda если у вас SATA или SCSI)
После перезагрузки должно появится меню GRUB которое было ранее в grub.conf в разделе Linux на жёстком диске


Вариант с возможностью восстановления через меню диска-установщика:
Вставляем диск того же линукса и ребутимся. Далее "Rescue system" и в меню выбираем "restore windows booter" или что-то вроде того. И все отлично работает. Слава пингвинам)
Ответить С цитатой В цитатник
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку