[SOLVED] система не может найти корневой раздел
Доброго времени суток, дамы и господа.
Это далеко не первая установка Gentoo, в том числе и на флешку. Но все когда-то случается в первый раз. Столкнулся с очень странным поведением свежеустановленной системы.
Что ставили: install-amd64-minimal-20140904.iso
Ставили на флешку 8 гиг, разбиение - бутовый раздел (sda1, ext2) и корень (sda2, ext3). Система бездисковая - только флешка.
Ядро - стандартное, 3.14.14-gentoo. Собиралось при помощи genkernel.
GRUB (т.е. GRUB Legacy, не GRUB2) установлен в MBR флешки.
Сначала использовал "стандартный" конфиг для загрузки, с указанием root на рамдиск и real_root на /dev/sda2.
После загрузки initrd получаем сообщение, что /dev/sda2 не является корневым разделом,
Нажмите Enter для повтора,
"shell" для шелла,
"q" для пропуска
или введите раздел вручную
(привожу как можно ближе к тексту. если нужно - могу сделать фотку)
Enter и q - не помогают, shell мне не нужен, но если ручками ввести тот же раздел /dev/sda2, что указан в real_root - система продолжает загрузку.
Пробовал в fstab вместо разделов указывать метки (LABEL=ROOT - именно с такой меткой, ROOT, размечался sda2)
Пробовал при загрузке указывать root=PARTUUID=...
Добавлял ключи doscsi slowusb rootwait
Не помогает ничего.
При этом на приглашение ввести корневой раздел можно вводить и /dev/sda2, и LABEL=ROOT - система загружается дальше (с PARTUUID= не экспериментировал - но, думаю, тоже пройдет)
Подскажите, пожалуйста - в чем проблема?
Почему система грузится только после того, как имя корневого раздела введено вручную?
- Для комментирования войдите или зарегистрируйтесь
IVB написал(а): После
конфиг груба показывайте
sspphheerraa написал(а):IVB
Вот, последний:
Заодно device.map:
И на всякий случай:
Вместо
Вместо "root=PARTUUID=190541b6-02" попробуйте указать "real_root=UUID=xxx" (подставьте соотв. UUID)
sspphheerraa
Попробовать смогу только завтра, т.к. к KVM'у этот сервак еще не подключен.
Но я на 99.9% уверен, что проблема не в этом.
UUID= (как и LABEL=) я прописывал в fstab - не помогало, причем сообщение выдавалось, что UUID=... - не корневой раздел, т.е. fstab виделся и подчитывался.
Проблема в чем-то другом.
Понять бы только - в чем...
Попробовал. Перебрал все
Попробовал.
Перебрал все варианты - без real_root, с real_root=/dev/sda2, real_root=LABEL=, real_root=PART_UUID=, real_root=UUID=.
Каждый раз после загрузки initrd выдается немного разное сообщение (1-я строка) - но результат один: система не грузится.
Кстати, попробовал в ответ на просьбу ввести раздел вручную - ввести PARTUUID= - не находит (LABEL= - находит).
>с PARTUUID= не
>с PARTUUID= не экспериментировал - но, думаю, тоже пройдет
у Вас MBR же, не GPT? не пройдет :)
Beelzebubbie написал(а): >с
При наличии initrd - uuid пройдёт.
Beelzebubbie написал(а): >с
Пройдет!
http://wiki.gentoo.org/wiki/GRUB
осталось только показать этот
осталось только показать этот фокус на практике. fdisk/parted уже научились виндовые сигнатуры прикручивать? :)
Уже всё проверено:
Уже всё проверено, отсюда: http://gentoo.ru/node/28207#comment-209406 и ниже.
Там я задал такой же вопрос,
Там я задал такой же вопрос, и ответа так и не получил. Из вывода явствует (не более чем!) что ntfs разделы могут иметь PARTUUID на MBR. Однако могут ли произвольные разделы иметь PARTUUID на MBR? И какие из популярных утилит могут манипулировать PARTUUID на MBR?
Тем более что в свете данного треда NTFS, полагаю, не особо при делах :)
в случае с MBR манипулировать
в случае с MBR манипулировать с PARTUUID, естественно, нет возможности, так как это, фактически серийный номер винта+номер раздела. В моем случае ядро находит корень по PARTUUID, хотя udev /dev/disk/by-partuuid/ не заполняет. То есть в fstab все равно приходится прописывать LABEL= или UUID=. Но я не претендую на объективность...
Beelzebubbie
Правда, эксперимент не чистый. Диск разбивался не при установке Gentoo, а при установке Debian 7.6.0 за пару дней до этого. Поскольку менять размеры разделов не было смысла - переразбивать не стал, просто переформатировал.
smartctl -i /dev/sda | grep
smartctl -i /dev/sda | grep '^Serial'
показывает 190541b6?Beelzebubbie
Специально поставил smartmontools, чтобы проверить себя.
Проверка подтвердила - флешка SMART не поддерживает :)
Всё верно. По сути вам нужно
Всё верно. По сути вам нужно только
root=/dev/ram0 real_root=UUID=xxx
.sspphheerraa написал(а): Всё
Этот вариант проверялся (я об этом писал).
Так это была флешка (sda)?
Так это была флешка (sda)? Ради пущего обоснования, воткнул какую-то флэшку с MBR и не обнаружил (нисколько не удивившись) там PARTUUID. Вопрос так и остается – откуда он берется и как им управлять.
Beelzebubbie написал(а): Так
У меня он "взялся" после того, как я разбил флешку при установке Debian 7.6.0 (я об этом уже писал).
давайте без магии – или
давайте без магии – или сообщите, как/чем именно это было сделано или же скажите «не знаю». А то получается что «после утренней каши все заработало».
Beelzebubbie
OK.
Я не знаю, каким софтом сформирован PARTUUID на флешке.
Чистая флешка была извлечена из упаковки и на нее установлен Debian, с разбиением на разделы при установке.
Через пару дней на нее была установлена Gentoo, флешка при этом не переразбивалась.
В другие компы эта флешка не втыкалась.
Жаль конечно, что сей
Жаль конечно, что сей любопытный вопрос так и не решен до конца. Теория говорит – «да», на практике – подтверждается, но как воспроизвести – пока неизвестно :)
PARTUUID
PARTUUID можно изменить утилитой fdisk (проверялось на версии 2.24.1 со свежего minimal CD)
fdisk /dev/XXX
x
i
0xXXXXXXXX
r
w
Ок, все верно. Благодарю за
Ок, все верно. Благодарю за ответ :)
PARTUUID
При запуске fdisk (util-linux 2.24.1) на "чистый" диск fdisk сообщает, что на диске не распознано никакой таблицы разделов, и создает DOS'овскую таблицу, при этом генерирует случайный идентификатор диска (он же PARTUUID).
У меня такая же фигня с root
У меня такая же фигня с root на LVM, пока не понял как починить. Все грузилось и после обновления перестало.
yaleks написал(а): У меня
Хреново с дому пишут :(
Я думал - я что-то неправильно сделал, а получается - ошибка в последней сборке.
И экспериментировать с сорцами (в данном конкретном случае) крайне неудобно - флешка жутко медленная, ядро собиралось почти целый день...
IVB написал(а): Доброго
Погуглил, подумал, поэкспериментировал.
Проблема решена следующим образом:
1. Пересобрал initrd следующей командой:
genkernel --symlink --splash --no-lvm --no-mdadm --no-dmraid --e2fsprogs --disklabel ramdisk
2. В grub.conf использовал следующие параметры загрузки ядра:
kernel /boot/kernel-genkernel-x86_64-3.14.14-gentoo doscsi nodmraid slowusb rootwait scandelay=30 root=/dev/ram0 real_root=UUID=915e09db-fc36-495b-a79a-769c1cfb5a87 rootfstype=ext3
3. В fstab корневой раздел описан так:
UUID=915e09db-fc36-495b-a79a-769c1cfb5a87 / ext3 noatime 0 1
В п.1 и п.2 часть ключей выполняют другие задачи, а не решают описанную проблему (--symlink --splash --no-lvm --no-mdadm --no-dmraid из п.1 и nodmraid из п.2).
В п.1 и/или п.2 наверняка достаточно будет какого-то одного ключа для решения описанной проблемы, т.е. некоторые ключи являются "лишними". Но на эксперименты, что можно убрать - времени нет. Система грузится.
корневой раздел шифрован,
корневой раздел шифрован, надо полагать?
Beelzebubbie
Нет, форматировался стандартной mkfs.ext3 без всяких дополнительных извращений (только метку задал).
исходя из no-* и отсутствия
исходя из no-* и отсутствия шифрования – с какой целью инитрама нужна?
Beelzebubbie
Вы ж понимаете, что админ - существо ленивое :)
Мне проще при помощи genkernel сделать "стандартное" ядро, в которое, при необходимости, добавляются отсутствующие компоненты (как правило, не часто - обычно хватает "стандартного" набора). А genkernel собирает ядро с initrd.
Ну… гитик тут много, однако
Ну… гитик тут много, однако лишняя сущность может и не сэкономить время, а наоборот. На форуме не раз уже инитрамо-related проблемы обсуждались. Тем более подводные камни и у генкернела и у дракута таки есть и если нет желания на них натыкаться, то можно попробовать и придушить их в зародыше. Ради лени :)
Beelzebubbie написал(а):Ну…
[offtopic]
Когда Gentoo стала у нас корпоративным стандартом - установка каждой новой системы начиналась с "вылизывания" ядра, что занимало ощутимое время, т.к. стандарта на железо у нас нет, да и в самом ядре постоянно что-то меняется. Но новые серверы покупались не часто, поэтому затраты времени на общем фоне не выглядели огромными.
Потом мы пришли к тому, что проще вместо одного мощного сервера с кучей сервисов наплодить кучу виртуалок - грубо говоря, по одной на сервис. При этом Gentoo потеряла исключительный статус, т.к. иногда было проще взять чью-то готовую виртуалку с нужным сервисом, чем ставить все с нуля. Да и количество "серверов" резко возросло - тратить время на "вылизывание" каждого стало неразумным.
Так в качестве второй "стандартной" ОС стал Debian, особенно на виртуалках. Естественно, Debian всегда ставился со "стандартным" ядром. И ничего - система работает.
Так мы постепенно "осознали", что, как правило, и "стандартное" ядро нормально работает.
Ну а в случае критичных сервисов (например, выделенный MySQL сервер) - там да, стоИт Gentoo, причем ядро "вылизывалось" довольно тщательно.
[/offtopic]
И в случае с данным конкретным сервером на него сначала был водружен Debian (т.к. ставится при минимальном участии админа), и только после того, как выяснилось, что dvb карточки "стандартное" ядро "не видит", и нужно собирать свое ядро - я решил поставить на него Gentoo.
Ситуация знакомая – «некогда
Ситуация знакомая – «некогда думать, прыгать надо»? Хотя проблема изничтожения аппаратного зоопарка на моей практике решалась успешно не раз. Хотя и с большим скрипом. Таки мешает распилинг/откатинг правильной сборке системы.
IVB написал(а): Beelzebubbie
т.е помимо неослиянства генты неосилили еще и дебиан - но "корпоративный стандарт" уже завели ;)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Ктулху проснулся?!.. :)
Ктулху проснулся?!.. :)
Ктулху профортунился во сне
Ктулху профортунился во сне ;-S
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)