LinuxForum.Fans
Тема

Проблемы с установкой slackware

Автор: yxma 104 сообщений 28996 просмотров
#156038

Немного прописных истин с упрощениями на грани фола...
При загрузке машины по окончании POST читается 512-байтный начальный сектор загрузочного по мнению BIOS диска (MBR), который содержит таблицу разделов и собственно загрузчик, и ему передаётся управление. Дальнейшая загрузка -- дело тех 466 байт загрузчика.

LILO как загрузчик, фактически состоит из программы /sbin/lilo, которая читает файл конфигурации /etc/lilo.conf, формирует код загрузчика для записи в MBR (или в раздел) и записывает его туда. Поэтому, и при каждом изменении /etc/lilo.conf, и при каждом изменении расположения файла ядра на диске (а в загрузчик тупо прописывается цепочка секторов с ядром) необходимо формировать загрузчик заново, вызывая /sbin/lilo.

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

Теперь определяемся с задачей: прописываем всё в живой GRUB или используем LILO (если LILO, то от чьей системы, потому как его нужно будет из под этой системы и обновлять).

#156054

Спасибо, действительно на редкость кратко, а значит, ясно, что есть сестра таланта. :)
Сам процесс мне понятен настолько, что я в свое время сумел поправить ковчеговское лило для загрузки венды и даже внес это в альтовский мануал. Жутко круто.
На этом - фсе. не могу понять какие uuid или sd_ нужно прописывать в конфиги. Как только не извращался. но вот, кажется, понял - после редактирования загрузчика не помню, чтобы я лило запускал. Впрочем, я делал это из гуя альта. Но на то они и гуи, чтобы ошибаться. еще одна деталь: Если разные линуксы загружались на разные стартовые хдд, то с другого диска они будут восприниматься как другие sd_, в то время как для себя эти системы будут иметь свои внутренние идентификаторы. Я и смену карты дисков пытался вставить - все что-то не доходит. Что именно-не пойму.
А груб мне нравится своими бОльшими возможностями.

#156088
yxma написал:
если биос не дает изменения приоритета, как тогда решается загрузка с разных дисков при выборе загрузочного в разделе биоса "бут"?

переключением SATA шлейфов

#156094

Termo,
это не совсем так.
Выбор в BIOS первого HDD прекрасно работает -- именно с него будет прочитан MBR. Но на имя этого устройства с точки зрения ядра это не повлияет -- смена загрузочного HDD не сделает его /dev/sda.

yxma,
я правильно понял, что есть живой GRUB в MBR+на разделе одного из дисков, решаем задачу загрузки Slackware с /dev/sda1 (отдельный /boot при установке не создавался) с его помощью?
Кстати, какой версии GRUB, 2 или 1 (legacy, номера с 0.х), у них чуть разный синтаксис и сильно разные файлы конфигурации?

#156189
bormant написал:
Выбор в BIOS первого HDD прекрасно работает -- именно с него будет прочитан MBR.

далеко не всегда
матери среднего уровня первым грузят тот винт, который воткнут в SATA0

#156211
Termo написал:
[quote=yxma]если биос не дает изменения приоритета, как тогда решается загрузка с разных дисков при выборе загрузочного в разделе биоса "бут"?

переключением SATA шлейфов[/quote]
это был не вопрос нуба, просто мне не хотелось обижать Борманта несогласием (я очень не люблю, когда кого-то учу, а он лечит меня всяким бредом) - биос определяет с чего грузится комп однозначно. Ни разу не сталкивался с обратным. Не берусь утверждать на 100%, но ремап в сузе мне был нужен именно потому, что при смене в биосе диски тут же меняли свою ориентацию - загрузочный тут же становился sda. Правда, это не помогло да и было это на старой мазерборде. На новой еще не экспериментировал.

Борманту
Действительно, росинка9 у меня грузится без вопросов. какой груб - вечером узнаю.

#156219
yxma написал:
биос определяет с чего грузится комп однозначно.

неверно

#156235

Termo написал:
матери среднего уровня первым грузят тот винт, который воткнут в SATA0
Тут такое дело... Либо BIOS умеет выбирать с чего грузиться, и тогда MBR будет прочитан с этого HDD, либо нет. Умение представить его 1-м (код 80) зависит от BIOS, но это уже другая история (загрузчик и ядро будут видеть одни и те же HDD под разными номерами).
#156242

