LINUX.ORG.RU

Grub2 не видит содержимого папки /boot

 


0

1

Был у меня неттоп, с внешним usb hdd. На нем стоит debian с grub2. Появился новый неттоп, с полноценным винчестером внутри, и появилась необходимость старую систему на новом неттопе запустить. Подключил внешний usb к новому неттопу и при загрузке сразу вываливается в grub rescue mode. По команде ls показывает все мои разделы, но по ls (hd0,msdos1)/boot - пусто, хотя файлы там точно есть (на другом компьютере все загружается прекрасно). При этом же, на внутреннем винчестере неттопа ls (hd1,msdos1)/boot все файлы прекрасно видно. На винчестере только один раздел, отдельного под /boot нет.

Куда копать, подскажите? А то все мозги уже сломал.

Как указан раздел с корневой файловой системой в /etc/fstab, с помощью UUID/LABEL или по именам устройств (разделов (sda1,sda2 ...) ?

Нужно указать через UUID / LABEL, т.к. ядро может по разному назначать имена устройств, может случиться, что внутреннему диску будет в одном случае будет назначено имя sda, в другом случае sdb.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=5002f6a5-1255-4766-859a-56b13c1477c4 /               ext3    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=6d930584-80b1-4353-937c-64017a8df731 none            swap    sw              0       0
/dev/sda1       /media/usb0     auto    rw,user,noauto  0       0
/dev/sda2       /media/usb1     auto    rw,user,noauto  0       0
/dev/sda5       /media/usb2     auto    rw,user,noauto  0       0

Насколько я понимаю, на этапе захода в grub rescue mode еще не читается fstab. Но при этом он должен прекрасно увидеть содержимое каталога /boot, чтобы хотя бы ядро загрузить. А проблема в том, что он не видит его, по ls там пусто из граба. Куда еще посмотреть?

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

Насколько я понимаю, на этапе захода в grub rescue mode еще не читается fstab

Тьфу, да, вы правы, что плохо соображаю сейчас.

По команде ls показывает все мои разделы, но по ls (hd0,msdos1)/boot - пусто, хотя файлы там точно есть (на другом компьютере все загружается прекрасно). При этом же, на внутреннем винчестере неттопа ls (hd1,msdos1)/boot все файлы прекрасно видно. На винчестере только один раздел, отдельного под /boot нет.

Тогда та же самая ситуация c grub, у вас внутренний винчестер, видимо, определяется как hd0, а внешний, с которого вы запускаете grub как hd1.

Воспользуйтесь функцией search: http://www.gnu.org/software/grub/manual/grub.html#search

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Нет, внутренний винчестер hd1, внешний usb hdd0, командами ls я точно определил. На внутреннем /boot читается без проблем, на внешнем /boot пустой О_о

spartan
() автор топика
Ответ на: комментарий от vasily_pupkin

Извиняюсь, немного не понял, драйвера чего? Часть директорий читаются без проблем, например /home/user, а вот /boot пустой, а в /usr вообще кракозябры.

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

Драйвера для EHCI/ATA/AHCI итп для граба. Судя по (hd) — работает щас это все хозяйство через biosdisk драйвер, который по 0x13h дергает диск(и) через биос. А биос штука непредсказуемая

vasily_pupkin ★★★★★
()
Ответ на: комментарий от Kiborg

Там только один рутовый раздел на 490 гигов + раздел на 10 гб под своп. Загрузился с внешнего hdd на старом компе, папку /boot скопировал 10 раз в /boot1, /boot2, и т.д. , и при загрузке на новом компьютере с него, все эти папки видятся, а содержимое на них пустое... Шайтанама...

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

а в других папках содержимое есть? Может скопировать /boot/ в какой-нибудь /pub, который виден из груба, и переименовать /pub/ в /boot?

Kiborg ★★★
()
Ответ на: комментарий от spartan

Да похоже, дело не в загрузчике, а в том, что он обращается к диску через биос. Думаю, у лило будут те же проблемы в таком случае.

Kiborg ★★★
()
Ответ на: комментарий от vasily_pupkin

А груб что, умеет драйвера для всяких контроллеров? Я просто не в курсе, я знаю только что он умеет драйвера для разных ФС. В гугле драйверов для граба тоже что-то не нашел.

Kiborg ★★★
()
Ответ на: комментарий от vasily_pupkin

Да и если делать образ груба, то можно туда просто впихнуть ядро и initrd, и не париться с драйверами.

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

Это две очень разные вещи. Другой вопрос, что можно конфиги и модули нужные пихнуть в образ. Правда он рискует не влезть :]

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

Офигеть..

Почитал по теме здесь. Поддерживает PATA (IDE) диски, сатовые не умеет. Но с ними и вероятность ограничения на объем ниже.

А тут загрузка-то идет по USB, тут нужен USB драйвер. Поддержка USB в grub2 экспериментальная, сделана для материнок, которые не умеют загрузку с USB HDD. Короче все как-то сложно получается..

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

В общем, худо-бедно удалось загрузиться с внешнего USB. Видимо vasily_pupkin был прав насчет ограничения на размер. Удалил с винчестера гигов 10 наиболее старых файлов, которые вероятнее всего располагались вначале диска. После этого сделал копию папки /boot в другую директорию, например /home. И после этого grub rescue увидел эту копию!!! Старую папку /boot Он так и не увидел. Ну а дальше дело техники, загрузился успешно, сделал ln -s /home/boot / и после этого загрузка нормально идет. Но все равно эти костыли настораживают. Всем огромное спасибо !!!

spartan
() автор топика

папки

На винфак

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