45nm 64bit Processor Atom 230  (MSI Wind Board)


Intel のモバイル用CPU atom を 64bite 環境で使用してみます。(Intel D945GCLF2  2008/12/20 update)

テスト OS は WindowsVista Ultimate SP1 x64 と CentOS 5.2 x64 、マザーボードは、MSI製 Wind Bord。
このマザーボード自体はファンレスですが、空気の流れが全く無い状態での利用は難しいようです。

WindowsVista Ultimate SP1 x64、CentOS 5.2 x64、Windows XP x32 のトリプルブート環境でOSをインストール
しましたが、インストール自体は、他の 64bit CPU となんら変わる事もなく、あっけなく完了しました。
(USBメモリーからブートした Fedora9 live CD 32bit版、64bit版 共に支障なく動いています。)
CPUのパフォーマンスはモバイル仕様程度と思いきや、Vista も CentOS も然程ストレスを感じることなく動きます。
流石 45nm プロセスの CPU 性能は、 65nm プロセスの CPU 性能を凌駕する様です。

モバイルCPUが、これほど早く 64bit 対応するとは、5年前には想像も出来ませんでした。
peripheral chip set が、945 ベースであるために発熱量が多い事は否めませんが、ウエラブルコンピュータが
そこまでやって来ている事を実感出来ます。
32nmプロセス デュアルコア 5W 程度の All In One CPUの登場が待ち遠しく思われます。


CentOS 5.2 のスナップショットです。





uname で 64ビット動作していること、/proc/cpuinfo で 2CPU(Hyper-Threading) と認識している事を確認できます。



Windows Vista Ultimate SP1 x64 のスナップショットです。








64ビット動作していること、2CPU(Hyper-Threading)と認識している事を確認できます。



update 2008/8/19

Windows Vista は、パーティション情報を正しく表示できないケースが有るようです。

1台のハードディスクには4つまでのパーティション(プライマリーパーティションと拡張パーティション)を作成できまっすが、Vista の
 diskmgmt は拡張パーティション中の論理パーティションを、プライマリーパーティションと表示しているケースが有りました。
1つのハードディスクに5つのプライマリーパーティションが有ると表示しています。
(HDDが大容量化しているので、もし5つ以上のプライマリパーティションが作成できたら助かりますが、現状のMBRでは不可能です。)


各OSがブートアップした時のパーティションの表示/認識状態
Partition Type File system BootOS:
Vista on Partition 1
BootOS:
CentOS on Partition 3
BootOS:
XP on Partition 4
Partition 1  Primary  NTFS C: /dev/sda1 F:
Partition 2  Primary  NTFS E: /dev/sda2 D:
Partition 3  Extended Logical 1 -  (swap) Primary 不明フメイ /dev/sda5 不明フメイ
Logical 2 ext3 Primary 不明 /dev/sda6 不明
Partition 4  Primary  NTFS D: /dev/sda4 C:

Partition3: /dev/sda3
Logical 1 : /dev/sda5  swap
Logical 2 : /dev/sda6  CentOS 5.2  /boot を含む


Vista の認識状況(diskmgmt)


Windows Vista の diskpart での確認  (此処での Partition の表記は、上記の Partition とは異なります)
    拡張領域の認識:Partition 0  Partition 4、5 は正しく論理パーティションと認識されている
diskpart

DISKPART> select disk 0

ディスク 0 が選択されました。

DISKPART> list volume

Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 C NTFS Partition 20 GB 正常 システム

Volume 1 E NTFS Partition 20 GB 正常
Volume 2 D NTFS Partition 20 GB 正常

DISKPART> list partition

Partition ### Type Size Offset
------------- ------------------ ------- -------
Partition 1 プライマリ 20 GB 1024 KB
Partition 2 プライマリ 20 GB 20 GB
Partition 0 拡張 15 GB 40 GB
Partition 4 論理 2080 MB 40 GB
Partition 5 論理 12 GB 42 GB
Partition 3 プライマリ 20 GB 55 GB

DISKPART> exit

DiskPart を終了しています...



CentOS での認識状況




Windows XP での認識状況(diskmgmt)


