Ubuntu переход с 32 на 64

Обновлено: 04.07.2024

У меня установлена ​​32-разрядная установка Ubuntu на 64-разрядном оборудовании. Теперь, когда была реализована многоэкранная версия, я хотел бы переключиться на 64-разрядную без необходимости переустановки ОС.

Шон установил свою систему, используя 32-битную версию Ubuntu, но его аппаратное обеспечение - 64-битное, и он хочет переключиться. Он вручную устанавливает версии dpkg и apt amd64, заменяя версии i386 и изменяя, какая архитектура используется по умолчанию; затем он устанавливает пакет amd64 ubuntu-минимальный; затем он устанавливает пакет amd64 ubuntu-desktop. Со временем оставшиеся пакеты i386 автоматически заменяются при обновлении.

Однако, пытаясь следовать инструкциям там, я не могу найти 64-разрядную версию dpkg или apt.

Короче говоря, как я могу переключить 32-разрядную установку на 64-разрядную?

Хороший вопрос. У меня была охота вокруг и за исключением истории пользователя, которую вы цитируете, я не могу найти никаких подробностей о том, как это сделать. Вся документация указывает, что он предназначен только для запуска 32-разрядных приложений на уже 64-разрядной ОС.

Однако, если вы хотите поэкспериментировать, вы можете попробовать следующее (полученное из моей ссылки в [1 ])

echo foreign-architecture amd64 | sudo tee /etc/dpkg/dpkg.cfg.d/multiarch sudo apt-get install linux-image:amd64

Я думаю, вам нужно будет начать с ядра amd64, так как 32-битный не сможет запускать любые 64-битные двоичные файлы. Однако 64-разрядный должен запускать 32-битные двоичные файлы (если установлена ​​ia32-libs?).

Если вы установили и загрузили 64-битное ядро, вы можете перейти оттуда, чтобы установить apt: amd64, затем выполните пользовательскую историю, как ранее цитировалось, ubuntu-minimal, ubuntu-desktop и т. д.

После того, как apt: amd64 установлен, я думаю, вы можете удалить линию внешней архитектуры, поскольку вы по существу переключились в этой точке.

Отказ от ответственности: у меня нет 32-битной системы для проверки, так что это все догадки. Удачи!

Хотя вопрос аналогичен вопросу, возможно ли «обновление», от 32-битной до 64-битной установки? (Если вы еще не прочитали его, прежде чем я попрошу вас попробовать, ответ будет предоставлен.) Я также рекомендую прочитать следующие ссылки:

Как переключить 32-разрядную установку на 64-разрядную?

Если ваша проблема с памятью, то вы должны знать, что 32-битный Ubuntu может читать более 4 ГБ оперативной памяти (до 64 ГБ). Таким образом, использование последней версии 32-битного Ubuntu с компьютером с архитектурой 32 бит или 64 бит и добавлением большего объема оперативной памяти не будет проблемой. Он будет просто читать дополнительную оперативную память и работать.

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

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

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

После обновления моей системы с 64-разрядным процессором я также хотел установить 64- битное ядро ​​на моем 32-битном 14.04.2 Ubuntu (кодовое имя: Trusty). Для этого я ввел следующие команды как . Эти инструкции заставляют вашу систему загружаться с 64-битным ядром, но не меняют большинство программ пользовательской программы. :

dpkg --add-architecture amd64 apt-get update apt-get install linux-generic-lts-utopic:amd64

Это может удалить ваше 32-битное ядро ​​как надежное - по умолчанию - поставляется с обновленным ядром (ядро из utopic), см. примечания к выпуску 14.04. В этом случае ваше текущее ядро ​​конфликтует с установленным 64-битным ядром и, следовательно, удаляется. Если вам не нравится эта идея, вы можете попробовать старый 64-разрядный пакет ядра «linux-generic-lts-trusty: amd64». Команда «-add-architecure» имеет важное значение. Без него система пакетов не поддерживает пакеты из разных архитектур, см. Multiarch-HowTo. Чтобы увидеть, что apt-get будет делать с вашей системой, запустите ее с параметрами -Vs, которые позволят «режим подробной версии». Это напечатает все пакеты, которые будут установлены и удалены. Независимо от того, загружается ли система с использованием нового ядра, это зависит от конфигурации grub. В качестве пользователя root запустите update-grub, чтобы сделать обновление grub и распечатать текущую конфигурацию загрузки. Первое изображение в списке будет загружено по умолчанию. Чтобы выбрать другое изображение ядра, я удалил строку GRUB_HIDDEN_TIMEOUT=0 с /etc/default/grub и запустил ее как пользователя root update-grub. Во время загрузки вы можете выбрать другое ядро ​​(у вас есть 10 секунд, чтобы нажать любую клавишу, иначе grub продолжит ядро ​​по умолчанию). Ответ с высшим большинством голосов - с 2011 года и, на мой взгляд, безнадежно устарел. Multiarch позволяет устанавливать пакеты библиотек из нескольких архитектур на одном компьютере без особого шума.