Загрузчик получает управление после завершения стартовых процедур BIOS. Его основная задача -- загрузить операционную систему. В случае с Linux эта задача сводится к 1) загрузке ядра в память, 2) передаче ему параметров, 3) передаче управления ядру. На этом работа загрузчика завершена, все дальнейшие действия выполняет ядро.
Ядру необходим как минимум один параметр -- корневой раздел. С него будет взят каталог с настройками /etc, процесс init и т.д. Если ядро не обнаружит корневого раздела (не передали параметр, передали неверный параметр, нет драйвера для чтения ФС раздела), оно запаникует (kernel panic), ибо неизвестно, что делать дальше по завершении инициализации, а неизвестность частенько является поводом для паники ;)

Грузимся до меню GRUB. Если меню не отображается по умолчанию, как, например, в Fedora, держим зажатым Shift.
Читаем подсказку внизу меню. Воспользуемся интерактивными возможностями GRUB. Нажимаем "c" для перехода в командный режим. Видим приглашение "grub> ". Для именования дисков и разделов GRUB использует собственную нотацию вида (hd0,1) (GRUB считает номера разделов с 0, GRUB2 с 1). Мнение GRUB насчёт номеров дисков не обязано совпадать с мнением ядра на этот счёт. Работает автодополнение по Tab. Если нажать Tab в пустой командной строке, увидим список доступных команд, также дополняются и имена дисков, и имена файлов на файловой системе. Нас будут интересовать в первую очередь команды linux (в GRUB -- kernel), root, initrd, search (в GRUB -- find, жалкое подобие).
Можно поискать раздел, на котором расположен slack.bmp (если правильно путаю, это самое короткое из известных имён в /boot ;) )
[console]grub> find /boot/slack.bmp[/console]

Пробуем использовать полученные знания на практике и загрузить Slackware (нажатия Tab для того, чтобы убедиться, что загрузчик того же мнения о порядке дисков, что и та система, из которой приведён вывод fdisk -l, а также сократить топтание кнопок ;) ):
GRUB2[console]grub> linux (hd[Tab]0,1)/boot/vmlinuz-huge-smp-[Tab] root=/dev/sda1
grub> boot[/console]

GRUB[console]grub> kernel (hd[Tab]0,0)/boot/vmlinuz-huge-smp-[Tab] root=/dev/sda1
grub> boot[/console]

Если возникли ошибки/трудности, докладываем.

Загрузиться без пароля тоже несложно, достаточно передать ядру init=/bin/bash или init=/bin/sh.

Если цель достигнута, читаем куда и как вписать нужные строчки в руководстве про соответствующий GRUB.

При обычной работе чаще всего используют vmlinuz-generic-smp ядро, создав образ начальной загрузки с драйверами корневой ФС (initrd) . Если описанное в /boot/README.initrd было проделано, то

GRUB2[console]grub> root (hd[Tab]0,1)
grub> linux /boot/vmlinuz-generic-smp-[Tab] root=/dev/sda1
grub> initrd /boot/initrd.gz
grub> boot[/console]

GRUB[console]grub> root (hd[Tab]0,0)
grub> kernel /boot/vmlinuz-generic-smp-[Tab] root=/dev/sda1
grub> initrd /boot/initrd.gz
grub> boot[/console]

Обращаю внимание, root задаёт какой раздел будет корневым для GRUB, а не для ядра.

Почитать про GRUB2 на великом и могучем можно, например, тут http://ru.wikibooks.org/wiki/Grub_2

#156253

При всём многообразии существующих загрузчиков стоит упомянуть и ISOLINUX -- это загрузчик на дистрибутивном диске Slackware. С его помощью также можно загрузиться как в установщик, так и в установленную Slackware. Правда использовать ядро с HDD в таком случае не выйдет, придётся использовать одно из стоковых ядер на CD/DVD, что часто не является какой-либо проблемой.
Но об этом потом, если будет соответствующий интерес.

#156290
gramozeka написал:
тупые пароли типа 123456, qwerty и т.д. игнорируются , при упорстве в этом деле нужно вводить три или четыре раза ( не помню точно )

всего 3 раза.
а не 2...

yxma написал:
я понимаю идеологию независимости загрузки от вида загрузчика. Но прописать это не могу.

за это я и не люблю grub. лень ман читать на самом деле smile

yxma написал:
Но на то они и гуи, чтобы ошибаться.

по идее, как раз этот гуй просто обязан сделать /sbin/lilo при нажатии "сохранить". но вы сами понимаете...

