Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Операционки на два винчестера


Автор: Fedor 13.11.2004, 12:21
Весной купил себе новый винчестер, на старый поставил Линукс (он тогда был подключен один), на новый - WinXp+Win98 (он тоже был один). Полгода старый винт лежал отклбченный на полке. Теперь захотел совместить эти два чуда. Загрузочная дискета Линуха бесследно исчезла. Вопрос: как мне сделать при загрузке чтоб в выборе были три операционные системы (сейчас Линуха не видно). И как при этом сделать загрузочную дискету (если она нужна конечно).

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

З.Ы. Не постите пожалуйста ответы типа "юзай Lilo", потому что я этого все-равно не пойму. Лучше сразу подробно объясните, как это делается. Буду очень благодарен.

Автор: simanyay 13.11.2004, 18:06
Юзай Grub smile Чтобы понять как и что, вот тебе мануал: http://www.gnu.org/software/grub/manual/grub.html

Автор: Fedor 13.11.2004, 21:13
Не все получается. Сделал дискету, как там написано. Единственное, у меня он лежит не в папке ......\i386-pc, а в \i386-RedHat
Когда запускаюсь из-под дискеты, набираю сначала root (hd0,0) - все нормально, а потом setup (hd0). После этого говорит, что не может найти файл stage1. Все.

Да. Еще. Может поможет. Операционки у меня стоят:
Win98 - Primary Master C:\
WinXP - Primary Master E:\
Linux RedHat 9 - Primary Slave (насколько я понимаю, hdb1)

И когда я хочу зайти в Linux, приходтся отключать большой диск, Linux подключать на Master и все запускается.


simanyay На тебя одна надежда smile smile smile

Автор: simanyay 13.11.2004, 21:36
grub-install /dev/hda не пробовал?


Добавлено @ 21:39
Только при этом тебе надо подключить все винты, так как они должны быть. Грузануться с загрузочной дискетки и уже в Linux устанавливать GRUB.

Автор: Fedor 13.11.2004, 21:39
Это из-под Линукса? Или во время загрузки с дискеты? Не пробывал...
Добавлено @ 21:43
А... Понял...
Добавлено @ 21:44
Хотя... Загрузочной дискетки у меня то нет... Как ее сделать?

Автор: Fedor 13.11.2004, 23:04
Кстати, нашел у себя на винте (новом, который с виндой) копию инсталляционной дискеты Linux. Можно ли теперь перекинуть все это дело на дискету чтоб формат дискеты воспринялся Linux'ом?

Автор: dargaard 14.11.2004, 02:48
Легче всего будет сделать так;
1) Отрубаешь все харды кроме линукса и грузишься в него.
2) Если есть программа "mkbootdisk" (обычно в /usr/sbin/) то набираешь
mkbootdisk --device /dev/fd0 2.4.20-8 где 2.4.20-8 версия твоего кернела.

3) Если проги такой нет:
или скачиваешь ее или делаешь следуюшие шаги:

fdformat /dev/fd0H1440 (fdformat у меня в /usr/sbin)
cp /boot/vmlinuz /dev/fd0
rdev /dev/hda1 / (rdev у меня в /usr/sbin /dev/hda1 - раздел к которому примантирован / )
rdev /dev/fd0 /dev/hda1
rdev -R /dev/fd0 1


Автор: dargaard 14.11.2004, 09:15
Ну а дальше , подрубаешь харды, грузишься с дискеты в линукс и устанавливаешь граб или лило.

Автор: Fedor 14.11.2004, 09:51
dargaard Понял... Буду пробывать

Автор: Fedor 14.11.2004, 11:50
Значит получилось при помощи mkbootdisk только я изменил ручками на дискете в каком-то конфигурационном файле hda2 на hdb2
Груб сейчас буду пробывать инсталить а как можно теперь получить доступ из линуха к винту hda с файловой системой Fat32?

Автор: Fedor 14.11.2004, 12:13
Попробывал проинсталить Груб строчкой
grub-install /dev/hda
выдалось таое сообщение:

Цитата
/dev/hdb1 does not have any corresponding BIOS drive.


И еще: при загрузке с дискеты вроде все загружается нормально, но при инициализации swap на dev/hda3 происходит сбой (красным цветом написано "СБОЙ")

Автор: dargaard 14.11.2004, 15:57
При сбое система перестает загружаться? Или грузится все нормально?
При загрузке с дискеты (и другими подключенными хардами) swap я думаю уже будет находиться не на /dev/hda3 а где нить на /dev/hdb3 (Если хард с линуксом второй физический у тебя).

Если можешь загрузиться нормально в линукс измени строчку в /etc/fstab
с
/dev/hda3 swap swap defaults 0 0
на
/dev/hdb3 swap swap defaults 0 0

Опять же енто все учитывая что диск с линуксом у тебя второй физический, а не третий. (если третий то /dev/hdc3 и т.д.)

также исправь другие значения если они все еше указывают на /dev/hda[Nomer]

А вот что делать с grub-install ом я не знаю. *передаю эстафетную палочку simanay-уsmile

smile
Ой.. ша мы те тут такого насоветуем, нутром чую что придется все системы перегружать (сделай ка дискетки с ХР/98 про запас)smile

