Перейти к содержанию

linux-32 и linux-64 на одном компе


cresta

Рекомендуемые сообщения

Здравствуйте!

Установлено:

/dev/sda1 - winxp

/dev/sda6 - mandriva 2008 (32bit)

установил на /dev/sda8 mandriva 2008 (64bit)

После этого 32-битная версия практически перестала функционировать.

Система загружается, но из устройств работает только видеокарта и мышь.

Звуковая карта не работает, сетевая карта не работает, клавиатура не работает, usb-устройства не работают, кнопка выключения питания не работает, 1394 не работает.

Сама 64-битная система установилась без проблем и функционирует нормально, а 32-битная повреждена при установке 64-битной.

Каким образом пересеклись /dev/sda6 и /dev/sda8, честно говоря я даже не представляю.

Можно ли поправить 32-битную систему? Или проще пристрелить и поставить заново?

Ссылка на комментарий
Поделиться на другие сайты

В обоих системах сделано так, что есть только одна точка монтирования для "/". И swap.

Для 32-битной системы к / монтируется sda6, swap на sda5

Для 64-битной системы к / монтируется sda8, swap на sda9

В логах загрузки сообщается, что (например для сетевой карты) устройство не может быть запущено на установленном драйвере r8169

Ссылка на комментарий
Поделиться на другие сайты

cresta писал(а) Wed, 18 February 2009 07:53

В обоих системах сделано так, что есть только одна точка монтирования для "/". И swap.

Для 32-битной системы к / монтируется sda6, swap на sda7

Для 64-битной системы к / монтируется sda8, swap на sda9

Остальные разделы [2358], как я понял, вы используются для чего-то другого.

На расстоянии могу предположить только одно:

Загрузчиком грузится выбранное ядро (32 или 64). Затем разные ядра по-разному именуют разделы и 32 битное ядро монтирует корень на другой раздел.

Ссылка на комментарий
Поделиться на другие сайты

В общем, как я понял, дело в загрузчике.

64-битная система при установке загрузчика вписала для 32-битной не то ядро, которое нужно:

kernel-server-2.6.24.4-1mnb - Linux Kernel for server use with i686 & 64GB RAM

Я это ядро устанавливал, пытаясь задействовать более чем 3Гб ОЗУ

По логам загрузки грузилось это ядро.

После запуска с диска Resque System утилиты восстановления загрузчика 32-битная система грузится теперь нормально.

Вот только 64-битная теперь пропала Mad

Как теперь восстановить загрузку 64?

Копирование секций из lilo.conf (как из 32 в 64, так и наоборот) ничего не дает.

64 бита не грузятся, застревая на сообщении request_module: runaway loop modprobe binfmt-464c

Сделать из 32 битной системы chroot на /mnt/sda8 и запустить lilo тоже не удается, тамошний конфигуратор lilo 64-битный и не запускается из 32-х

В общем со всех сторон засада Sad

В принципе возможно заставить lilo корректно грузить 32 и 64-разрядные системы одновременно?

Ссылка на комментарий
Поделиться на другие сайты

cresta писал(а) Wed, 18 February 2009 12:33

В общем со всех сторон засада Sad

В принципе возможно заставить lilo корректно грузить 32 и 64-разрядные системы одновременно?

Загрузчику безразлично, какую истему он грузит.

grub грузит файлы с указанным именем, lilo - указанные номера секторов диска, связанные с файлами ядра.

Вам стоит вручную настроить загрузчик на нужные ядра (или на все, которые у вас есть). Только редактируйте именно тот файл из двух, который фактически используется (или сделайте их одинаковыми).

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

Ссылка на комментарий
Поделиться на другие сайты

lilo.conf для 32-бит:

# File generated by DrakX/drakboot
# WARNING: do not forget to run lilo after modifying this file

default="linux-32"
boot=/dev/sda
install=menu
prompt
nowarn
timeout=100
message=/boot/message
image=/boot/vmlinuz
	label="linux-32"
	root="UUID=448762d0-cfc0-11dd-9029-73462a196d5c"
	initrd=/boot/initrd.img
	append="resume=/dev/sda5 splash=silent mem=4096M"
	vga=791
image=/boot/vmlinuz
	label="linux-nonfb"
	root="UUID=448762d0-cfc0-11dd-9029-73462a196d5c"
	initrd=/boot/initrd.img
	append="resume=/dev/sda5 splash=silent mem=4096M"
	vga=791
image=/boot/vmlinuz
	label="failsafe"
	root="UUID=448762d0-cfc0-11dd-9029-73462a196d5c"
	initrd=/boot/initrd.img
	append="failsafe"
other=/dev/sda1
	label="windows"
image=/boot/vmlinuz
	label="linux-64"
	root=/dev/sda8
	initrd=/boot/initrd.img
	append="resume=/dev/sda9 splash=silent mem=4096M"
	vga=794

содержимое директории boot на /dev/sda8:

boot.0800
boot.backup.sda
config
config-2.6.24.4-server-1mnb
gfxmenu
initrd-2.6.24.4-server-1mnb.img
initrd.img
initrd-server.img
kernel.h
kernel.h-2.6.24.4-server-1mnb
map
message
message-text
System.map
System.map-2.6.24.4-server-1mnb
vmlinuz
vmlinuz-2.6.24.4-server-1mnb
vmlinuz-server

initrd.img и initrd-server.img - ссылки на initrd-2.6.24.4-server-1mnb.img

vmlinuz и vmlinuz-server - ссылки на vmlinuz-2.6.24.4-server-1mnb

Пробовал самостоятельно указывать рут-раздел, образ и ядро, пробовал использовать соответствующую секцию из lilo.conf для 64-битной системы, результат один: выводит 6 раз сообщение

request_module: runaway loop modprobe binfmt-464c

и замерзает.

Ссылка на комментарий
Поделиться на другие сайты

У вас всегда грузится одно и то же ядро /boot/vmlinuz.

Параметр root= относится к параметрам ядра и указывает корневую файловую систему. К загрузчику он отношения не имеет.

Предлагаю способы решения на выбор. Сам не пробовал, да и lilo последний раз использовал давно.

1. Скопировать 64 разрядное ядро в /boot на разделе с 32 разрядным, затем прописать в image=/boot/имя-файла-ядра-64, сохранить конфиг и выполнить команду /sbin/lilo.

Тогда ядра будут грузиться с одного раздела, а корень монтироваться куда надо.

2. Подправить image= с указанием кроме файла еще и раздела. Синтаксис для lilo не знаю. И тоже не забыть выполнить команду lilo после сохранения файла.

Тогда ядра будут грузиться с разных разделов.

3. Поставить grub (но его тоже придется настраивать) как более функциональный загрузчик.

Ссылка на комментарий
Поделиться на другие сайты

Действительно, скопировал ядро и образ на 32-битный раздел? запустилась 64-битная система

Видимо по этой же причине после установки 64-битной при загрузке 32-х пыталось загрузиться ядро от 64

Спасибо за помощь!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...