32/64ビットモードはどう制御できるのですか?

SnowLeopardでは完全64ビット化ということですが、現在どのようなモードで稼働しているのか?32と64ビットモードの切り替えはどうすればいいのかわかりません。ちなみに私は、2.26GHz Intel Core 2 Duoプロセッサを採用したMacMiniです。アクティビティモニタで見ると、かなりのプロセスが64ビットと表示されています。オンラインソフトの32- or 64-bit Kernel Startup Mode Selectorでみると、カーネルは32ビットで稼働していると表示されます。このあたりの詳しい解説をご存じでしょうか?

投稿日 2009/09/01 09:16

返信
返信: 53

2010/05/01 02:41 ぴっぴ への返信

当方ではdefai;tsの使用で問題なく32と64-bitが切り替わりますがお仰せのようにPLIST本来の形式とは違います。

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.Boot Kernel\ Flags -string arch=x86_64

sudo systemsetup -setkernelbootarchitecture x86_64


それは最後に正しいコマンドで上書きしているからです。

sudo systemsetup -setkernelbootarchitecture x86_64

だけで設定できるのですから defaults write の実行は不要だと思います。

2010/05/01 13:54 HAL への返信

Kernel FlagsはDefaultの起動を書き込めます。現行機種なら利用できsystemsetupはこれを弄りません。

# Kernel Flags, String, arch=x86_64にして、3+2を押さえて起動すれば32-bitで起動できる。


追記 Scriptの実行でboot.efiを入れる、32-bitと64-bit起動の切り替え。3+2や6+4を押さえて起動を可能にしました。これにより32-bit 起動をしていても好きな時に6+4を押さえて起動やその逆も可能です。現行機種なら出来る事だとは思いますが...

2010/05/02 04:58 ぴっぴ への返信

Kernel FlagsはDefaultの起動を書き込めます。現行機種なら利用できsystemsetupはこれを弄りません。


この文の意味がとれませんが・・・

現行機種であればKernel Flagsの設定は必要なく

sudo systemsetup -setkernelbootarchitecture x86_64

の実行のみで、64bitモードでの起動に固定することが可能です。他の設定は必要ありません。


MacBook Pro (Mid2010) 13", Mac OS X 10.6.3

2010/05/02 05:05 ぴっぴ への返信

追加2 古いProperty List Editor 2.2でDumpを取ってdefaultsで一括入れ替える。あるいは全てをdefaultsの実行で行い6+4 起動すればOKです。これを実行しないと32-bit起動になります。


それは、defaultsを実行することで起動時に読み込みできないフォーマットで保存されてしまったためです。

Property List Editorでは一見同じに見えても、plistの形式にはテキストとバイナリの二種類存在します。

com.apple.Boot.plistはテキスト形式でないと起動時には読み込まれません。defaultsで設定を書き換えるとバイナリ形式で保存されます。

それがdefaultsコマンドを使わないようにという理由です。

# defaultsコマンドを使った後にsystemsetupを使えばテキスト形式で保存されるので設定が読み込まれるようになります。

2010/05/02 21:26 ni_ki への返信

Snow Leopardの初期の頃にあった方法で現在でも動きます。ただしEditorで行う必要があります。Booting into 64-bit mode sudo nvram boot-args="arch=x86_64"でも可能ですが、sudo nvram boot-args="-v"に注意しないと…


sudo systemsetup -setkernelbootarchitecture i386, x86_64, defaultのほうが便利です。3+2, 6+4を押さえて起動が使える。

# 上記の2つの方法で、3+2, 6+4を押さえて起動は行った事がないので不明です。

2010/05/02 22:08 ぴっぴ への返信

ぴっぴ さんによる書き込み:


Snow Leopardの初期の頃にあった方法で現在でも動きます。

なるほど、そうでしたか。てっきり私が、勘違いして設定したのかと思いました。ありがとうございます。

sudo nvram boot-args="arch=x86_64"でも可能ですが、sudo nvram boot-args="-v"に注意しないと…

試したところ、"arch=x86_64 -v"で両方、有効なようです。試してませんが"arch=x86_64 -v -x"もいけるのではないかと思います。

# 上記の2つの方法で、3+2, 6+4を押さえて起動は行った事がないので不明です。

PRAMの方は試しませんでしたが、KeyがarchでVauleがx86_64の方は、起動時にキーボードで切り替え可能です。

2010/05/02 22:15 ni_ki への返信

こんなのを発見しました。


10.6.3 Delta, Comboで入る…

/usr/standalone/i386/boot.efi 100644 0/0 320176 4222051071


/usr/standalone/bootcaches.plistには...

PostBootPaths- MKext2 - Archs

Item 0 String i386

Item 1 String x86_64


/Library/Preferences/SystemConfiguration/com.apple.Boot.plist

これを消去しても起動できるのは上記を使うのかも知れません。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

32/64ビットモードはどう制御できるのですか?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。