Эти ответы несколько устарели. Перекрестная сортировка теперь документирована для Debian на вики Debian, но она по-прежнему не рекомендуется.

Установка ядра из другой архитектуры теперь так же проста, как описано здесь, но новый «apt» не будет распознавать пакеты из предыдущей архитектуры, и поэтому все его интерфейсы могут сообщать много разбитых пакеты. Это либо требует изменения всех зависимостей для другой архитектуры, либо возврата apt и dpkg в 32-разрядный.

Таким образом, лучший подход может состоять в том, чтобы сначала сохранить результаты dpkg --get-selections, strip: i386 и загрузить пакет amd64 для каждой из зависимостей в кеше:

apt-get --download-only install perl:amd64 python3:amd64 python3-gi:amd64 xorg:amd64.

В лучшем случае это может быть медленным и трудоемким решением зависимостей.

Да, линия внешней архитектуры наиболее важна для установки любых кросс-аркадных пакетов. Но после этого сделайте, как упомянули несколько других пользователей:

Это должно было сделать это .

Crossgrading (обновление до другой архитектуры) еще не поддерживается.

Мой рецепт для Ubuntu 16.04 Xenial, протестированный на недавно установленной 32-разрядной виртуальной машине Ubuntu со стандартным системным и SSH-сервером, но без GUI:

sudo -s dpkg --get-selections > pkg1 dpkg --add-architecture amd64 apt update apt install linux-image-generic:amd64 thermald

(иначе он установит heatd: amd64 и не будет перезагрузить его под 32-разрядным ядром)

после перезагрузки с 64-битным ядром:

sudo -s unset LANG apt install apt:amd64 apt-utils:amd64

type «Да, делайте, как я говорю!» когда его спросят, он будет безопасным

mkdir /tmp/upgrade cd /tmp/upgrade pkgs() < dpkg -l | awk '$4=="'$1'"' | awk -F: '' | sort -u > apt download $(comm -23 <(pkgs i386) <(pkgs amd64)) while ls *amd64*deb do dpkg -i *amd64*deb dpkg -l | awk '$1=="ii" && $4=="amd64" ' | awk -F: '' | while read a do [ -f $_*amd64*deb ] && rm $_*amd64*deb done done

в цикле выше, мы удалим файлы .deb, которые были успешно установлены и получили статус «ii» в списке dpkg.

нам нужно повторить пробеги dpkg -i, так как это не удается с самой первой попытки

теперь, как с 64-битным ядром, так и с пользовательским пространством, оставшиеся пакеты i386 можно удалить:

dpkg --purge $(dpkg -l | awk '$4=="i386"')

список, который вы сохранили в файле pkgs1, который вы можете использовать для любых ваших дальнейших потребностей.

Хороший вопрос. У меня была охота вокруг и за исключением истории пользователя, которую вы цитируете, я не могу найти никаких подробностей о том, как это сделать. Вся документация указывает, что он предназначен только для запуска 32-разрядных приложений на уже 64-разрядной ОС.

Однако, если вы хотите поэкспериментировать, вы можете попробовать следующее (полученное из моей ссылки в [1 ])

echo foreign-architecture amd64 | sudo tee /etc/dpkg/dpkg.cfg.d/multiarch sudo apt-get install linux-image:amd64

Я думаю, вам нужно будет начать с ядра amd64, так как 32-битный не сможет запускать любые 64-битные двоичные файлы. Однако 64-разрядный должен запускать 32-битные двоичные файлы (если установлена ​​ia32-libs?).

Если вы установили и загрузили 64-битное ядро, вы можете перейти оттуда, чтобы установить apt: amd64, затем выполните пользовательскую историю, как ранее цитировалось, ubuntu-minimal, ubuntu-desktop и т. д.

После того, как apt: amd64 установлен, я думаю, вы можете удалить линию внешней архитектуры, поскольку вы по существу переключились в этой точке.

Отказ от ответственности: у меня нет 32-битной системы для проверки, так что это все догадки. Удачи!

Можно ли заменить 32 битную Линукс на 64 битную без флешки или диска?

  • Вопрос задан более года назад
  • 431 просмотр

Простой 6 комментариев

hint000

