GRUB on fake BIOS (onboard) RAID: различия между версиями
ALEX (обсуждение | вклад) |
ALEX (обсуждение | вклад) |
||
(не показано 19 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
Многие материнские платы уже давным давно оснащаются контроллерами raid, либо встроенными в южный мост (например, ICHx'''R'''), либо находящиеся на отдельных микросхемах материнской платы. Потому создание раида посредством контроллеров материнской платы стало очень простым и распространённым делом (лично я уже более 3х лет сижу на raid0). | Многие материнские платы уже давным давно оснащаются контроллерами raid, либо встроенными в южный мост (например, ICHx'''R'''), либо находящиеся на отдельных микросхемах материнской платы. Потому создание раида посредством контроллеров материнской платы стало очень простым и распространённым делом (лично я уже более 3х лет сижу на raid0). | ||
{{Note|Замечу, что раид, собранный с использованием отдельного оборудования, например платы PCI/PCI-E, называется '''hardware raid''', раид, собранный посредством программ операционной системы, например, в linux это можно легко организовать, называется '''software raid''', а раид, собранный на контроллере, встроенном в мать, как правило называется ложным раидом или '''fake raid'''.}} | {{Note|Замечу, что раид, собранный с использованием отдельного оборудования, например платы PCI/PCI-E, называется '''hardware raid''', раид, собранный посредством программ операционной системы, например, в linux это можно легко организовать, называется '''software raid''', а раид, собранный на контроллере, встроенном в мать, как правило называется ложным раидом или '''fake raid'''.}} | ||
Данная статья посвящена тому, как установить грамотно grub на примере RAID0. При этом на компьютере уже стоят операционные системы от M$, linux. | <span style="font-size:12pt">''Данная статья посвящена тому, как установить грамотно grub на примере RAID0. При этом на компьютере уже стоят операционные системы от M$, linux.''</span> | ||
==Введение== | ==Введение== | ||
Тут я опишу входные параметры системы, на которой и производилась установка grub. | Тут я опишу входные параметры системы, на которой и производилась установка grub. | ||
Строка 10: | Строка 10: | ||
* остальные разделы выделены под файлы подкачки, swap, хранение данных и т.д. | * остальные разделы выделены под файлы подкачки, swap, хранение данных и т.д. | ||
Важно отметить, что для поддержки раида в дистрибутивы winxp были вшиты драйверы от intel с использованием nlite. | ===Замечания по поводу установки Win=== | ||
Важно отметить, что для поддержки раида в дистрибутивы winxp были вшиты драйверы от intel с использованием '''nlite'''. Так же сперва на первые два раздела по очереди, начиная с первого (диск '''c:\''' в нумерации винды) были установлены winxXP, затем на третий раздел была установлена win7. При этом никаких сложностей с загрузкой не должно возникнуть. winXP подхватывает себе подобных и прописывает в '''ntloader''', а win7 имеет тот же механизм загрузки, что и vista, потому она прописала себя в '''mbr''', указав там ссылку на свой загрузчик, который уже в состоянии загрузить как win7, так и имеет ссылку на '''ntloader''', который уже в свою очередь позволяет выбирать между разными версиями winxp. | |||
{{note|чтобы не путать две одинаковые winXP, следует отредактировать c:\boot.ini, где дать названия ОС}} | {{note|чтобы не путать две одинаковые winXP, следует отредактировать c:\boot.ini, где дать названия ОС}} | ||
===Замечания по поводу установки Sabayon=== | |||
После того, как мы убедились, что винда пашет и грузятся все её версии, устанавливаем Sabayon linux. Вставляем live dvd с ОС, грузимся с н его и запускаем графическую установку. Настраиваем всё как нам требуется и подходим к установке GRUB. | |||
{{Note|Не забываем указать ручную разбивку харда и выбор раздела установки руками, не соглашаясь с предложением ОС автоматом это сделать за нас.}} | |||
В меню настройки установки GRUB можно настроить названия загружаемых ОС, указать, какая будет грузится по дефлоту, а так же настроить куда установитсмя груб. В принципе эти настройки все не имеют под собой никакой силы. После их проведения нам полезен будет тока шаблон, сгенерированного установщиком grub.conf, который мы позже поправим под себя. | |||
{{Note|Даже при указании установить груб в MBR нашего раидного диска, реально туда он не попадёт, так что не волнуемся по этому поводу. Туда мы его запихнём позже.}} | |||
==Установка и настройка GRUB== | |||
Грузимся в live CD Sabayon. Выбираем Start Sabayon 4.2 и нажимая, '''F5''' вводим в самый конец параметров загрузки ОС (до символов --) "dodmraid ". Должно получится примерно следующее: | |||
{{Codeline|param1 param2 '''dodmraid''' --}} | |||
Это позволяет нам загрузиться с диска в ОС Sabayon с поддержкой RAID. То есть теперь мы сможем видеть наш том RAID в папке '''/dev/mapper/''' | |||
Пока грузится ОС насладжаемся музыкой, которая играет в этот момент в наших наушниках. (Слушайте я такого даже не ожидал, музыка при загрузки ОС с LiveDVD - это мощно сделали парни!) | |||
===Предварительная подготовка=== | |||
Перед тем, как приступать к работе с нашим загрузчиком, нам надо сменить "корень" (среду) с liveDVD на ту, что мы установили. Для этого выполняем код: | |||
{{Root | |||
|<nowiki>mkdir /mnt/root | |||
mount /dev/mapper/isw_ciieicii_My_RAID07 /mnt/root | |||
chown root:root /mnt/root | |||
chroot /mnt/root</nowiki>}} | |||
{{Note|Важно помнить, что выполнять команды надо от root, поэтому предварительно надо залогинится рутом, дл чего ввести в консоли {{Codeline|su}} а затем пароль {{Codeline|root}} }} | |||
{{Warning|У каждого том, куда установлена ОС sabayon может называться по разному!! Здесь и далее обратите внимание на то, что ''/dev/mapper/isw_ciieicii_My_RAID07'' надо заменить на ВАШ раздел с установленной ОС sabayon}} | |||
Так же в дальнейшем нам понадобится информация о геометрии нашего диска. Для этого вводим в консоль: | |||
{{root|cfdisk /dev/mapper/isw_ciieicii_My_RAID0}} | |||
При этом мы должны получить вывод типа этого: | |||
{{File|вывод команды cfdisk /dev/mapper/isw_ciieicii_My_RAID0|<pre> | |||
cfdisk (util-linux-ng 2.14.1) | |||
Дисковый накопитель: /dev/mapper/isw_ciieicii_My_RAID0 | |||
Размер: 640145424384 байт, 640.1 ГБ | |||
Головок: 255 Секторов на дорожку: 63 Цилиндров: 77826 | |||
Имя Флаги Тип раздела Тип ФС [Метка] Размер (МБ) | |||
------------------------------------------------------------------------------------------------------- | |||
isw_ciieicii_My_RAID0p1 Загрузочный Основной NTFS [^C] 26213,97 | |||
isw_ciieicii_My_RAID0p5 Логический NTFS [^A] 15726,74 | |||
isw_ciieicii_My_RAID0p6 Логический NTFS [^C] 26213,97 | |||
isw_ciieicii_My_RAID0p7 Логический Linux ReiserFS 26213,97 | |||
isw_ciieicii_My_RAID0p8 Логический NTFS 2623,87 | |||
isw_ciieicii_My_RAID0p9 Логический NTFS 2623,87 | |||
isw_ciieicii_My_RAID0p10 Логический NTFS 2623,87 | |||
isw_ciieicii_My_RAID0p11 Логический Linux своп / Solaris 526,42 | |||
isw_ciieicii_My_RAID0p12 Логический NTFS [^E] 44038,15 | |||
isw_ciieicii_My_RAID0p13 Логический NTFS [9] 493327,62 | |||
Осн/Лог Свободное пространство 8,23 | |||
</pre>}} | |||
Нам из всех этих данных надо получить '''Головок: 255 Секторов на дорожку: 63 Цилиндров: 77826''' (или на английском '''Heaads: 255 Sectors: 63 Cylinders: 77826'''). | |||
Запоминаем эти данные в формате: '''C/H/S -> 77826/255/63''' | |||
===Запись grub в mbr=== | |||
Для этого запускаем | |||
{{root|<nowiki>grub --device-map=/dev/null</nowiki>}} | |||
мы попали в командную строку grub. | |||
далее указываем грубу на наш диск, с которым мы работаем. | |||
{{root|device (hd0) /dev/mapper/isw_ciieicii_My_RAID0}} | |||
{{Warning|Тут указывается именно весь диск целиком, а не его раздел. То есть как пример, sda а не sda1, что будет уже разделом диска sda.}} | |||
Теперь необходимо указать грубу геометрию нашего диска. | |||
{{root|geometry (hd0) C H S}} | |||
где вместо C H S вводим наши данные, полученные выше. Теперь груб знает что за диск мы ему указали, его геометрию и сможет верно прописаться в его mbr. | |||
Теперь укажем корень для груба: | |||
{{root|root (hd0,}} | |||
далее '''не нажимая''' enter жмём tab и груб нам подсказывает какие разделы существуют. Мы должны указать тот, на котором у нас стоит /boot. У меня это был 6. | |||
{{note|строка выглядит примерно так: num 6 reiserfs type 0x83}} | |||
То есть для меня команда выглядела как: | |||
{{root|root (hd0,6}} | |||
При этом полезно обратить внимание, на каких разделах находится винда, где находится её загрузчик (у меня это num 0 0х7, т.к. win7 именно туда запихал свой загрузчик, потеснив ntloader). Это понадобится при редактировании grub.conf. | |||
Теперь сохраняем все изменения и выходим: | |||
{{root|setup (hd0)}} | |||
{{root|quit}} | |||
===Насйтрока grub.conf=== | |||
Теперь начнём редактирование grub.conf. Если вы сделали всё при установке sabayon linux всё правильно, то графический установщик автоматом сгенерирует практически верный файл конфига. Немного отредактируем его. | |||
{{root|nano /boot/grub/grub.conf}} | |||
Вот пример моего конфига: | |||
{{File|/boot/grub/grub.conf|<pre> | |||
# grub.conf generated by the Sabayon Linux Installer | |||
# | |||
# Note that you do not have to rerun grub after making changes to this file | |||
# NOTICE: You do not have a /boot partition. This means that | |||
# all kernel and initrd paths are relative to /, eg. | |||
# root (hd0,6) | |||
# kernel /boot/kernel-genkernel real_root=/dev/mapper/isw_ciieicii_My_RAID07 | |||
# initrd /boot/initramfs-genkernel | |||
### AUTOMAGIC BOOT DEVICE DETECTION -- DO NOT REMOVE ### | |||
#boot=mapper/isw_ciieicii_My_RAID | |||
### AUTOMAGIC BOOT DEVICE DETECTION END ### | |||
default=0 | |||
timeout=5 | |||
splashimage=(hd0,6)/boot/grub/splash.xpm.gz | |||
title Sabayon Linux x86_64-2.6.29 | |||
root (hd0,6) | |||
kernel /boot/kernel-genkernel-x86_64-2.6.29-sabayon root=/dev/ram0 ramdisk=8192 dodmraid udev | |||
real_root=/dev/mapper/isw_ciieicii_My_RAID07 dolvm init=/linuxrc splash=silent,theme:sabayon vga=791 | |||
CONSOLE=/dev/tty1 quiet resume=swap:/dev/mapper/isw_ciieicii_My_RAID011 real_resume=swap:/dev/mapper/isw_ciieicii_My_RAID011 | |||
initrd /boot/initramfs-genkernel-x86_64-2.6.29-sabayon | |||
savedefault | |||
title Sabayon Linux x86_64-2.6.29 (safe mode) | |||
root (hd0,6) | |||
kernel /boot/kernel-genkernel-x86_64-2.6.29-sabayon root=/dev/ram0 ramdisk=8192 dodmraid udev | |||
real_root=/dev/mapper/isw_ciieicii_My_RAID07 dolvm init=/linuxrc CONSOLE=/dev/tty1 | |||
resume=swap:/dev/mapper/isw_ciieicii_My_RAID011 real_resume=swap:/dev/mapper/isw_ciieicii_My_RAID011 nox acpi=off ide=nodma vga=normal | |||
initrd /boot/initramfs-genkernel-x86_64-2.6.29-sabayon | |||
savedefault | |||
title Microsoft Windows | |||
rootnoverify (hd0,0) | |||
chainloader +1 | |||
savedefault</pre>}} | |||
{{warning|Выжно отметить, что ради нормального отображения на этом вики, строка '''kernel /boot/kernel-ge...''' разбита на 3 строчки! При редактировании конфига этого не доолжно быть! Вся строка идёт до конца! {{note|можно попробовать экранировать переносы строк с помощью '''\'''}}}} | |||
А теперь важный момент, что конкретно изменил я от дефолта. | |||
# Параметры title указал на свой вкус {{codeline|title Sabayon Linux x86_64-2.6.29}} | |||
# В каждую строчку '''kernel /boot/kernel-genkernel-x...''' добавил по 2 дополнительных параметра, которые передадуться ядру при загрузке: {{codeline|dodmraid udev}} | |||
# Отредактировал '''rootnoverify (hd0,0)''' в соответствии с теми данными, которые мы получили выше. Строка 0 0х7 если забыли. | |||
==Окончание== | |||
На этом настройка мультизагрузки нескольких ОС закончена. Получилось возможно не супер (сперва грузится груб, который может либо загрузить линукс либо вызвать загрузчик win7, который в свою очередь либо может загрузить win7 либо вызвать загрузчик winxp - ntloader, который позволяет вбирать между двумя версиями xp), однако работает и вроде не очень сложно было настраивать. За небольшую подсказку по поводу возможностей grub спасибо swappp'у. | |||
==Ссылки== | |||
В статье своей я использовал материалы двух сайтов: | |||
* [http://forum.sabayonlinux.org/viewtopic.php?f=57&t=14376 Sabayon forum] | |||
* [http://en.gentoo-wiki.com/wiki/HOWTO_Gentoo_Install_on_Bios_(Onboard)_RAID Gentoo Wiki] | |||
[[Category:Linux]] | |||
[[Category:Index]] |
Текущая версия на 07:34, 15 августа 2009
Многие материнские платы уже давным давно оснащаются контроллерами raid, либо встроенными в южный мост (например, ICHxR), либо находящиеся на отдельных микросхемах материнской платы. Потому создание раида посредством контроллеров материнской платы стало очень простым и распространённым делом (лично я уже более 3х лет сижу на raid0).
Данная статья посвящена тому, как установить грамотно grub на примере RAID0. При этом на компьютере уже стоят операционные системы от M$, linux.
Введение
Тут я опишу входные параметры системы, на которой и производилась установка grub.
- Система собрана на основе intel ICHxR, но думаю это не играет важной роли
- Имеется 2 диска в raid0, которые разбиты на несколько разделов (около 10)
- На первых трёх разделах стоят winXP1, winXP2, Win7
- далее на одном из последующих разделов установлена sabayon 4.2 linux (gentoo based)
- остальные разделы выделены под файлы подкачки, swap, хранение данных и т.д.
Замечания по поводу установки Win
Важно отметить, что для поддержки раида в дистрибутивы winxp были вшиты драйверы от intel с использованием nlite. Так же сперва на первые два раздела по очереди, начиная с первого (диск c:\ в нумерации винды) были установлены winxXP, затем на третий раздел была установлена win7. При этом никаких сложностей с загрузкой не должно возникнуть. winXP подхватывает себе подобных и прописывает в ntloader, а win7 имеет тот же механизм загрузки, что и vista, потому она прописала себя в mbr, указав там ссылку на свой загрузчик, который уже в состоянии загрузить как win7, так и имеет ссылку на ntloader, который уже в свою очередь позволяет выбирать между разными версиями winxp.
Замечания по поводу установки Sabayon
После того, как мы убедились, что винда пашет и грузятся все её версии, устанавливаем Sabayon linux. Вставляем live dvd с ОС, грузимся с н его и запускаем графическую установку. Настраиваем всё как нам требуется и подходим к установке GRUB.
В меню настройки установки GRUB можно настроить названия загружаемых ОС, указать, какая будет грузится по дефлоту, а так же настроить куда установитсмя груб. В принципе эти настройки все не имеют под собой никакой силы. После их проведения нам полезен будет тока шаблон, сгенерированного установщиком grub.conf, который мы позже поправим под себя.
Установка и настройка GRUB
Грузимся в live CD Sabayon. Выбираем Start Sabayon 4.2 и нажимая, F5 вводим в самый конец параметров загрузки ОС (до символов --) "dodmraid ". Должно получится примерно следующее:
param1 param2 dodmraid --
Это позволяет нам загрузиться с диска в ОС Sabayon с поддержкой RAID. То есть теперь мы сможем видеть наш том RAID в папке /dev/mapper/ Пока грузится ОС насладжаемся музыкой, которая играет в этот момент в наших наушниках. (Слушайте я такого даже не ожидал, музыка при загрузки ОС с LiveDVD - это мощно сделали парни!)
Предварительная подготовка
Перед тем, как приступать к работе с нашим загрузчиком, нам надо сменить "корень" (среду) с liveDVD на ту, что мы установили. Для этого выполняем код:
Так же в дальнейшем нам понадобится информация о геометрии нашего диска. Для этого вводим в консоль:
При этом мы должны получить вывод типа этого:
cfdisk (util-linux-ng 2.14.1) Дисковый накопитель: /dev/mapper/isw_ciieicii_My_RAID0 Размер: 640145424384 байт, 640.1 ГБ Головок: 255 Секторов на дорожку: 63 Цилиндров: 77826 Имя Флаги Тип раздела Тип ФС [Метка] Размер (МБ) ------------------------------------------------------------------------------------------------------- isw_ciieicii_My_RAID0p1 Загрузочный Основной NTFS [^C] 26213,97 isw_ciieicii_My_RAID0p5 Логический NTFS [^A] 15726,74 isw_ciieicii_My_RAID0p6 Логический NTFS [^C] 26213,97 isw_ciieicii_My_RAID0p7 Логический Linux ReiserFS 26213,97 isw_ciieicii_My_RAID0p8 Логический NTFS 2623,87 isw_ciieicii_My_RAID0p9 Логический NTFS 2623,87 isw_ciieicii_My_RAID0p10 Логический NTFS 2623,87 isw_ciieicii_My_RAID0p11 Логический Linux своп / Solaris 526,42 isw_ciieicii_My_RAID0p12 Логический NTFS [^E] 44038,15 isw_ciieicii_My_RAID0p13 Логический NTFS [9] 493327,62 Осн/Лог Свободное пространство 8,23
Нам из всех этих данных надо получить Головок: 255 Секторов на дорожку: 63 Цилиндров: 77826 (или на английском Heaads: 255 Sectors: 63 Cylinders: 77826).
Запоминаем эти данные в формате: C/H/S -> 77826/255/63
Запись grub в mbr
Для этого запускаем
мы попали в командную строку grub. далее указываем грубу на наш диск, с которым мы работаем.
Теперь необходимо указать грубу геометрию нашего диска.
где вместо C H S вводим наши данные, полученные выше. Теперь груб знает что за диск мы ему указали, его геометрию и сможет верно прописаться в его mbr.
Теперь укажем корень для груба:
далее не нажимая enter жмём tab и груб нам подсказывает какие разделы существуют. Мы должны указать тот, на котором у нас стоит /boot. У меня это был 6.
То есть для меня команда выглядела как:
При этом полезно обратить внимание, на каких разделах находится винда, где находится её загрузчик (у меня это num 0 0х7, т.к. win7 именно туда запихал свой загрузчик, потеснив ntloader). Это понадобится при редактировании grub.conf.
Теперь сохраняем все изменения и выходим:
Насйтрока grub.conf
Теперь начнём редактирование grub.conf. Если вы сделали всё при установке sabayon linux всё правильно, то графический установщик автоматом сгенерирует практически верный файл конфига. Немного отредактируем его.
Вот пример моего конфига:
# grub.conf generated by the Sabayon Linux Installer # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You do not have a /boot partition. This means that # all kernel and initrd paths are relative to /, eg. # root (hd0,6) # kernel /boot/kernel-genkernel real_root=/dev/mapper/isw_ciieicii_My_RAID07 # initrd /boot/initramfs-genkernel ### AUTOMAGIC BOOT DEVICE DETECTION -- DO NOT REMOVE ### #boot=mapper/isw_ciieicii_My_RAID ### AUTOMAGIC BOOT DEVICE DETECTION END ### default=0 timeout=5 splashimage=(hd0,6)/boot/grub/splash.xpm.gz title Sabayon Linux x86_64-2.6.29 root (hd0,6) kernel /boot/kernel-genkernel-x86_64-2.6.29-sabayon root=/dev/ram0 ramdisk=8192 dodmraid udev real_root=/dev/mapper/isw_ciieicii_My_RAID07 dolvm init=/linuxrc splash=silent,theme:sabayon vga=791 CONSOLE=/dev/tty1 quiet resume=swap:/dev/mapper/isw_ciieicii_My_RAID011 real_resume=swap:/dev/mapper/isw_ciieicii_My_RAID011 initrd /boot/initramfs-genkernel-x86_64-2.6.29-sabayon savedefault title Sabayon Linux x86_64-2.6.29 (safe mode) root (hd0,6) kernel /boot/kernel-genkernel-x86_64-2.6.29-sabayon root=/dev/ram0 ramdisk=8192 dodmraid udev real_root=/dev/mapper/isw_ciieicii_My_RAID07 dolvm init=/linuxrc CONSOLE=/dev/tty1 resume=swap:/dev/mapper/isw_ciieicii_My_RAID011 real_resume=swap:/dev/mapper/isw_ciieicii_My_RAID011 nox acpi=off ide=nodma vga=normal initrd /boot/initramfs-genkernel-x86_64-2.6.29-sabayon savedefault title Microsoft Windows rootnoverify (hd0,0) chainloader +1 savedefault
А теперь важный момент, что конкретно изменил я от дефолта.
- Параметры title указал на свой вкус title Sabayon Linux x86_64-2.6.29
- В каждую строчку kernel /boot/kernel-genkernel-x... добавил по 2 дополнительных параметра, которые передадуться ядру при загрузке: dodmraid udev
- Отредактировал rootnoverify (hd0,0) в соответствии с теми данными, которые мы получили выше. Строка 0 0х7 если забыли.
Окончание
На этом настройка мультизагрузки нескольких ОС закончена. Получилось возможно не супер (сперва грузится груб, который может либо загрузить линукс либо вызвать загрузчик win7, который в свою очередь либо может загрузить win7 либо вызвать загрузчик winxp - ntloader, который позволяет вбирать между двумя версиями xp), однако работает и вроде не очень сложно было настраивать. За небольшую подсказку по поводу возможностей grub спасибо swappp'у.
Ссылки
В статье своей я использовал материалы двух сайтов: