LINUX.ORG.RU

Помогите разобраться с nix и их устройством!!!


0

0

Народ помогите!!! с никсами я дружу недолго но тут задумал поставить grub на отдельный диск. более подробно: имеется 5 разделов одного hdd. 1) sda1 100 мегабайт(на него я и хочу поставить grub) 2) sda2 6 ГБ на нем стоит виндовс 3) sda3 7 ГБ линукс (мандрива 2009) 4) sda4 3 ГБ своп для линукса 5) sda5 3.8ГБ на этом разделе будет стоять раздел для Acronis

так вот чтобы установить grub нужно сделать примерно следующее.

root (hd0,0) setup (hd0) но мне надо чтобы ГРУБ встал на sda1 команды root sda1 или root /dev/sda1 не подходят как мне установить? и еще есть вопросы технические. hd -это я так понял жесткий диск? sda1 -это раздел? какая взаимосвязь между ними? как я могу увидеть что находиться на этих разделах из под линукса?

anonymous

/dev/sda = (hd0)

/dev/sda1 = (hd0,0)

/dev/sdb2 = (hd1,1)

/dev/sdc4 = (hd2,3)

P.S. Пример

feanor ★★★
()

/dev/sda1 это раздел на диске, где у тебя стоит линукс, обычно груб лежит в /boot/grub/ папочке на этом разделе. В этой папочке программы небоходимые для работы и в частности файл с меню.

При загрузке биос компьютера читает первые 512 байт на жестком диске укащанном в биос сетапе в память и запускет считанный код. Эти 512 байт называются MBR и лежат вне всяких разделов на диске.

Когда ты устанавливаешь grub ты ему сначала говоришь, где лежат файлы

root (hd0,0) что значит первый раздел на жестком диске /dev/sda1

и потом ты говоришь на какой диск в MBR установить сам груб

setup (hd0)

после чего, как я понимаю груб грузится из MBR биосом в память и запускается, потом он читает свои файлы с раздела из папки /boot/grub в обход файловой системы, потом монтирует файловую систему, грузит ядро в память и передает ему управление системой.

the_moon
()

Первым делом зайдите на
http://www.gnu.org/software/grub/
Возможно, там найдутся ответы на большинство ваших вопросов.

> задумал поставить grub на отдельный диск... sda1 100 мегабайт(на

> него я и хочу поставить grub)

Поправьте меня, если ошибаюсь. Имхо GRUB получится поставить в /dev/sda, а его прибамбасы и настроечный файл - на /dev/sda1.

> hd -это я так понял жесткий диск? sda1 -это раздел?

Да, только в разных системах обозначений.
GRUB: (hd0,1) - первый раздел нулевого винта (вроде у GRUB'а винты нумеруются с нуля, разделы - с единицы).
Linux (в смысле ядро): /dev/sda1 (первый раздел устройства sda). Обычно PATA-диски называются hda, hdb, hdc... Разделы на них: hda1, hda2, hda5... В нумерации Linux в номера разделов почему-то "прыгать": могут быть hda1,2 и 5 и не быть 3 и 4.
SCSI, SATA, USB-диски - это /dev/sda, sdb, ...

> какая взаимосвязь между ними?

Это у GRUB'а записывается в файле device.map. Возможно, пока у вас нет этого файла. Не знаю, как его сделать, не устанавливая GRUB.

> как я могу увидеть что находиться на этих разделах из под линукса?

По-разному, в зависимости от дистрибутива.
Вариант а)
Наверное, можно запустить программу konqueror, набрать в строке адреса system:/ и, если повезёт, доберётесь до своих разделов.
Вариант б)
Теперь - самый общий вариант.
В GNU/Linux дисковым разделам соответствуют файлы /dev/sda1, sda2, sda3...
Чтобы получить к ним доступ - надо выполнить операцию монтирования. Она отображает содержимое заданной файловой системы в какой-нибудь каталог корневой файловой системы. Короче говоря, надо сделать под каждый раздел папку в /mnt:
mkdir /mnt/sda1
mkdir /mnt/sda2
mkdir /mnt/sda3
На раздел 4 так не посмотришь, про раздел 5 тоже пока говорить не будем.
Потом смонтируем разделы в эти папки:
mount -t ext2 /dev/sda1 /mnt/sda1
mount -t ntfs-3g -o utf8 /dev/sda2 /mnt/sda2
mount -t ext3 /dev/sda3 /mnt/sda3
Это предполагает, что на разделе /dev/sda1 есть файловая система ext2 или ext3, на /dev/sda2 - ntfs, на /dev/sda3 - ext3.
Теперь можно чем угодно заходить в эти папки и видеть содержимое соответствующих разделов. Кстати, похожим образом можно смонтировать и образ CD .iso - безо всяких программ-эмуляторов привода CD.
После использования надо делать размонтирование:
umount /dev/sda1
umount /dev/sda2
umount /dev/sda3
Если при размонтировании umount скажет, что device or recource busy - значит - размонтировать не получилось, потому что какая-то программа держит открытыми какие-то файлы на отмонтируемом разделе.
Посмотреть, какая:
lsof /dev/sda1
Закрыть программу и повторить размонтирование.