yxma написал:
не могу понять какие uuid или sd_ нужно прописывать в конфиги.

есть такой каталог /dev/disk/by-id/
запомните это название (а лучше запишите. я не шучу).

yxma написал:
то с другого диска они будут восприниматься как другие sd_, в то время как для себя эти системы будут иметь свои внутренние идентификаторы.

идентификаторы никогда не меняются. они создаются 1 раз, при создании ФС. А вот буквы могут меняться постоянно, даже во время загрузки и работы системы.

yxma написал:
А груб мне нравится своими бОльшими возможностями.

а зачем они нужны? больше возможностей => ниже надёжность. Очевидно.

bormant написал:
смена загрузочного HDD не сделает его /dev/sda.

угу. может быть интересная ситуёвина, когда система грузится с sda, а потом монтирует sdb как загрузочный диск :)

Про пароль.

Я использую следующий простой способ:

Дано: линукс с известным паролем рута + линукс с забытым паролем рута. Задача естественно "вспомнить".

Решение: смотрим что в /etc/shadow в строке, которая начинается на root между первым и вторым двоеточием - это и есть пароль. Только зашифрованный. Копируем его из известного линуха, в тот, где забыли. Профит.
В убунте надо ещё в /etc/passwd исправить на root:x:0:0::/root:/bin/sh
А то там вроде как-то иначе.

#156462

спасибки!
убунта-то, она же росинка, как раз и грузится, попробую из нее скопировать.

#157034

Полный тупизм, однако!
хитрость с копированием пароля тоже не спасла. Еще 2 раза ставил по новой, уже очень внимательно, перенастройку клавы не стал делать, чтобы случайно кириллица не заскочила, не приемлет пароль и все тут.
Последний раз даже пытался без пароля ставить - дудки, не грузит
Может дело в том, что у меня логин короткий - "с"? Как раз тот случай, что близок локоть...
Ну очень хочется поставить. Чито можно еще в виде эксперимента сделать, кроме молотком по системнику?

#157064
yxma написал:
Может дело в том, что у меня логин короткий - "с"?

oO
при установке слаквари пользователи НЕ СОЗДАЮТСЯ. Какой логин?! Там один - root. Потом создавайте юзверей сами. ПОСЛЕ установки. Тут вам не убунта, и не семёрочка...

#157121

Боже, как тупо!!!
нужно в логине РУТ написать?
а какого лешего при установке что-то запрашивается, как введите имя рута или еще что-то такое?

#157178
yxma написал:
Боже, как тупо!!!

а кто утверждал обратное?
слака прямая как немецкое шоссе
login: root
password: ****** (шесть звездочек)
wink

#157179
yxma написал:
во 2,3,4 - не хочется ругаться, но лучше бы пароль было не ставить вааще - не признает, зараза, то, что забиваю. пишет, что неправильный логин, а какой он неправильный - одна буква!

эх, всё же было сказано еще в первом сообщении :D

#157184
yxma написал:
Боже, как тупо!!!

всё гениальное - просто :P

А вот что сказала моя слака мне:
[console]=== ALL USERS PLEASE NOTE ========================

There has been some confusion concerning MAPCAR.
(DEFUN MAPCAR (&FUNCTIONAL FCN &EVAL &REST LISTS)
(PROG (V P LP)
(SETQ P (LOCF V))
L (SETQ LP LISTS)
(%START-FUNCTION-CALL FCN T (LENGTH LISTS) NIL)
L1 (OR LP (GO L2))
(AND (NULL (CAR LP)) (RETURN V))
(%PUSH (CAAR LP))
(RPLACA LP (CDAR LP))
(SETQ LP (CDR LP))
(GO L1)
L2 (%FINISH-FUNCTION-CALL FCN T (LENGTH LISTS) NIL)
(SETQ LP (%POP))
(RPLACD P (SETQ P (NCONS LP)))
(GO L)))
We hope this clears up the many questions we've had about it.

[/console]

#157205
yxma написал:
а какого лешего при установке что-то запрашивается, как введите имя рута или еще что-то такое?

:lol: - убивец ... а-а-а пацталом :lol: ...
yxma , ну ты по аглицки то распарсиваешь хоть бельмеса ? я ж русским языком сказал :


далее:
[console]
Welcome to bla-bla-bla
mymatherfaqarcumputer login : _ <-- сюда пишем root
pasword : <-- собсно понятно и ежу

[/console]
#157246

yxma, эх... к куда вы таки "c" вводили-то? oO

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