Как излечить ошибку №17 при загрузке ОС (восстановление загрузчика) |
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |
Вернуть загрузчик от винды можно если загрузиться в винду и ввести команду 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)
Эта операция восстанавливает твой старый груб со всеми его пунктами.
создай на харде с виндовыми разделами в самом начале диска то-есть перед sda1 основной раздел раздел. Размеров метров в 50. Отформатируй его в ext2. И туда ставь grub как описал сам у себя в ЖЖ. когда grub стартанёт просто меняй его конфиг в его же меню. И будет тебе счастье. а лучше перставь систему на ReiserFS. Проблемм таких возникать больше нибудет. К тому же замечано что при установки системы которую патченый граб грузит с ext4 всё работает на ура. А при прописывании загрузки с ext4 очень часто возникает ошибка 17.
нужно немного подправить /boot/grub/menu.lst. Находим вот такую строчку:
title Ubuntu 9.04 <...>
root (hdX,Y)
kernel /boot/vmlinuz-2.6.28-... root=... ro quiet splash
И добавляем к последней в конец rootfstype=ext4
Alt + F2, туда написать gksudo gedit /boot/grub/menu.lst и ввести пароль. Найти строку kernel /boot/vmlinuz-2.6.28-... root=... ro quiet splash и в конце ее через пробел вписать rootfstype=ext4.
А если разметишь корень как ext3, то вообще можешь этого не делать. Или если создашь отдельный /boot раздел ext3
Если у нас раньше стоял 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 соответственно. Т.е. на втором харде стояла Убунта.
При существующем и ранее работавшим дистрибутивом 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] [Новые] |