Можно. Но если что-то пойдёт не так, то вам понадобится флешка. :) На практике почти никто и почти никогда так не делает, это скорее лишь теоретическая возможность (но кто делает - тот герой). Видели, как R2D2 чинит Millenium Falcon или какой-нибудь X-wing или Naboo starship прямо во время космического сражения? "Бак пробит, хвост горит, но машина летит на честном слове и на одном крыле." Вот во время такой переустановки Линукса вы сможете ощутить, как это бывает в реальности, а не на экране :)

profesor08

planc

xotkot

Stalker31

xotkot

Дмитрий Павлов, по вашей ссылке человека учат как не промахнутся с форматированием раздела со старой системой перед тем как туда записать новую с флешки, я не уверен что именно этого хотел ТС

Изменить битность версии ОС без ее переустановки нельзя.

xotkot

естественно, но ТС спрашивал не просто о переустановке а о переустановки без флешки

Ну это смотря что подразумевать под словом "переустановка". В линуксе не проблема заменить все файлы на ходу, и таким образом перезагрузится в 64битную систему.
В общем-то все это, причем эдак так 10летней давности статьи, описано в интернете давно уже было.

Stalker31

Нельзя, разрядность ОС не в windows, не в linux нельзя изменить без флешки , для этого нужна загрузочная флешка с дестрибутивом соответствующей разрядности.

hint000

так речь о том и идёт, чтобы переустановить без флешки. Это сделать сложно, но не совсем невозможно.

Добрый день.
Подскажите пошагово пожалуйста как перейти на 64 битную Кубунту из 32 битной.

Правильно ли я понимаю, что нужно "все сносить и все переустанавливать", включая проприетарные дрова для видео, принтера и т.д.?

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

нужно "все сносить и все переустанавливать" да, именно так, и разумеется и дрова в том числе, точнее в первую очередь.
Верно ли что фактически весь более-менее современный софт написанный на 32 битной архитектуре работает также без проблем на 64 битах?
Утверждателей подобного здесь много. Не проверял, пока меня устраивает и 32 битная архитектура.

Изображение пользователя MacLeod.

Викторина: а кто знает, в чем отличие 64 от 32 системы? =)

поиск знает. тема неоднократно обсуждалась, и даже вроде пришли к консенсусу. :-)

Изображение пользователя MacLeod.

Я не говорю про ответы вида: "ну. эта. если проц умеет 64, то нада брать!" или "на 64 там проблемы и головная боооль".
В чем реальное и ключевое отличие одной от другой? =) Поиском пользоваться можно =)

работа с памятью. (частично реализуется с помощью pae)
работа с командами процессора.
и по мелочам.

Изображение пользователя MacLeod.

С памятью и командами процессора работают обе. А в чем отличие-то? =)

В 32 битной используется 32 битные регистры, адреса, стек
типа
|-ЕАХ------|
|----|-АХ--|
|----|AH|AL|
и т.д
в 64 соответственно другие не помню названия
вродебе PAX
но 64 битный регистр включает в себя 32 битный
кроме AH & AL
типа
|PAX---------------|
|---------|--EAX---|
|-------------|-AX-|
соответственно может обрабатывать числа до 2^64-1 без сигн.
но больше размер адресов
и сответственно нужно больше памяти
вроде как-то так?

Изображение пользователя MacLeod.

Вооот =)
Размер указателя в 64 битной ОС в два раза больше - 8 байт, отсюда и бОльшие накладные расходы памяти.

гмм, и чем это все отличается от моих слов?
что это не является ключевым отличием работы с памятью? и работой с командами процессора?

Это основные отличия. :-)
А уж подробности, как именно оно там работает, я оставлю программистам. Это уже их задача, реализация заданного. :-)

Изображение пользователя MacLeod.

От программистов не зависит размер указателя, он предоставляется операционкой как данность. Размер указателя определяет разрядность ОС и ее отличие от ОС другой разрядности =)
Для любого конечного пользователя или разработчика, который хочет знать, в чем отличие 64 разрядной ОСи, важно понимать, что вся адресация памяти в системе задается этими разрядами (8 байтами), а не 32мя в рамках приложения и не 36ти разрядным костылем PAE при обращении системы к страницам в 32 разрядной ОС.

Изображение пользователя Tonal.

Кроме адресов есть ещё целые числа, которые в С и С++ не имеют фиксированного размера и тоже могут увеличить разрядность.
Так что одними указателями увеличение прожорливости не ограничивается. :)

Я просто оцениваю, насколько гемор от переустановки всего сравним с "плюшками" (играми, написанными нативно под 64 бита и не имеющими 32 битных версий).

если ты хочешь играть в эти игры, то смысл имеет.
разумеется, стоит уточнить, если ли все дрова (в частности, на принтер под 64 бита, ибо под видео точно есть)

Изображение пользователя Flameflower.

Добавлю, что игрушки тоже должны быть 64 разрядные. А то более 2гб памяти не скушают.