Обычно так вручную ничего не монтируется: всё, что стационарно стоит на компе, прописывается в файл fstab - основные правила монтирования, и монтируется/размонтируется при загрузке/выгрузке.
Для сменных носителей в дистрибутивах обычно применяются всякие автомонтирования: для дискет - при попытке зайти туда, для флешек - при втыкании.
Но у нас работа не штатная, поэтому монтируем вручную.

> как мне установить?

Есть 2 вида GRUB'а: GRUB Legacy (версии 0.хх) и GRUB 2 (сейчас версии 1.9х). В первом случае основной конфигурационный файл - menu.lst, во втором - grub.cfg. Форматы немного разные, поэтому скажите, какой версией GRUB'а вы хотите воспользоваться.
Установка производится утилитой grub-install. Её параметры можно посмотреть по командам grub-install --help (из-под root'а) или man grub-install.

Обычно файл menu.lst или grub.cfg кладётся в каталог /boot/grub той ОС, из-под которой устанавливается GRUB. Но в вашем случае вместо /boot/grub будет /boot/grub/"то, куда смонтируете sda1".

В общем установка grub, наверное, будет такой (примерная последовательность действий, если ставим grub в /dev/sda и причендалы на /dev/sda1; прошу народ уточнить):
1. Загрузиться в GNU/Linux. Не знаю, как вы это сейчас сделаете.
2. Смонтировать /dev/sda1.
а) Если на разделе sda1 ещё нет файловой системы - то сделать её командой mke2fs /dev/sda1. Если есть - пропустить этот шаг.
б) сделать каталог /mnt/sda1, если ещё не сделан:
mkdir /mnt/sda1
c) монтирование:
mount -t ext2 /dev/sda1 /mnt/sda1.
3. Создать каталог /mnt/sda1/boot/grub:
mkdir -p /mnt/sda1/boot/grub
4. Написать файл menu.lst либо (в зависимости от версии GRUB) grub.cfg в каталоге /mnt/sda1/boot/grub. Образец даст народ, когда назовёте версию GRUB :-)
5. Поставить GRUB:
grub-install --root-directory=/mnt/sda1 /dev/sda
Эта команда запишет в /mnt/sda1/boot/grub всякие GRUB'овые причендалы и засунет GRUB на /dev/sda (не /dev/sda1, а прямо так).

После этого мы будем иметь GRUB в /dev/sda и его настройки на /dev/sda1. Если надо будет поменять настройки (menu.lst или grub.cfg), то grub-install запускать не нужно.

ВНИМАНИЕ! Лёгкая ошибка даже на 1 символ при наборе команд (особенно с командой mke2fs) - и со всем, что есть на винте, можно будет распрощаться. Поэтому действовать надо очень аккуратно, команды вводить только понимая и проверяя :-)

sergey_feo
()
Ответ на: комментарий от sergey_feo

Очень большое спасибо за такой познавательный ответ.

в данный момент я пользуюсь ГРУБ 1.5 (вроде он) он шел с мандривой 2009. загружаю винду и мандриву также посредством Груб 1.5

но если я сделаю запасной(рекавери) Раздел с помощью проги акронис, acronis затрет Груб если установить заново груб то он затрет загрузчик рекавери раздела получается замкнутый круг. гдето вычитал если перенести груб отдельно то acrons до него не добереться. а после все проблемы решаться корректировкой menu.lst

anonymous
()
Ответ на: комментарий от anonymous

а еще забыл. все манипуляции выполняться в VMware поэтому опасаться за данные нет нужды.

anonymous
()
Ответ на: комментарий от sergey_feo

>> hd -это я так понял жесткий диск? sda1 -это раздел?
> Да, только в разных системах обозначений.