Windows XP の diskpart での確認
 (此処での Partition の表記は、上記の Partitionとは異なります)
    拡張領域の認識:Partition 3  Partition 5、6 は正しく論理パーティションと認識されている
diskpart

DISKPART>select disk 0

ディスク 0 が現在選択されているディスクです。

DISKPART>list volume

Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 F NTFS Partition 20 GB 正常
Volume 1 D NTFS Partition 20 GB 正常
Volume 2 C NTFS Partition 20 GB 正常 ブート


DISKPART> list partition

Partition ### Type Size Offset
------------- ------------------ ------- -------
Partition 1 プライマリ 20 GB 1024 KB
Partition 2 プライマリ 20 GB 20 GB
Partition 3 拡張 15 GB 40 GB
Partition 4 論理 2080 MB 40 GB
Partition 5 論理 12 GB 42 GB
Partition 6 プライマリ 20 GB 55 GB

DISKPART> exit

DiskPart を終了しています...

推測の域を出ませんが、 パーティション番号の割り当ては 1 以上と仮定しながら、拡張パーティションをPartition 0 と認識したことに起因して、
拡張パーティション Partition 0 と拡張領域内に存在するPartition 4、Partition 5 との包括関係を正しく処理できなくなり、論理パーティションと
正しく認識出来ているにも関わらず GUI コマンドの diskmgmtは Partition 4、Partition 5 が独立して存在する通常のプライマリパーティション
として処理(表示)したのかも知れません。


マルチブートに関する補足

MBR には GRUB がインストールされています。 この CentOS の GRUB は、/dev/sda6 (/) 配下にある /boot/grub
ディレクトリを参照して起動します。 設定は、/boot/grub/grub.conf に記述します。
Windows vista、Windows XP を起動する時は、チェーンローダーを利用して各パーティションの先頭セクターにある
ローダーでブート用のファイルを読み込ませます。(パーティションの記述方法が 0 から始まることに注意してください)
title Vista
    rootnoverify (hd0,0)
    chainloader +1
title Windows XP
    rootnoverify (hd0,3)
    chainloader +1

この状態で、Vista が選択されると Partition 1 の bootmgr を呼び出すことが出来ます。
また、Windows XP を選択されると Partition 4 の ntldr を呼び出すことが出来ます。
bootmgr は、ntldr を呼び出せますので、Vista の BootMenu に Bcdedit.exe コマンドを使って Windows XP のブート設定を
追加できますが、ntldr からは、bootmgr を呼び出せませんので XP に Vista の起動メニューを追加することは出来ません。


おまけですが、 Solaris 10 x86 でも GRUB が使われています。 Solaris の GRUB も MBR にも Partition にもインストール
する事ができます。
Partition 2に Solaris をインストールする場合、 grub を /dev/sda、/dev/sda2 のどちらかにインストールする事が可能です。
もし、/dev/sda2 に Solaris の grub をインストールした場合は、 CentOS の grub から、 Solaris の grub をチェーンローダーを
利用してカスケード呼び出しする事が可能になります。   MBR -> grub(CentOS) -> grub(Solaris) -> ....
title Solaris 10
    rootnoverify (hd0,1)
    chainloader +1
Solaris の grub からもチェーンローダーを利用して Windows vista、Windows XP を起動する事が出来ます。
…… しつこいので止めますが、同じ設定を Solaris の /boot/grub/grub.conf に記述します。


MBR には、最初に呼び出す boot プログラムが登録されている事が必要ですが、各OSをインストールする度に
書き換えられてしまいますので、OSのインストール後は、MBRを必ずバックアップする様にします。
バックアップは linux の dd コマンドで簡単に行えます。
linux の live CD (fedora 9/10 Live CDなど) を使って MBR をバックアック/リストア するのが手軽です。
dd if=/dev/sda of=MBR-OS_name bs=512 count=1
(SATA HDD のため、 /dev/sd?、 IDEなら /dev/hd? )

復元時は 446バイト(ブートプログラム領域)のみを書き戻します。 これ以降はパーティションの構成情報が格納されて
いますので、誤って壊さないように注意してください。
dd if=MBR-OS_name of=/dev/sda bs=446 count=1


go to TopPage go to CategoryTop