Изображение пользователя Aleksandru71.

не, ну почему я уже одну такую знаю.
Xplane 10 linux в steam
собственно, именно она заставлюяет задуматься.
Но я пока летаю в flightgear, благо она есть в репах.

Изображение пользователя MacLeod.

Так это не гемор, а стандартная установка пакета другой архитектуры и ее зависимостей. Из минусов - метров сто дополнительных 32 разрядных либ, что и минусом-то с натяжкой можно назвать. А в приведенной теме вы сами накосячили =)

Изображение пользователя Aleksandru71.

Ну в 32х битке, так накосячить не получится.
И кстати не я накосячил. А кто то накосячил, а я повторил.
Потому что делал по чьему то мануалу, из буквы в букву.

Изображение пользователя agasfer.

люди на 64 битную переходят, а я наоборот- на 32шку спрыгнул.. Оперативки в ноуте три гига и свопилась ужасно при игрушках и тяжелых программах.. На 32-х битной все хватает..
и да- проблем с либами не стало..

Изображение пользователя MacLeod.

На трех гигах - сам бог велел юзать 32-битку =)

Изображение пользователя agasfer.

дык согласен.. но начинал с убунту 10.10 64-х битной и до 12.04 не видел проблем с оперативкой- хватало как-то.. 12.04 уже быстренько так в своп лезло..
14.04 поставил сначала 64-х битную (ну шут его знает- понравился мод Fierta Edition)- все так же.. Пришлось опять 32-х битную..

Раньше пользовался x64, ну процессор amd64 же , чего бы нет =)) Прочитав тему - перешел на 32 и немного опечален. Разницы не заметил, своп как и раньше пустует. (3 гига оперативки). Как выяснилось, на 32бит (хромиум-браузер) пепперфлеш не кажет твитч, приходится смотреть мозиллой с адобефлэш11. В 64бит - все нормально. Конечно, лучше бы твитч вообще не смотреть, но выходит что 64битный пепперфлеш "более полностью" приспособлен для просмотра интернетов, ergo используя 32 я некоторых плюшек лишен, а с 64 - нет (пусть и придется повозиться с установкой сопкаста, который то же бы лучше не смотреть). Имейте ввиду.

есть ли способ обновить мою 32-разрядную версию Ubuntu до 64-разрядной версии? Я использую Ubuntu 9.10.

если нет простого способа, что если я просто скопирую свой дом и /etc каталоги для новой установки, он будет работать?

к сожалению, как и в других ОС, для этого нет пути обновления. Вам почти наверняка нужно будет переустановить.

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

всегда резервное копирование данных, прежде чем что-нибудь!

Я бы не стал просто копировать /etc over в случае незначительных различий между требованиями к конфигурации для 64-битных компиляций пакетов, но принимая копию, а затем diff Инг экземпляр против заново установленного 64-но система работал бы. Скорее всего, количество изменений не является массовым, поэтому делать это и делать необходимые изменения вручную, мы надеемся, не будет больших трудностей.

копирование /etc Как вы предлагаете, должно работать нормально, хотя я бы просто сделать его более обойдемся без паранойи. Копирование /home , основная область беспокойства при переходе от одной установки к другой, скорее всего, будет полностью безопасным.

если вы просто хотите перейти на 64-разрядную версию, чтобы использовать больше оперативной памяти, а не потому, что вам нужно использовать 64-разрядные приложения, вы можете просто использовать 64-разрядное ядро с 32-разрядным пользовательским пространством. Debian фактически предоставляет пакеты ядра A64 в своих репозиториях i386, так что это можно сделать так же просто, как aptitude install linux-image-2.6-amd64 , но Ubuntu, к сожалению, не так, вам придется скомпилировать свое собственное ядро, которое может не стоить времени + хлопот, если вы не так технически опытны (т. е. это is простой, но только если вы собрали свой собственный ядра, так комфортно с процессом). Если вы запускаете 64-битное ядро с 32-битным пользовательским пространством, отдельное приложение все равно может получить доступ только к

3 ГБ (в некоторых случаях только

2 Гб), но к системе в целом (все процессы вместе плюс ядро вещи, как IO кэш и буферы) можно использовать столько, сколько у вас есть. Каждой виртуальной машины VMware считается одно приложение для этих целей - у меня один из моих старых виртуальных хостов таким образом (виртуальные машины использовать

7 Гб в общей сложности с 64-разрядного ядра, 32-битной системы и 32-битной платформы VMware), так как это было быстрее, чем 64-битных ОС обновить, когда я модернизировал станки процессора на 64-разрядный одну и добавил оперативки - я бы предположил, что подобные ВМ решений будет действовать таким же образом слишком.

Читайте также: