Làm cách nào để nâng cấp từ x86 lên x64 mà không mất cài đặt?


26

Có cách nào dễ dàng để nâng cấp hệ thống lên x64 từ x86 mà không mất cài đặt và phải phân vùng lại không?


Đây là cùng một câu hỏi, nhưng không nên được đánh dấu là trùng lặp, vì cũng có câu trả lời thay thế ở đây: Có thể "nâng cấp" từ bản cài đặt 32 bit lên 64 bit không?
rubo77

Hướng dẫn này thực sự có hiệu quả đối với tôi, mặc dù phải mất rất nhiều thời gian và bạn thực sự cần phải là một chuyên gia Ubuntu / Debian. Rất nhiều gói bị hỏng và bạn phải tự tìm ra cách khắc phục chúng. Không dành cho người yếu tim và đối với hầu hết mọi người (như những người khác được đề xuất ở đây), bạn chỉ nên thực hiện cài đặt sạch và khôi phục cấu hình của mình
David Fraser

Câu trả lời:


19

Bạn chỉ có thể thực hiện cài đặt x86-64 trên đầu cài đặt i386 hiện có của bạn. Không cần định dạng lại hoặc phân vùng lại - trình cài đặt Ubuntu đã hỗ trợ giữ nội dung /homevà (hầu hết) /etc(và các thư mục dữ liệu khác) cho một vài bản phát hành ngay bây giờ.

Điều đó sẽ giúp bạn có được hầu hết các cách đó; bạn sẽ giữ tất cả cấu hình của mình, nhưng bạn sẽ không cài đặt cùng một phần mềm.

Để làm điều đó, hướng dẫn từ câu trả lời này nên hoạt động:

  1. Trước khi cài đặt phiên bản x86-64, hãy kết xuất danh sách các gói hiện đang cài đặt của bạn bằng cách chạy dpkg --get-selections > ~/installed-softwaretrong một thiết bị đầu cuối.
  2. Sau khi cài đặt, khôi phục danh sách các gói đã cài đặt bằng cách chạy sudo dpkg --set-selections < ~/installed-softwaretheo sau sudo apt-get -f install. Có thể sẽ có một số gói không thể được cài đặt, vì có một số gói i386 không có đối tác x86-64 - libc6-686, libc được tối ưu hóa 686 là ví dụ phổ biến.

Bạn đã thử nó chưa?
Mở rộng

Tôi chưa thử cài đặt bản phát hành amd64 qua bản phát hành i386, không. Tôi đã cài đặt qua một cài đặt hiện có mà không cần định dạng lại; mà làm việc
RAOF

Về lý thuyết cũng có thể có các chương trình lưu trữ dữ liệu / bộ nhớ cache / cấu hình khác nhau khi chúng ở trên 32 bit so với 64 bit, nhưng tôi nghĩ hầu hết các chương trình nên an toàn ...
JanC

Vâng. Các chương trình Windows có xu hướng chỉ đổ nội dung của bộ nhớ vào đĩa, điều này gây ra vấn đề này. Các chương trình Linux thường được viết với tính di động cao hơn.
RAOF

1
Bạn có thể sử dụng năng khiếu để làm điều tương tự và cũng loại trừ các gói được cài đặt tự động dưới dạng phụ thuộc. (bạn có thể muốn để cho họ được chọn tự động một lần nữa ;-) tìm kiếm năng khiếu "? và (? cài đặt,? không (? tự động))" -F% p> ~ / cài đặt phần mềm- Sau đó, trên hệ thống mới cài đặt chúng với sudo aptitude install $ (cat ~ / install-software)
Jesse the Wind Wanderer

7

Không. Không phải theo cách nào đó xứng đáng.

Có một số hướng dẫn cung cấp một con đường âm u từ chối từ 32 bit đến 64 bit nhưng hãy tin tôi khi tôi nói rằng tôi đã mày mò với Linux trong nhiều năm tôi chỉ không muốn tiếp tục. Đó là một vụ hack khổng lồ cố tình phá vỡ mọi thứ để đánh lừa hệ thống 32 bit để nhận các gói 64 bit. Nhận một điều sai và bạn phá vỡ cài đặt ... Và có vẻ như nó sẽ mất một thời gian dài.

Sự thật là nó dễ dàng hơn chỉ rất nhiều để sao lưu những điều bạn không thể thay thế ( /etc/, /home/, một phần /var) vào ổ đĩa khác, bật trong 64bit live CD / USB và cài đặt lại. Cài đặt vào SSD của tôi từ USB mất 12 phút lần trước tôi đã làm điều đó.

Khi được cài đặt lại, hãy tạo một người dùng mới và sao chép bất kỳ bit nào trong hồ sơ của bạn mà bạn muốn quay lại. Bạn có thể bỏ lại tất cả hoặc dành một chút thời gian và dọn dẹp kiểu cũ.


Chà, bạn sẽ muốn sao lưu nhiều hơn /etc/homenếu bạn đang sử dụng Apache.
Nathan Osman

6

Nên đơn giản.

  1. Sao lưu thư mục /etc/homethư mục của bạn (Tôi có /homephân vùng riêng, bạn có thể cần thêm thư mục nếu bạn có bất kỳ thư mục tùy chỉnh nào ... hoặc /var/wwwnếu bạn có apache, có thể sao lưu cơ sở dữ liệu nếu bạn có)
  2. Chạy dpkg --get-selections > installed-softwaređể lưu danh sách các phần mềm đã cài đặt, sao lưu tệp installed-software.
  3. Cài đặt phiên bản x64, tạo cùng người dùng.
  4. Khôi phục tập tin /etc and/ home folders and theinstall-software`.
  5. Chạy dpkg --set-selections < installed-softwarerồi chạy dselectđể cài đặt phần mềm đã cài đặt trước đó.

Gần đây tôi đã chuyển sang 64b bằng tay. dpkg --get-selections > installed-softwaređã không làm việc cho tôi do :i386kiến trúc trên một số tên gói. Thay vào đó tôi chạy tập lệnh này:cat installed-software | cut -f1 | sed 's/:i386//g' | while read P; do sudo apt-get install $P; done
philcolbourn

3

Tôi không tin rằng bạn chỉ có thể nâng cấp lên phiên bản Ubuntu 64 bit, bạn sẽ phải định dạng lại phân vùng và cài đặt phiên bản 64 bit từ x64 Live CD.


-1

James nói đúng.

Vì x86 và x64 là các kiến ​​trúc khác nhau, bạn không thể nâng cấp trực tiếp từ cái này sang cái khác mà không xóa sạch phân vùng gốc và cài đặt lại hệ thống.

Một điều bạn có thể (và PHẢI) làm là có các thư mục nơi bạn lưu trữ cài đặt và tệp (thường là / home / yourusername) được thiết lập trong một phân vùng riêng, vì điều này cho phép bạn định dạng hệ thống của mình mà không mất các cài đặt quan trọng, như email của bạn cấu hình Evolution / Thunderbird hoặc bất kỳ loại tệp nào khác.

Nếu bạn làm tương tự cho / usr / bin (ví dụ), thì nó cũng sao lưu tất cả các tệp trong thư mục này theo định dạng hệ thống.


1
Làm rõ câu cuối cùng.
Oli
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.