Grub - загрузка Windows со второго жесткого диска

Имеем следующую ситуацию. Есть два жестких диска: диск А, на котором установлены операционные системы Windows и диск Б, на который будет устанавливаться Ubuntu. Если вы только начинаете знакомство с Линуксом, то возможно как и я когда-то поступите следующим образом: отключите диск А (для собственного успокоения, чтобы не напартачить случайно с его разделами) и оставите только диск Б. После установки Ubuntu можно подключить диск А. В моем случае диск Б будет первым диском (с него будет происходить начальная загрузка), диск А будет вторым диском в системе. При таком расположении будет загружаться загрузчик Ubuntu - GRUB. Что такое загрузчик и GRUB в частности я здесь описывать не буду - информации в интернете предостаточно (например, в той же википедии). После загрузки загрузчика можно выбрать какую операционную систему загружать, но сейчас у нас есть возможность загрузить только Ubuntu (GRUB пока ничего не знает о втором диске с Windows). Нужно ему (загрузчику) об этом “сказать”. Загружаю Ubuntu, открываю терминал (Alt+F2, команда gnome-terminal) и открываю для редактирования файл menu.lst:

sudo nano /boot/grub/menu.lst

В файле menu.lst есть пример для загрузки операционной системы Windows:

# title         Windows 95/98/NT/2000
# root          (hd0,0)
# makeactive
# chainloader   +1

Попробую вставить его в конец файла (естественно убрав знаки комментария #). Файл menu.lst будет выглядеть так:

title           Ubuntu 9.04, kernel 2.6.28-14-generic
uuid            4bb76281-c423-4983-8957-82f0b03f1009
kernel          /boot/vmlinuz-2.6.28-14-generic root=UUID=4bb76281-c423-4983-8957-82f0b03f1009 ro quiet splash
initrd          /boot/initrd.img-2.6.28-14-generic
quiet

title           Ubuntu 9.04, kernel 2.6.28-14-generic (recovery mode)
uuid            4bb76281-c423-4983-8957-82f0b03f1009
kernel          /boot/vmlinuz-2.6.28-14-generic root=UUID=4bb76281-c423-4983-8957-82f0b03f1009 ro  single
initrd          /boot/initrd.img-2.6.28-14-generic

title           Ubuntu 9.04, memtest86+
uuid            4bb76281-c423-4983-8957-82f0b03f1009
kernel          /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title           Other operating systems:
root

title         Windows 95/98/NT/2000
root          (hd0,0)
makeactive
chainloader   +1

Сохраняю файл menu.lst, перегружаю Ubuntu и пробую загрузить Windows, выбрав пункт Windows 95/98/NT/2000. Но ничего не получается, вижу следующую ошибку:

Error 13: Invalid or unsupported executable format
Press any key to contine…

Ну конечно! Ведь диск с Windows не hd0, а hd1 (он же второй в системе)! Поправляю строчку root          (hd0,0) на root          (hd1,0). И снова перегружаю систему. Ошибка… Обращаюсь к первоисточнику - и нахожу команду map. Дело в том, что Windows умеет загружаться только с первого диска, поэтому с помощью команды map нужно поменять диски местами (как бы виртуально). Открываю снова файл menu.lst и привожу раздел загрузки  Windows к следующему виду:

title         Windows 95/98/NT/2000
root    (hd1,0)
makeactive
chainloader     +1
map (hd0) (hd1)
map (hd1) (hd0)

Перегружаюсь и теперь все в порядке - Windows загружается. Читая файл Grub.pdf, нашел еще много интересного, но об этом в других статьях.

Статьи и новости схожей тематики:

Комментариев: 12

  1. baklazan:

    Igorka !
    Это описание для Ubuntu 8.XX
    А как поступить с Ubuntu 9.10 - файл menu.lst пустой

    Ответить

    Igorka Reply:

    Да совершенно верно. В более ранних версиях использовался Grub или Grub Legacy.
    Теперь в Ubuntu используется загрузчик Grub2. Поэтому эта статья к нему уже не применима. Нужно читать руководство к grub2 - http://www.gnu.org/software/grub/grub-2-support.en.html
    У вас такая же проблема сейчас или просто интересуетесь?

    Ответить

  2. baklazan:

    Любимая структура моей станции - 3 операционки Win XP + Win Seven + Ubuntu 8.xx Решил освоить вариант с Ubuntu 9.10.
    А здесь такой казус.

    Ответить

  3. baklazan:

    Все таки победил Windows и Ubuntu 9.10 на разных HDD.
    1. Поставил Windows
    2. Не отключая HDD с Windows - установил Ubuntu (но на другой диск)
    3. Вот и все (главное при загрузке вовремя нажать Esc)
    Но не могу добиться вывода на экран time-out

    Ответить

    Igorka Reply:

    Случайно не об этом речь: http://igorka.com.ua/2010/02/08/menyu-grub2-v-ubuntu/

    Ответить

    baklazan Reply:

    Нет.
    Читал разные статьи, лазил по форумам.
    Иногда попадались противоречия и неопределенности.
    Затем решил - ребята от Linux не дураки.
    И действительно все сделано грамотно.
    Мое впечатление Grub-legacy был проще и понятнее.
    Но придется осваивать Grud2.

    Ответить

  4. baklazan:

    Извини Igorka.
    Да, то что надо - просто немного отвлекли

    Ответить

    Igorka Reply:

    Отлично!

    Ответить

  5. Turandot:

    Добрый день. Игорь.решила написать в этот пост.итак: у меня есть два жестких диска , на одном из них стоит убунта, на втором есть винда ХР….Граб у меня настроен так,что по умолчанию грузится виндоус.
    в чём вопрос: я хочу удалить убунту совсем и установить её как приложение из-под виндоус. вообще мне нужно переустановить виндоус. Жесткий диск, на котором установлена винда является активным..
    Из винды естественно, -жесткий диск на котором стоит убунта не виден.
    Я планирую просто вставить диск-загрузчик с винХР и запустить установку. По идее при процессе установки я увижу все свои жесткие диски и их разметку?
    в общем мне нужно снести убунту…..как мне быть?
    спасибо.

    Ответить

    Turandot Reply:

    или все-таки нужно партитишн мэджик или acronis использовать?

    Ответить

    Igorka Reply:

    То, что диск с Linux разделами из Windows не виден - это не естественно. Он должен быть виден в оснастке Управление компьютером - Управление жесткими дисками. Проверьте. Там его можно отформатировать в NTFS и он будет виден системе.

    Ответить

  6. Turandot:

    Спасибо огромное Игорь вам за помощь.

    Ответить

Оставьте свой отзыв