Tôi có MacBook Pro (5,1) với 4GB bộ nhớ chạy 10A432 - nhưng nó chạy kernel 32 bit.
Có ai biết tại sao nó không chạy ở chế độ 64 bit không và làm cách nào tôi có thể làm như vậy?
Tôi có MacBook Pro (5,1) với 4GB bộ nhớ chạy 10A432 - nhưng nó chạy kernel 32 bit.
Có ai biết tại sao nó không chạy ở chế độ 64 bit không và làm cách nào tôi có thể làm như vậy?
Câu trả lời:
Trong bài phê bình về báo tuyết của Jon Siracusa, ông đã thảo luận về quá trình chuyển đổi 64 bit .
Phiên bản ngắn là: vì không có 'chế độ hỗn hợp', hạt nhân 64 bit yêu cầu Trình điều khiển và tiện ích mở rộng hạt nhân 64 bit .
Vì những thứ này chưa được phổ biến rộng rãi, Apple đã chọn mặc định là 32 bit để tránh phá vỡ nhiều thứ.
Hướng dẫn từ bài viết:
Đối với tất cả các máy Mac có khả năng K64, hãy khởi động đồng thời giữ các phím "6" và "4" để chọn kernel 64 bit. Để có giải pháp lâu dài hơn, hãy sử dụng lệnh nvram để thêm
arch=x86_64
vàoboot-args
chuỗi của bạn hoặc chỉnh sửa tệp/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
và thêmarch=x86_64
vào chuỗi Kernel Flags:
...
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
...
Để quay lại kernel 32 bit, giữ phím "3" và "2" trong khi khởi động hoặc sử dụng một trong các kỹ thuật ở trên, thay thế "x86_64" bằng "i386".
Không có nhiều lợi ích khi chạy kernel 64 bit trong Snow Leopard, không giống như hầu hết các hệ điều hành khác. Trong Windows và Linux, bạn cần kernel 64 bit để chạy các ứng dụng 64 bit. Trên OS X, bạn có thể chạy các ứng dụng 64 bit với kernel 32 bit.
Hầu hết mọi người dường như lo ngại rằng việc chạy kernel 32 bit trong OS X sẽ hạn chế hiệu năng hoặc khả năng của máy của họ, nhưng trên thực tế, điều này không có tác động đáng kể đến vật chất. Hạt nhân 32 bit hỗ trợ chạy các ứng dụng 64 bit và các ứng dụng đó có không gian địa chỉ 64 bit ảo được ánh xạ tới không gian địa chỉ PAE 36 bit bởi hạt nhân, vì vậy chúng hoạt động giống như trên 64- hạt nhân bit, chỉ với việc sử dụng bộ nhớ bị hạn chế hơn và I / O được ánh xạ bộ nhớ đến phạm vi có thể sử dụng. Cách Apple xử lý không gian địa chỉ này trong kernel 32 bit dẫn đến giới hạn 32 GB cho bộ nhớ vật lý, phá vỡ giới hạn 4 GB 32 bit bằng PAE. Hiệu năng thông minh không có nhiều lợi ích, nếu có một số đo có thể đo được bằng cách sử dụng kernel 64 bit có bộ nhớ 32 GB trở xuống. Nếu bạn muốn,6và 4chìa khóa khi khởi động. Tôi nghi ngờ bạn sẽ thấy và sự khác biệt đáng kể trong hiệu suất.
Vấn đề khác là khả năng tương thích với trình điều khiển thiết bị, phần mở rộng kernel và phần sụn của thiết bị. Đối với trình điều khiển thiết bị và phần mở rộng kernel, chúng cần khớp với bit-ness, được biên dịch lại hoặc viết lại (đặc biệt nếu chúng có bất kỳ phần lắp ráp nào, phần nào phổ biến trong các loại mã đó). EFI của Apple ban đầu chỉ có 32 bit và gần đây một số model có phần mềm 64 bit. Để hệ điều hành nói chuyện với phần sụn, tính chất bit của kernel và EFI phải khớp. Những điều liên quan đến việc nói chuyện với EFI là những việc như chọn đĩa khởi động hoặc một số điều khiển quản lý năng lượng (như nếu bạn có nhiều hơn một cài đặt OS X và bạn cần thoát khỏi trạng thái ngủ sau khi hết pin).
Vì vậy, một hạt nhân 64 bit sẽ là một lợi ích? Hiệu năng không thực sự trong thực tế và tôi có thể thấy sự khôn ngoan khi Apple sử dụng hạt nhân 32 bit cho hầu hết các máy chạy Snow Leopard để có khả năng tương thích tốt hơn.
Theo những gì đã bị rò rỉ cho MacRumors (vì các tài liệu chính thức nằm dưới NDA) ( Nguồn ) chỉ các máy tính sau hỗ trợ chạy kernel 64 bit:
Chỉ các XServes sử dụng kernel 64 bit theo mặc định.
Nếu bạn khởi động máy tính đang giữ phím 6và 4bạn sẽ khởi động kernel 64 bit hoặc theo một nguồn khác phá vỡ NDA của họ, bạn có thể chỉnh sửa /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
thêm cờ kernel hoặc thực hiện trong nvram.
Thật không may, liên kết bị xáo trộn của Jason đã che giấu một thông tin rất hữu ích:
ioreg -l -p IODeviceTree | grep firmware-abi
Máy Mac EFI 64 bit sẽ báo cáo
| | "firmware-abi" = <"EFI64">
Cho đến khi Snow Leopard được phát hành, chúng tôi sẽ không biết hệ thống nào sẽ hỗ trợ chế độ 64/32 bit ... Nhưng tất cả các dấu hiệu cho thấy Snow Leopard sẽ trong suốt với sự hỗ trợ của kernel ...
Nhưng, than ôi, xin lỗi vì là "kẻ hạ bệ", nếu bạn là thành viên đã đăng ký, diễn đàn Appleseed thảo luận về cách buộc kernel vào chế độ 64 bit. Mặt khác, nếu bạn đã nhận được Snow Leopard ở nơi khác, đừng lo lắng về nó.
Bản phát hành của Snow Leopard ở ngay góc ...
Không sao, đây là lý do:
SL 32 bit S run chạy các ứng dụng 64 bit; SL tương thích 64 bit bất kể bạn khởi động phiên bản kernel nào
SL ngay cả khi được khởi động với kernel 32 bit vẫn có thể chạy các ứng dụng 64 bit và xử lý hơn 4GB RAM
Lý do bạn cần kernel 64 bit là nếu kernel cần để giải quyết hơn 32 GB RAM (do đó, nó mặc định trên Xserve) hoặc bạn chỉ có kext 64 bit (nhà phát triển)
Hạt nhân 64 bit không làm cho máy tính của bạn nhanh hơn một cách kỳ diệu; trừ khi bạn cần nhiều hơn 32 GB RAM (dù sao tôi cũng chỉ sử dụng Xserves), bạn cũng không cần nó để giải quyết các lý do
bằng cách đặt mặc định 32 bit trên các hệ thống tiêu dùng và cung cấp cho các nhà phát triển và tùy chọn kernel 64 bit, Apple vẫn giữ được tính tương thích tối đa VÀ tính linh hoạt tối đa
64 bit chủ yếu là một tùy chọn nhà phát triển; họ có thể sử dụng nó để kiểm tra trình điều khiển / kexts 64 bit mới của mình để đảm bảo chúng hoạt động với kernel 64 bit
Theo mặc định và trích dẫn từ Snow Leopard tải kernel 32 bit