Автор: Fedor 14.11.2004, 16:07
Цитата(dargaard @ 14.11.2004, 15:57)
При сбое система перестает загружаться? Или грузится все нормально?

Грузится нормально.

Цитата(dargaard @ 14.11.2004, 15:57)
/dev/hda3 swap swap defaults 0 0
на
/dev/hdb3 swap swap defaults 0 0

Понял. ОК.


Цитата(dargaard @ 14.11.2004, 15:57)
Ой.. ша мы те тут такого насоветуем, нутром чую что придется все системы перегружать (сделай ка дискетки с ХР/98 про запас

Ок. Обязательно сделаю. А пока отблагодарю -ка я вас обоих за помощь smile

Симаняй! Жду твоей помощи по Грубу. smile

З.Ы. Млин, запарился уже... smile Второй день... А сделать-то хочется smile

Автор: simanyay 14.11.2004, 16:51
Цитата
does not have any corresponding BIOS drive.


выдается когда все три винта подключены?
Добавлено @ 16:55
Попробуй grub-install --force-lba /dev/hda Точно не помню, посмотри info grub-install

Автор: Fedor 14.11.2004, 21:39
Цитата(simanyay @ 14.11.2004, 16:51)
выдается когда все три винта подключены?

У меня их два, просто на одном две операционные системы...

Цитата(simanyay @ 14.11.2004, 16:51)
Попробуй grub-install --force-lba /dev/hda Точно не помню,
посмотри info grub-install

Попробую.

Автор: simanyay 14.11.2004, 21:44
Цитата(Morpheus @ 14.11.2004, 23:39)
У меня их два, просто на одном две операционные системы...


Ах да сорри. Так когда все винты подключены? Потому что он не может найти ни один винт в области /dev/hdb (т.е. secondary), которые бы определялись в BIOS.

Автор: Fedor 14.11.2004, 22:30
Да. Все подключены. Загружался с загрузочной дискеты, которую сделал по советам dargaard

Автор: Fedor 14.11.2004, 22:45
Цитата(dargaard @ 14.11.2004, 15:57)
Если можешь загрузиться нормально в линукс измени строчку в /etc/fstab
с
/dev/hda3 swap swap defaults 0 0
на
/dev/hdb3 swap swap defaults 0 0

Сделал. Теперь во время загрузки с ДИСКЕТЫ при ВСЕХ винчестерах не выводит слово СБОЙ, то есть скорее всего запуск проходит успешно.

Далее:

Цитата(simanyay @ 14.11.2004, 16:51)
Попробуй grub-install --force-lba /dev/hda Точно не помню, посмотри info grub-install

Попробывал. Выводит ту же ошибку про hdb1

А при загрузке BIOS оба винта вродже определяет.
А как мне добраться из Linux к файлам первого винта? (который с Windows)

Автор: dargaard 15.11.2004, 02:59
Цитата(Morpheus @ 14.11.2004, 11:45)
А как мне добраться из Linux к файлам первого винта? (который с Windows)


mkdir /mnt/cdisk
mount -t vfat /dev/hda1 /mnt/cdisk

Автор: simanyay 15.11.2004, 12:56
Хммм... Попробуй проинсталлисть вручную:
Код

$ grub
> root (hd0,0) # Тут надо указать раздел /boot
> setup (hd0)
> quit

Добавлено @ 12:57
У тебя кажись был (hd1, 0)

Автор: Fedor 15.11.2004, 14:40
simanyay Прости мое невеждество... Но куда это нужно прописать?

Автор: Fedor 15.11.2004, 18:02
Ели ты имеешь ввиду во время загрузки с Грубовской дискеты, то я так и делал

Автор: Fedor 15.11.2004, 19:27
ТАК! СЛУШАЙ ВНИМАТЕЛЬНО! ВОТ ЧТО Я СДЕЛАЛ!
При инсталле с Грубовской дискеты я прописал
>root(hd1,0)
>setup(hd0)

После этого ГРУБ ПРОИНСТАЛЛИЛСЯ!!!! В общем, я перезагрузился и уже без дискеты.

Появилось сообщение Груба о том, что не может найти Линух. Пните любую клавишу. После этого появилось окошко с пунктом Линух, который не работает. Нажал c, вошел в консоль Груба. После долгих попыток и подборов пришел к такому:
если набирать такие вещи:

unhide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,0)
chainloader +1
makeactive
boot
то после стандартного меню выбора системы винды запускается вин98 НО ТОЛЬКО С ДИСКОМ C - других разделов не видно

Если так:
unhide (hd0,1)
hide (hd0,0)
rootnoverify (hd0,0)
chainloader +1
makeactive
boot
То после стандартного меню выбора системы винды запускается WinXP с разделами D,E,F,G - других разделов не видно.

Если набирать
kernel /vmlinuz root=/dev/hdb1
то Линух НАЧИНАЕТ запускаться, но потом останавливается и выдает какое-то сообщение, которое вылечивается только резетом.

