32bitホストOSでも64bitゲストOS with VirtualBox
久しぶりに触ってみると、32bitなホストOS上で64bitなゲストOSが動くようになっていた。
いや、この機能はちょっと前にも聞いた気がするが、以前はMac OS Xではダメだった。
今のVirtualBox 3.xではできるようになっているね。
ゲストOSとしてLinuxを起動したところ。
unameをしたら64bitカーネルの証である「x86_64」が見えている。
[chcoopu@bayonetta ~]$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.4 (Tikanga) [chcoopu@bayonetta ~]$ cat /etc/enterprise-release Enterprise Linux Enterprise Linux Server release 5.4 (Carthage) [chcoopu@bayonetta ~]$ uname -a Linux bayonetta.bayonetta.ps3 2.6.18-164.el5 #1 SMP Thu Sep 3 04:15:13 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux [chcoopu@bayonetta ~]$
アプリの方も64bitだね。
[chcoopu@bayonetta ~]$ file /usr/bin/ssh /usr/bin/ssh: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, stripped [chcoopu@bayonetta ~]$
ひるがえってホストOSの方はまだOS X 10.5。なので64bitカーネル自体がない。
MyMac:~ chcoopu$ file /mach_kernel /mach_kernel: Mach-O universal binary with 2 architectures /mach_kernel (for architecture i386): Mach-O executable i386 /mach_kernel (for architecture ppc): Mach-O executable ppc MyMac:~ chcoopu$
(たぶん)libSystemががんばっているので、64bitアプリは扱えているんだろう。
MyMac:~ chcoopu$ ls -l /usr/lib/libSystem.dylib lrwxr-xr-x 1 root wheel 17 8 31 2008 /usr/lib/libSystem.dylib@ -> libSystem.B.dylib MyMac:~ chcoopu$ MyMac:~ chcoopu$ file /usr/lib/libSystem.B.dylib /usr/lib/libSystem.B.dylib: Mach-O universal binary with 4 architectures /usr/lib/libSystem.B.dylib (for architecture ppc7400): Mach-O dynamically linked shared library ppc /usr/lib/libSystem.B.dylib (for architecture ppc64): Mach-O 64-bit dynamically linked shared library ppc64 /usr/lib/libSystem.B.dylib (for architecture i386): Mach-O dynamically linked shared library i386 /usr/lib/libSystem.B.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64 MyMac:~ chcoopu$
これでまた楽しい遊び方が増えたよ。
実際には、ハイパーバイザでもない環境で64bit使っても、メモリが多く使える以外にはテスト環境としての使い道しかないから、使わないだろうけど。
それよりも、VirtualBox 2.xの頃はちゃんと使えていたMacBook内蔵のAirMac(無線LAN)でのブリッジが使えないのが微妙につらい。設定はできるが、通信がダメ。
設定間違っているかな?
ブリッジ接続ではなく、NAT接続にすれば、ゲストOSとインターネットの接続はオK。