kondouの日記: Windows7 と Ubuntu 11.10 のデュアルブート 2
前提条件。
Windows 7 は 64bit版
Ubuntu 11.10 は 日本語 Remix(32bit 版) PAEカーネルなので32GBメモリ認識できた。
マザーボードは GIGABYTE の GA-Z68MX-UD2H-B3(rev. 1.3) じつは、こいつの BIOS が UEFI ではなく、旧来の BIOS。Touch BIOS(Hybrid EFI Technology)と書いてあったので UEFI かと思ったら違う。
ディスクは、256GB SSD, 3TB HDD, 3TB HDD の構成。メモリは 8x4=32GB。
現象。
2.2TB 以上のディスクが繋がった状態で、Windows 7 をインストールすると、インストールしたディスクのパーテションテーブルは GPT になり、先頭に EFIパーテション(fat32)、その次に、マイクロソフトのブートローダかなにかのパーテション、その次に、Windows 7 本体のパーテションが作られる。
この現象は、あらかじめディスクを MBR パーテションテーブルにしておいても変換される。また、BIOS に、CDROM/DVD を EFI ブートさせるか、Non-EFI ブートさせるかのメニューがあるが、どちらを選んでもこうなる。
Ubuntu 11.10 は、GPT 状態でインストールされた Windows 7 のディスクの空き領域にインストールしようとすると、正常にブートローダをインストールできない。
調べてみると、BIOS から GPT 上の OS をロードするには、MBR跡地のブートローダでは力不足で、先頭パーテション(fat)上のブートローダが仕事を引き継ぐ必要がある。事実、Windows 7 はそのような構成になっているが、Ubuntu 11.10 のインストーラは、そのような構成ができない。手動でそのような環境を構築しようとしたが、GRUB の、fat上のローダイメージが見つからない。
回避策。
3TB HDD の結線を外し、256GB SSD だけにして、MBR パーテションテーブルにして、Non-EFI で Windows 7 のインストール DVD を起動したら、MBR パーテションテーブルの上に、先頭が MSブートローダ、その次に Windows 7 が入った。
さらに、Ubuntu 11.10 をインストールしたら、その後ろのパーテションにインストールされて、インストーラが、正しく、GRUB とメニューをインストールした。
その後、3TB HDD を接続しても問題なく起動、利用できる。
そもそも、デュアルブートというものが、過去の遺物。最近のCPUパワー、メモリ容量があれば、Windows 7 も Linux も 仮想マシン上で同時に並行動作させることが可能なはず。vmware の今のバージョンでは、仮想マシンに割り当てるスレッド数が固定的なので、常時並行動作させるのはもったいないが、割当スレッドも負荷に応じて可変させるようになっていれば、常時並行動作しても問題なくなるだろう。
この PC も、常時並行動作ではないが、Linux 側しか起動しないようにして、Windows が必要なときは vmware 上から使うようにする予定。本当は、今回インストールしたパーテションを、そのまま vmware で使えれば便利。また、vmware で、仮想HDDではなく、パーテションから直接起動するときは root 権限が必要なのもメンドウで改善の余地あり。
やっと OS がインストールできたので、環境構築、引越し作業にかかれる。
Linux 側は、今回は Ubuntu 11.10 を使ったがこだわりがあるわけではない。Linux Mint, Ubuntu 12.04LTS, Vine 6.1 などを評価してゆきたい。
10年後は一般人向けPC というものは無くなってるかも。
ワケワカ… (スコア:0)
なんでそんなわけのわからん回避してるのか知らんけど
わざわざ結線を外す必要などなく、起動ドライブが256GBのSSDなのなら
初めにLiveLinux等でSSDにMBRでパーティションを切って0x7
つまりHPFS/NTFS/exFATを選んでおけば良いだけ
後はWindowsのインストーラが勝手に見つけて良きに図らってくれる
MBRでしか起動できないのは、この場合Windowsのみだし
当のWindowsですら、一旦起動してしまえば後はGUIDパーティションであっても問題ないのだから
1ディスク1パーティションでもなんでも、インストールしてから好きに切れば良い
またデュアルブートにしたいなら、WindowsのブートローダからGRUBのブートローダを選択できるようにし
GRUBは単なるLinux選択器として使うように二段ブートするのが定説、そうしないとWindowsが時たまゴネる
更にいうと、何如にPAEカーネルだろうと32bitのLinuxから、64bitのWindowsをゲストにすることはできない
それにやって見ればわかるが、USBの接続/切断や、Bluetooth共有時の問題、プリンタ共有問題など
Linuxをホストにするのは実は色々と面倒だし、ゲストWindowsのパフォーマンスも殆んど上がらない
一方でVMware BaloonやVMXNET3、PVSCSI等、WindowsホストからLinuxゲストのパフォーマンスを上げるのは実に容易
だから普通はWindowsホストにして、適当なパーティションをLinuxゲストに丸ごと管理させる
とはいえこのやり方にも問題はあって、共有ディスクの扱いが微妙になったりする
両者、普通にコピーするような時は問題ないのだが、FastCopy的なコピーをすると正常に完了したように見えて壊れてたりする
通常のSamba先のext4に、experimental時代のSMB2でWindows7からFastCopyで書き込んだって、そんな事は起きないのだから
VMwareの共有ディスクはちょっとどこかおかしいのだろう
VMwareの共有ディスクはcifsマウント版だろうと使わずに、Sambaを立ち上げて共有することを勧める
Re:ワケワカ… (スコア:1)
Live Linux で、MBR パーテションテーブルを作っておいても、3TB HDD が横につながっていたら、Windows 7インストーラが GPT に変えてしまっていたのです。パーテションテーブルだけでなくパーテションをきちんと手動で切って、ファイルシステムを指定しておけばよかったのでしょうか。
Windows のブートローダでないと 7 が時々ゴネるというのは認識していない問題でした。Windows ブートローダは、10年前から更新されていない知識では手なずけるまでたいへんです。
32bit Linux ホストのWindows guest の問題はご指摘のとおりです。手にしたUbuntu 11.10 日本語Remix で 32bit 推奨と書いてあったので、つい。12.04LTSでは64bit 推奨になるみたいなので、それを機に入れ替えるつもりです。
どっちをホストにするかは、並行使用ではなく、メインLinux たまにWindows なので、Linux ホストにしてみました。パフォーマンス問題は使用頻度なりで許容していきます。スレッド割り当てがフレキシブルになったら、並行使用でもまったく気にならないと思うので今後に期待です。