> Linux (в смысле ядро): /dev/sda1 (первый раздел устройства sda). Обычно PATA-диски называются hda, hdb, hdc... Разделы на них: hda1, hda2, hda5...

Забудьте про это. Сейчас и SATA и PATA - sd.
> В нумерации Linux в номера разделов почему-то "прыгать": могут быть hda1,2 и 5 и не быть 3 и 4.

5 и дальше - это logical partitions на extended partition. Дело в том, что в ПТ может быть только 4 раздела, и чтобы обойти такое ограничение, решили один из этих разделов (называемых primary partition) выделить под создание других разделов "в нем". сам он данных содержать не может. такой раздел называется extended, а те, что внутри него - logical. так вот, а в линуксе решили все примари разделы (вместе с екстендедом) нумеровать 1-4 (именно так они записаны в PT), а лоджики - все остальные номера.
но ведь у вас может быть, допустим, один примари, один екстендед (вы не сможете его примонтировать) и куча лоджиков. учтите, что многие ОС могут грузиться только с примари разделов, то же самое касается акрониса.
вот такая вот путаница с нумерацией. кстати, а как нумерует ГРАБ? вроде, просто по порядку, без разницы, какой это раздел.

val-amart ★★★★★
()
Ответ на: комментарий от anonymous

> но если я сделаю запасной(рекавери) Раздел с помощью проги акронис, acronis затрет Груб если установить заново груб то он затрет загрузчик рекавери раздела получается замкнутый круг. гдето вычитал если перенести груб отдельно то acrons до него не добереться. а после все проблемы решаться корректировкой menu.lst
вопрос с акронисом решается просто - достаточно создать образ загрузчика акрониса, и грузить его грабом.
сделать это можно так - инсталлируем загрузчик акрониса (там в акронисе где-то есть такая кнопка, не могу сейчас посмотреть, как она называется), загружаемся в линукс, выполняем
dd if=/dev/sda of=/boot/acronis.bin bs=512 count=1
добавляем в menu.lst строку о загрузке с образа /boot/acronis.bin, инсталлируем граб в мбр. все работает, главное быть внимательным и не давать акронису переписать мбр, а то придется переставлять граб (только grub_install)

val-amart ★★★★★
()
Ответ на: комментарий от val-amart

> [...]в данный момент я пользуюсь ГРУБ 1.5[...]
> [...]добавляем в menu.lst[...]


А точно у этой версии GRUB'а menu.lst, а не grub.cfg?

> Сейчас и SATA и PATA - sd.


У меня в Slackware 12.1 PATA - вполне себе hd*. Как раз недавно выяснил, что DVD-резак - попал на hdd. Начиная с какого ядра оно всё стало sd*?

sergey_feo
()
Ответ на: комментарий от val-amart

> 5 и дальше - это logical partitions на extended partition [...]

Спасибо за подробное объяснение. Теперь для меня это перестало быть загадкой :-)

> Но в вашем случае вместо /boot/grub будет /boot/grub/"то, куда

> смонтируете sda1".


Тут меня проглючило. Надо было "Но в вашем случае вместо /boot/grub будет "то, куда смонтируете sda1"/boot/grub/".

> вроде у GRUB'а винты нумеруются с нуля, разделы - с единицы.


И тут я ошибся, извиняюсь. Вот здесь:
http://grub.enbug.org/GrubConfiguration
есть вариант root (hd0,0), т.е. и винты, и разделы GRUB нумерует с нуля.

> в данный момент я пользуюсь ГРУБ 1.5 (вроде он) он шел с мандривой

> 2009.


Непонятная версия. У разработчиков GRUB'а на
ftp://alpha.gnu.org/gnu/grub/
такой не выложено :-) В Мандриве-2009.0 вот здесь:
ftp://ftp.mandriva.ru/mandriva/official/2009.0/SRPMS/main/release/
лежит GRUB 0.97. Поэтому будем считать, что у вас GRUB Legacy и требуется menu.lst. Приблизительный вариант menu.lst, пока без Акрониса и без красивых цветов :-) :

# By default, boot the entry #1.
default 1
timeout 20

title Windows
root (hd0,1)
chainloader +1

title GNU_Linux
root (hd0,2)
kernel /boot/vmlinuz root=/dev/sda3

Написал с потолка /boot/vmlinuz - надо уточнить, так ли в Мандриве 2009.0 названо ядро.

sergey_feo
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.