И так, вопрос: где находится (наверное на диске C) файл, который создан Грубом, что в него нужно прописать чтоб запускалось все операционные системы со всеми разделами и Винда это делала автоматически (без своего еще меню выбора системы).
Надеюсь все понятно.

З.Ы. В темноте забрезжил свет. smile

Автор: dwr_budr 16.11.2004, 05:46
Morpheus!

Я так понял у тебя и виндовый и линуксовые загрузчики живы?
Тогда есть способ проще чем все выше перечисленное! Называется он mrbooter.
Ничего не надо нигде прописывать. Запускаешь его из под доски и он все сам найдет.. и загрузчик линукса и загрузчик винды.. Сам он потом поселится в mbr праймари диска и будете вы жить не тужить!
Если заинтересовал могу замылить.

Автор: Гость_simanyay 16.11.2004, 07:00
Сейчас я в универе и не могу говорить... Всё уже почти готово, скоро поставишь Grub.

Автор: Fedor 16.11.2004, 09:05
dwr_budr Спасибо, но я сначала все же попробую Груб. Чисто из принципа. Три дня ведь пропарился. Если не получится, воспользуюсь твоим советом.

Симаняй. Жду с нетерпением.

Автор: Fedor 16.11.2004, 10:39
Все. Мы с dargaard'ом сегодня плодотворно потрудились утром и домучали Груб. Когда приду с универа, выложу все сюда и на мыло.

Автор: Fedor 16.11.2004, 20:39
Собственно, сделал так: путем подборов и не без усиленной помощи dargaard'a, мы одолели Груб:
>root (hd1,0)
>kernel /vmlinuz ro root=LABEL=/
>initrd /initrd-2.4.20-8.img

После этого запустилась Линукс. Затем оставалось только прописать в файле /boot/grub/menu.lst такие вещи:
title Linux
root (hd1,0)
kernel /vmlinuz ro root=LABEL=/
initrd /initrd-2.4.20-8.img
title Windows
unhide (hd0,0)
unhide (hd0,1)
rootnoverify (hd0,0)
chainloader +1
И стало все запускаться. Единственное неудобство - этог после выбора Windows появляется еще одно меню выбора либо Win98 либо WinXP

Автор: Fedor 17.11.2004, 17:16
simanyay dargaard Может, эту тему в FAQ засунуть? Я написал текстовый файл для FAQ, в котором изложена эта тема и результаты обсуждения в упорядоченном виде без промежутиочной беседы. Если хочешь - напиши мыло, вышлю.

Автор: simanyay 19.11.2004, 19:01
Сорри, что не присутствовал. Перекомпилил дистр зато smile Молодцы, что разобрались. + каждому.

Высылай статью для ФАКа smile

Автор: Fedor 19.11.2004, 20:10
Цитата
Вопрос:
  у меня есть винт, на котором стоят две операционные системы: Windows 98 и Windows XP. А также есть винт, на котором стоит Linux Redhat 9. Как мне теперь сделать так, чтоб Linux был виден в меню выбора операционной системы? Причем винчестер с Windows - Primary Master, Linux - Primary Slave.
Ответ:
  Будем использовать загрузчик Grub.
  Сначала подключаем один винт, на которм Линукс. Загружаемся и делаем загрузочную дискету Grub:
 
  #cd /usr/share/grub/i386-RedHat
  #dd if=stage1 of=/dev/fd0 bs=512 count=1
  #dd if=stage2 of=/dev/fd0 bs=512 seek=1
 
  После этого перезагружаемся при вставленной дискете. При этом нужно не забыть в BIOS выставить порядок загрузки начиная с A. Теперь инсталлируем Grub:
  >root (hd1,0)        //это - область, в которую был раньше установлен Grub
  >setup (hd0)
 
  После этого Grub проинсталлирует себя в главную загрузочную область первого диска
  Теперь перезагружаемся уже без дискеты. Операционная система не запускается, выдавая сообщение об ошибке. Нажимаем любую клавишу, после чего нажимаем "c" (без кавычек) для того чтоб войти в консоль. В консоли происываем
  >root (hd1,0)
  >kernel /vmlinuz ro root=LABEL=/
  >initrd /initrd-2.4.20-8.img
 
  После чего у вас должен успешно запустится Линукс. Если этого не произошло, возможно вы не правильно прописали разделы, в которых у вас стоит Linux.
  После того, как операционная система загрузилась, находим файл /boot/grub/menu.lst. В нем мы должны указать операционные системы, которые стоят на компьютере.
  На моей машине это выглядело примерно так:
  title Linux
  root (hd1,0)
kernel /vmlinuz ro root=LABEL=/
initrd /initrd-2.4.20-8.img
  title Windows
        unhide (hd0,0)
unhide (hd0,1)
rootnoverify (hd0,0)
chainloader +1
 
  Все описано для Red Hat 9, kernel 2.4.20-8, в других версиях не проверялось
  Если что, обращайтесь на forum.vingrad.ru - там вам всегда помогут профессионалы.


Вот. Но учти, что это мой первый опыт написания подобной статьи, так что не ругай сильно smile
Буду рад услышать критику.

Автор: Chuck 21.11.2004, 18:24
Morpheus
Подредактировал и добавил, спасибо!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)