2

У меня двойная загрузка Windows 7 и Ubuntu на моем ноутбуке. ЦП ноутбука не поддерживает аппаратную виртуализацию. Я использую VMWare Player, чтобы разрешить использование моего раздела Linux (того же, который также работает на голом железе) изнутри Windows. Без поддержки аппаратной виртуализации это работает только с 32-разрядными гостями, поэтому у меня установлена 32-разрядная версия Ubuntu.

Иногда мне нужно запустить 64-битный процесс под Linux, и я готов перезагрузиться, чтобы сделать это. Я хотел бы избежать необходимости поддерживать 3 отдельных раздела (64-битный Linux для «голого железа», 32-битный Linux для виртуализации, Windows 7). Тем не менее, большую часть времени 32-битный Linux подходит для меня.

Существует ли достаточно простой способ установить как 64-битное, так и 32-битное ядро для одной и той же установки Linux, если оба ядра появляются в Grub, оставить большую часть пользовательского пространства 32-битным (за исключением библиотек и инструментов разработки, в этом случае Я бы оставил обе версии установленными) и позволил бы запускать 64-битные процессы, если бы я загружал 64-битное ядро на голом железе? В идеале я хотел бы сохранить хранилища пакетов по умолчанию и любые другие соответствующие настройки по умолчанию 32-битными даже при работе с 64-битным ядром.

Если это невозможно, есть ли какое-либо другое решение, которое не потребовало бы от меня поддержки двух разделов Linux или обновления моего оборудования?

Редактировать: я пытался установить 64-битное ядро поверх 32-битной Ubuntu, и это работает на удивление хорошо. Тем не менее, я хотел бы иметь какой-то здравый / простой способ установки 64-битных инструментов разработки и динамических библиотек, учитывая, что Apt все еще находится в 32-битном режиме.

2 ответа2

2

Ubuntu предоставляет небольшой набор 64-битных библиотек, начиная с libc6-amd64 Установите libc6-amd64 пакет. К сожалению, они не предоставляют 64-разрядное ядро, которое необходимо для выполнения 64-разрядного двоичного файла.

Вы можете попробовать установить ядро из дистрибутива amd64, например, linux-image-2.6.32-26-server. Я не думаю, что инструменты управления пакетами позволят вам легко установить пакет, но вы можете скачать .deb и установить его с помощью dpkg -i --force-architecture ….deb . В любом случае имя пакета не может совпадать с именем установленного 32-битного ядра. Вы также можете установить ядро, не обращаясь к управлению пакетами: распакуйте .deb с помощью dpkg-deb , поместите файлы на место и запустите update-grub (если это не достаточно точные инструкции, я не рекомендую эту опцию). Не забывайте повторять эту установку еще раз, когда появляются обновления для системы безопасности (обычно все образы ядра обновляются одновременно, поэтому обновляйте ваше 64-разрядное ядро каждый раз, когда вы видите обновление 32-разрядного ядра по обычному каналу).

Debian предоставляет ядро amd64 для архитектуры i386. Поэтому, если вы готовы жить с меньшей интеграцией с рабочим столом и более медленным циклом выпуска, вы можете перейти на Debian.

0

Если вам все еще нужны некоторые 64-битные пакеты, вы можете использовать debootstrap для подготовки 64-битной установки и привязки к ней. Это не должна быть полная установка или отдельный раздел, только инструменты сборки, которые вы используете.

В частности, для сборки пакетов Debian может быть полезен pbuilder (или sbuild). Он готовит очень минимальные среды, так что пакеты создаются только с теми зависимостями, которые им явно необходимы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .