Nâng cấp Ubuntu từ phiên bản 32 lên 64 bit


14

Có cách nào để nâng cấp phiên bản Ubuntu 32 bit của tôi lên phiên bản 64 bit không? Tôi sử dụng Ubuntu 9.10.

Nếu không có cách đơn giản, nếu tôi chỉ sao chép nhà và /etcthư mục của mình vào bản cài đặt mới thì nó có hoạt động không?


2
Gợi ý: sử dụng etckeepertrên hệ thống cũ và hệ thống mới và sau khi cài đặt tất cả các gói bổ sung ( dselectdpkg -l) được cài đặt trên hệ thống cũ, hợp nhất các thay đổi của bạn so với các tệp cấu hình dist vào hệ thống mới;) ...
0xC0000022L

Câu trả lời:


4

Thật không may, giống như các hệ điều hành khác, không có "đường dẫn nâng cấp" để làm điều này. Bạn gần như chắc chắn sẽ cần phải cài đặt lại.

Đối với việc bảo quản dữ liệu của bạn, sao lưu thư mục chính của bạn sẽ là một ý tưởng tốt cùng với bất kỳ dữ liệu nào khác và nên dễ dàng nhập vào cài đặt mới của bạn.

Luôn sao lưu dữ liệu của bạn trước khi thử bất cứ điều gì!


6

Tôi sẽ không sao chép /etctrong trường hợp có sự khác biệt nhỏ giữa các yêu cầu cấu hình đối với các gói biên dịch 64 bit, nhưng lấy một bản sao và sau đó difflấy bản sao đối với hệ thống 64 nhưng mới cài đặt sẽ hoạt động. Cơ hội là số lượng thay đổi không lớn, vì vậy thực hiện điều này và thực hiện các thay đổi cần thiết theo cách thủ công hy vọng sẽ không gặp khó khăn lớn.

Sao chép /etckhi bạn đề xuất nên hoạt động tốt mặc dù - tôi sẽ chỉ làm điều đó lâu hơn vì lý do hoang tưởng. Sao chép /home, lĩnh vực chính cần quan tâm khi di chuyển từ cài đặt này sang cài đặt khác, có nhiều khả năng là hoàn toàn an toàn.

Nếu bạn chỉ muốn chuyển sang 64 bit để sử dụng nhiều RAM hơn là vì bạn đặc biệt cần sử dụng các ứng dụng 64 bit thì bạn chỉ có thể sử dụng kernel 64 bit với không gian người dùng 32 bit. Debian thực sự cung cấp các gói hạt nhân a64 trong kho i386 của chúng, vì vậy nó có thể được thực hiện đơn giản như aptitude install linux-image-2.6-amd64, nhưng tiếc là Ubuntu không nên biên dịch kernel của bạn mà có thể không đáng thời gian + rắc rối nếu bạn không rằng về mặt kỹ thuật giàu kinh nghiệm (tức này đơn giản, nhưng chỉnếu bạn đã biên dịch kernel của riêng mình trước đó thì hãy thoải mái với quy trình này). Nếu bạn chạy kernel 64 bit với vùng người dùng 32 bit, một ứng dụng riêng lẻ vẫn chỉ có thể truy cập tối đa ~ 3Gb (trong một số trường hợp chỉ là ~ 2Gb), nhưng toàn bộ hệ thống (tất cả các quy trình cùng với công cụ của kernel Bộ đệm và bộ đệm IO) có thể sử dụng nhiều như bạn có. Mỗi VMWare VM được tính là một ứng dụng cho các mục đích này - Tôi chạy một trong những máy chủ VM cũ hơn theo cách này (VM sử dụng tổng cộng ~ 7Gb với kernel 64 bit, userland 32 bit và VMWare 32 bit) vì nó nhanh hơn hơn là nâng cấp hệ điều hành máy chủ 64 bit đầy đủ khi tôi nâng cấp CPU của máy thành máy có khả năng 64 bit và thêm RAM bổ sung - tôi đoán rằng các giải pháp VM tương tự cũng sẽ hoạt động theo cách tương tự.


Không phải giống như sử dụng kernel 'linux-image-server' với PAE được kích hoạt sao?
Kirill V. Lyadvinsky

Theo hiểu biết của tôi, các bộ xử lý tương thích / dựa trên AMD64 không cần phải chuyển đổi giữa các chế độ để chạy mã 32 bit và 64 bit với nhau để không có hiệu quả cao hơn ở đó và không có tính năng lập bản đồ bộ nhớ mà PAE sử dụng hoặc (các ứng dụng 32 bit dường như chỉ sử dụng 4Gb thấp hơn hoặc ít hơn không gian địa chỉ ảo của chúng). Tôi có thể sai, nhưng tôi tin rằng việc trộn mã 32 & 64 bit theo cách này để có thêm RAM có địa chỉ sẽ kém hiệu quả hơn PAE.
David Spillett

6

Tôi đã cài đặt lại máy của mình từ 32bit 10.10 đến 64bit 10.10 vào tháng trước mà không mất bất kỳ dữ liệu nào. Bí quyết duy nhất là chọn các công cụ thay đổi kích thước đĩa, không định dạng toàn bộ đĩa, khi bạn cài đặt lại 64 bit ub Ubuntu 10.10.


+1. Trên thực tế tôi cũng đã thấy điều này được thực hiện (Debian và Ubuntu) và nó dường như hoạt động hoàn hảo.
0xC0000022L

0

Chạy vùng người dùng 32 bit trên kernel 64 bit có thể gây ra sự cố ngay khi các cơ sở hệ thống tham gia. Ví dụ, sử dụng libalsa 32 bit trên kernel 64 bit sẽ gần như hoạt động nhưng khá không đáng tin cậy và không ổn định vì cấu trúc dữ liệu ioctl được xác định trong asound.h có kích thước và cách sắp xếp khác nhau khi được biên dịch với kiến ​​trúc 64 bit và 32 bit.

Vì vậy, sử dụng jackd -d alsa -X alsaraw (hoặc tương đương jackd2 của nó) sẽ hủy bỏ với một xác nhận thất bại khi gọi tiện ích 32 bit trên kernel 64 bit. Hoạt động âm thanh tiêu chuẩn sẽ ít đáng tin cậy hơn vì số lượng bộ đệm bị hiểu sai.

Nói chung, bất kỳ cấu trúc dữ liệu hạt nhân nào cũng phải được khai báo theo cách kích thước của chúng không khác nhau giữa các hạt nhân 32 và 64 bit, hoặc mã 32 bit phải thông minh về việc sử dụng các định nghĩa cấu trúc khác nhau tương ứng với kiến ​​trúc hạt nhân.

Vì vậy, tất cả trong tất cả, bạn có khả năng tốt hơn là cài đặt lại từ đầu và chuyển phân vùng / thư mục nhà của bạn.


Điều này đã được hỏi (và trả lời) hơn 7 năm trước. Bạn có thể nói rõ hơn một chút về những thông tin mới mà bạn đang mang theo không? Xin vui lòng xem Làm thế nào để trả lời và đi tour của chúng tôi .
Burgi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.