LinuxForum.Fans
Тема

О жестких дисках и загрузчике

Автор: Termo 67 сообщений 71739 просмотров 📌 закреплена
16.07.2010 03:42 #59942

Второе, на чем спотыкаются вновь обращенные – это жесткие диски, их разделы, точки монтирования и загрузчики (Grub, Lilo).
Давайте также очень быстро разберемся, кто есть who в данном вопросе… smile
Допустим, вы купили компьютер или вам его подарили или вы его нашли… неважно.
Главное – он у вас есть! :)

И в нем есть жесткий диск, правда, один, но это пока неважно.
Это физический диск. Почему физический? Потому что его можно потрогать руками!
А что потрогать нельзя – то логическая фиговина. :)
Зачем нужно логическое разбиение диска? А чтобы с ним могла работать операционная система, которая также является логической сущностью.
т.е. раздел – это часть диска.

Разделы бывают основными (первичными) и расширенными (дополнительными).
Всего на жестком диске может быть до 4 основных разделов.
Записи о количестве разделов и их местоположении хранятся в главной загрузочной записи (MBR) – в самом-самом первом секторе жесткого диска.
Разделы диска в Windows обзываются буквами латинского алфавита:
Локальный диск С
Локальный диск D
Локальный диск E
И т.д…….

Если физический диск не разбит на разделы, то всё пространство жесткого диска будет отдано под один первичный раздел – локальный диск C (или D или E).
И понять весь диск перед вами или только раздел можно исключительно по его размеру.
И то не факт! :)

В Linux немного всё иначе.
Во-первых, обозначение дисков и разделов различается.
Во-вторых, разделы являются файлами, над которыми можно производить действия.

Теперь по порядку…
Диски в Ubuntu обозначаются как /dev/sdX, где Х – любая буква латинского алфавита, начиная с «а».
Напр., /dev/sda, /dev/sdb, /dev/sdc.
Почему так?
А потому, что /dev/sda – это путь к файлу, который расположен в директории «dev» корневой файловой системы «/».
В Linux любой путь к файлу начинается с обозначения «/», потому как всё в Linux'е является файлом. :cool:

А разделы в Linux имеют кроме букв еще и цифровое обозначение.
Напр., основные разделы одного жесткого диска будут обозначены как:
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4
Помните, что их может быть только 4 штуки? :)
Аналогично, разделы второго жесткого диска будут выглядеть как:
/dev/sdb1
/dev/sdb2
……
Разобрались? Вот и хорошо!
Приступаем к самому главному – загрузчику! wink

Загрузчик операционной системы – это такая программа, которая запускает ядро операционной системы, которое, в свою очередь, запускает всё остальное.
Чтобы это всё хорошо представить, я расскажу, как происходит загрузка ОС с момента нажатия на кнопку «ВКЛ».
Встроенная в материнскую плату программа BIOS производит проверку работоспособности всех подключенных к ней устройств,
каналов перемещения данных и пр.
Эта процедура называется POST, которая заканчивается звуковым сигналом типа «пост прошел, косяков не нашел». :)
Дальше BIOS ищет диск, который подключен к разъему SATA на материнской плате (это SATA1), находит его и запрашивает, а есть ли загрузчик какой-либо операционной системы на этом жестком диске? Если есть – передает управление ему.
Если нет, переходит к другому жесткому диску (SATA2) и т.д., пока не кончатся разъемы SATA. :)
К чему я это?
Да к тому, что когда у вас в компьютере один жесткий диск, то вопросов, куда установить загрузчик Grub не возникает.

Но допустим, у вас 2 жестких диска.
На первом уже установлена Windows, на второй вы хотите установить Ubuntu. Куда ставить загрузчик?
Конечно же на первый диск!
Потому что Windows, как любой коммерческий продукт, просто не даст запуститься другой операционной системе. Зачем ей конкуренты? :)
А как же установить загрузчик на диск с Windows?
Тоже не сложно….
Когда вы выбираете диск для установки Ubuntu, вы внимательно смотрите на его обозначение. В данном примере Ubuntu вам скажет, что диск /dev/sda уже имеет операционную систему, а диск /dev/sdb пустой и не размечен. И там даже нет файловой системы! oO
Разбивайте этот пустой диск на разделы, форматируйте, монтируйте и идите по процессу установки дальше, пока не упретесь вот в такое окно:
http://ossru.files.wordpress.com/2008/11/10.jpeg
кликните на него и смотрите, что там написано.

Если там будет /dev/sdb, то это означает, что загрузчик будет установлен в главную загрузочную запись (MBR) второго диска,
т.е. диска, на который вы устанавливаете Ubuntu.
А так как этот диск подключен к разъему SATA2, т.е. после диска с Windows (SATA1), то Ubuntu вы больше не увидите. :(
Что надо сделать? Правильно! Выбрать из выпадающего списка /dev/sda.
Тогда загрузчик ляжет в MBR первого физического диска и у вас будет возможность выбирать, какую ОС загружать дальше.
Потому что Grub - это умный загрузчик.
Вот так:
http://www.winline.ru/articles/img/2007/1/vista_ubuntu_13.jpg

как-то не очень коротенько получилось… :D

18.08.2011 20:21 #185516

это все конешно интересно, но нам бы попроще
в линуксе дофигущи разных разделов
кАнешнА можно доверить бить диск установщику, но тот бъет банально - 3 раздела: система, свои и хоум
но ведь есть еще куча разделов!
может лучше как то конкретно задать?
сколько под var?
а сколько под etc, а сколько под dev, а сколько под lib?

18.08.2011 20:49 #185525
Нигерийка написал:
а сколько под dev,

dev - это устройства... wink
Грубо:

text
/        - 2-5Gb
/boot    - 300-500Mb
/usr     - 10Gb
/var     - 10Gb
/home    - Сколько хочешь
19.08.2011 00:54 #185574

Нигерийка, тема обсуждалась не раз, вот одно из последних обсуждений...
разделы выносятся по мере необходимости. в зависимости от назначения машины...
для десктопа достаточно:
корень 10-30Гб
swap - зависит от оперативки...
/home - всё остальное

всё остальное на десктопе выносится только, если нужна тонкая оптимизация/какие-то особые требования.

Нигерийка написал:
а сколько под etc, а сколько под dev, а сколько под lib?

эти каталоги никогда случае не выносятся из корня.
собственно выносить имеет смысл только:
/home /opt /usr /boot /var

19.08.2011 23:13 · отредактировано #185812

согласен абсолютно. Размер разделов лучше всего приходит со временем - когда вы поюзаете любимый дистр, на опыте прочувствуете объем разделов и узкие места, если вы с ними ошиблись. Тогда можно переставить домашнего компьютерного любимца и попутно настрогать разделы по собственному вкусу. А для начала можно ограничиться и 3мя. Хотя могут быть и проблемы - альтмастер требует при установке 20гб, а использует в лучшем случае 3. Ну, это уж опыт, сын ошибок трудных...

12.04.2012 14:51 #245440

Почему с рейда убунта не хочет грузится? черный экран и мигает нижний слэш

12.04.2012 20:13 #245597
Termo написал:

Если физический диск не разбит на разделы, то всё пространство жесткого диска будет отдано под один первичный раздел – локальный диск C (или D или E).

На самом деле - это не так. Кто отдаст диск на "один первичный раздел"? Эсли Вы сами этого не сделаете - и ни фига не будет. Диск - есть диск, и только мы можем определить - что, кому и как. Автоматическое разбиение при установке - это как-то (даже и не знаю, как это обозвать), ну, неправильно. Думать надо, а потом диски разбивать, нет? :)

12.04.2012 20:15 #245598
n0kk написал:
Почему с рейда убунта не хочет грузится? черный экран и мигает нижний слэш

Ну, Вы бы как-то конкретнее, какой райд, как ставили... IMHO, Загрузчик не работает, не видит он ваш корень

14.04.2012 02:01 #245778

"mvt" написал:
На самом деле - это не так. Кто отдаст диск на "один первичный раздел"? Эсли Вы сами этого не сделаете - и ни фига не будет. Диск - есть диск, и только мы можем определить - что, кому и как. Автоматическое разбиение при установке - это как-то (даже и не знаю, как это обозвать), ну, неправильно. Думать надо, а потом диски разбивать, нет?
еще раз, п о б у к в е н н о
если при установке венды не создавать разделы, то всё пространство диска будет состоять из одного только С:\
Мой компьютер - Локальный диск (С:)
14.04.2012 16:40 #245829

Termo написал:
[quote="mvt"]На самом деле - это не так. Кто отдаст диск на "один первичный раздел"? Эсли Вы сами этого не сделаете - и ни фига не будет. Диск - есть диск, и только мы можем определить - что, кому и как. Автоматическое разбиение при установке - это как-то (даже и не знаю, как это обозвать), ну, неправильно. Думать надо, а потом диски разбивать, нет?
еще раз, п о б у к в е н н о
если при установке венды не создавать разделы, то всё пространство диска будет состоять из одного только С:\
Мой компьютер - Локальный диск (С:)[/quote]
Ну, понял, не дурак :)
Termo
Вы статью пишете. Читать будут разные люди. Как-то нужно предусмотреть несколько подходов к этому мероприятию, не?
14.04.2012 21:44 #245872

А вот такой вариант: на компе один физический диск, разбит на разделы и установлено две системы,
Windows и UBUNTU, при загрузке выбираешь какую из двух загрузить, все в порядке, но теперь усложняем установкой еще одной системы, к примеру Slackware на отдельный физический диск (внешний USB). При включении компа в биосе выбирается загрузка с внешнего USB диска, так куда теперь ставить загрузчик Slackware, в MBR внешнего диска или в / внешнего диска?

14.04.2012 21:53 #245874
amid88 написал:
А вот такой вариант: на компе один физический диск, разбит на разделы и установлено две системы,
Windows и UBUNTU, при загрузке выбираешь какую из двух загрузить, все в порядке, но теперь усложняем установкой еще одной системы, к примеру Slackware на отдельный физический диск (внешний USB). При включении компа в биосе выбирается загрузка с внешнего USB диска, так куда теперь ставить загрузчик Slackware, в MBR внешнего диска или в / внешнего диска?

Оптимальный вариант - в MBR внешнего диска. Если BIOS предлагает выбор загрузки ( например, по F2) - вообще хорошо. Если нет - ну и выберем в BIOS загрузку с внешнего диска. Если нет и этого - с подключенным внешним обновляем grub2 ubuntu, появляется выбор. Но - MBR внешнего - универсальный вариант, как - нибудь, но прокатит :)

14.04.2012 21:56 #245875
"amid88" написал:
теперь усложняем

Можно загрузчик Ubuntu использовать, подключаешь usb винт, загружаешься в ubuntu, выполняешь в консоли:

text
$ sudo update-grub

Прошерстит все винты и найденные ядра добавит в загрузку.
Также в данном варианте надо (желательно) чтобы в /etc/fstab обеих систем разделы монтировались по UUID, так не будет зависимости от того каким по счету подключен винт - это влияет на букву /dev - sda, sdb, sdc и тд.

14.04.2012 22:03 #245877
newzenon написал:

Также в данном варианте надо (желательно) чтобы в /etc/fstab обеих систем разделы монтировались по UUID, так не будет зависимости от того каким по счету подключен винт - это влияет на букву /dev - sda, sdb, sdc и тд.

Ну, убунта же. Там это - " по умолчанию" :)

14.04.2012 22:06 #245878

Понял, спасибо, но я не хотел бы делать общий загрузчик, так как буду учиться устанавливать систему и могу что то повредить в загрузке, тогда не загрузится ни одна система, поэтому беру внешний диск, а при включении BIOS предлагает выбор загрузки (F9) HP5101.

14.04.2012 22:11 #245879
amid88 написал:
беру внешний диск, а при включении BIOS предлагает выбор загрузки (F9) HP5101.

Ну, и какие вопросы? :) Удачи!
PS Отпишитесь, что выйдет, хорошо?

14.04.2012 22:19 #245882

Да, конечно отпишусь, правда это будет не так скоро, потому что буду учиться устанавливать Slackware и Gentoo , и еще не определился с какой начинать. Ранее не имел дело с такими системами, пользовался только теми, какие просто ставить, а теперь надо что то поинтереснее.

14.04.2012 23:04 #245898
amid88 написал:
Да, конечно отпишусь, правда это будет не так скоро, потому что буду учиться устанавливать Slackware и Gentoo , и еще не определился с какой начинать. Ранее не имел дело с такими системами, пользовался только теми, какие просто ставить, а теперь надо что то поинтереснее.

Вы осторожнее. Обе системы - довольно сложны. Но! Slackware - это пакетный дистрибутив, а Gentoo - надо собирать с нуля (ну, почти) самому... Вы определитесь, что Вы хотите:
1. Что бы работало всегда и везде
2. Что такое Linux
Если Вы выберете вариант №2, тогда Gentoo. И - удачи... Много удачи... :)

16.04.2012 22:20 #246370
"Termo" написал:
Если там будет /dev/sdb, то это означает, что загрузчик будет установлен в главную загрузочную запись (MBR) второго диска,
т.е. диска, на который вы устанавливаете Ubuntu.
А так как этот диск подключен к разъему SATA2, т.е. после диска с Windows (SATA1), то Ubuntu вы больше не увидите. sad
Что надо сделать? Правильно! Выбрать из выпадающего списка /dev/sda.

В BIOS можно найти настройку очередности опроса ж. дисков, SATA1 SATA2 ... и т.д. - это все условно. В вашем случае поставьте загрузчик на SATA2 и и сделайте его опрос в BIOS первым. (вот вам и Windows и Ubuntu). Правда есть еще экстремалы, которые механически переключают жесткие диски. :)

17.04.2012 18:09 #246580
mvt написал:
[quote=amid88] беру внешний диск, а при включении BIOS предлагает выбор загрузки (F9) HP5101.

Ну, и какие вопросы? :) Удачи!
PS Отпишитесь, что выйдет, хорошо?[/quote]

Не получилось у меня установить Slackware на внешний USB диск, на внутреннем установлены Windows и Ubuntu.
При установке установил Lilo в MBR внешнего диска и при включении выдает меню Windows и Linux, но ничего не
загружается и с внутреннего уже ничего не грузится, пришлось все переустанавливать.
Второй раз поставил загрузчик уже в корень внешнего диска, теперь ничего не убил, но с внешнего диска не грузиться, пишет диск не загрузочный, вообщем запутался полностью.

Войдите или зарегистрируйтесь, чтобы ответить.