スポンサーサイト
Win ⇔ Linux 計画
デュアルブート環境にして、
片方のOSを起動してる間に
もう片方のOSに(リブートせずに)アクセス出来たら
色々便利じゃない? というお話
※激しく注意※
過去の記憶をうろ覚えで書き殴ったものなので
間違いがあるかもしれません。
また、コマンドの表記は全て自分の環境に依存しています。
あくまで備忘録の位置づけでメモメモ
用意したもの
・Windows2000 インストールCD
→元々これに入れてたWindows
・Ubuntu8.04 インストールCD
→公式サイトからローカライズ版isoをDLして焼く
・VirtualBox
→仮想マシン (公式サイト)
・Gparted LiveCD
・ノートPC PenM1.5G メモリ1G HDD60GB
本当ならインストールHDDを分けた方が良いんだろうけど
ノートPCにそんな無理を強いちゃいけない。
1.Windowsを普通にインストール
ただし1パーティションで。
Ubuntuが半強制的に2パーティションでインストールされるので
1つのHDDをあんまり細かく分けたくなかった
2.GParted LiveCDでWin領域を全体の半分に縮める
日本語で起動しない方が良さげ
文字化けして読めない。
…というか、もしかしてUbuntuにデフォルトで
GParted入ってた?
3.空けた領域にUbuntuを入れる
「最大の空き領域を使用」でインストール。
これで次回起動時にGrubから起動OSを選択出来るようになる
祝・デュアルブート
4.Ubuntuを起動してVirtualBoxをインストール
作業時点での最新版は 1.6.0 。
Synapticパッケージマネージャで特に何の問題もなく
インストール完了
※追記の注釈※
この記述から分かる通り、かなり古いバージョンでの話です。
特にver3.0以降だと(自分の環境では)VBから起動出来なくなりました。
ver2.0台までは動作を確認しています。
5.Windowsにアクセスするための準備
まずはWindowsが入ってるパーティションが
アンマウントされていることを確認。
その後端末から
dd if=/dev/sda of=windows.mbr bs=512 count=1
と入力してWindowsのMBRをゲット。
windows.mbrはコマンド入力時点での作業ディレクトリに保存される。
要するにハードディスクの先頭512バイトをコピーして保存?
コレが無いとVirtualBoxからWindowsを起動出来ない
6.Windowsにアクセスするための起動ディスク作成
sudo VBoxManage internalcommands createrawvmdk -filename ./windows.vmdk -rawdisk /dev/sda -partitions 1 -mbr ./windows.mbr -relative
(-relativeは要らないかもしれない…)
-rawdiskの後ろにはwindowsが入ったHDDを指定。
-partitionsの後ろにはwindowsが入っているパーティションを指定。
これで「windows.vmdk」というファイルが
作業ディレクトリに作られる。
これがUbuntuとWindowsの架け橋となるVB用起動ディスク。
多分sudoでないと作れない。
しかしsudoで作ったwindows.vmdkはroot権限でないと
アクセス出来なくなってしまう(VBで開けない)。
権限の変更とか何それ!分からねーよ!という場合、
一番簡単な解決方法は
USBメモリ辺りにいったんsudoでコピー(cp)してまた戻すこと。
…なのかな?どうみてもchownの方が簡単です本当にry
ファイルブラウザで見てwindows.vmdkのアイコンから
管理者権限っぽいオレンジのマークが消えていたらOK
7.VirtualBox起動、初期設定
設定方法はあちこちに詳しい説明が書かれてあるので省略
起動ディスクに6.で作ったwindows.vmdkを指定
これでUbuntuからHDD内のWindowsを起動出来るはず
8.再起動→Windowsを起動してVirtualBoxをインストール
公式サイトからインストーラをDLしてインストール
9.Ubuntuにアクセスするための起動ディスクを作成
コマンドプロンプトを立ち上げ、
cdでVirtualBoxのインストールフォルダまで移動
初期設定では多分 C:\Program Files\Sun\xVM VirtualBox
移動したらまず以下のコマンドを入力
VBoxManage internalcommands listpartitions -rawdisk \\.\PhysicalDrive0
そしたらこんなメッセージが出て来る。はず
( \\.\PhysicalDrive0 は Ubuntuで言う所の /dev/sda に相当)
VirtualBox Command Line Management Interface Version 1.6.0
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.
Number Type StartCHS EndCHS Size (MiB) Start (Sect)
1 0x07 0 /1 /1 1023/254/63 31251 63
5 0x83 1023/254/63 1023/254/63 24858 64003023
6 0x82 1023/254/63 1023/254/63 1121 114913008
Numberに注目。
1→Win2000のインストールパーティション
5→Ubuntuのインストールパーティション
6→Ubuntuのswap領域
2,3,4はどこ行った。まあいいや
大事なのはUbuntuが「5」と「6」に入っていること
(他のNumberにインストールされる可能性もままある)
VBoxManage internalcommands createrawvmdk -filename ./linux.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 5,6
こう打ち込むと作業ディレクトリ(=VBのインストールフォルダ)に
linux.vmdkが生成される。
これがWindows版架け橋起動ディスク
-relativeオプションはLinuxホスト専用なので付けたらエラーが出ます
この辺、別のHDDを用意してそっちにUbuntuを入れた場合は
\\.\PhysicalDrive1になったり -partitionsの引数が変わったりするんだろうなあ
その場合も2つ上のコマンドで調べればOK
起動ディスク生成に成功すると表示されるメッセージは以下の通り
VirtualBox Command Line Management Interface Version 1.6.0
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.
RAW host disk access VMDK file ./linux.vmdk created successfully.
10.VirtualBox起動、初期設定
Ubuntuでの作業と同様、
起動ディスクにlinux.vmdkを指定
------------------------
例えばUbuntuからWindowsにGuestAdditionsをインストールすると
Windowsを単体で起動した場合でもしっかり「プログラム」の中に
GuestAdditionsが鎮座ましましている。
Ubuntuから下手にWindowsを弄ると本物(?)のWindowsも影響を受けるので注意
逆も然り。
Linux100%さんにはこの辺りを詳しく特集してほしい
面白いと思うんだけどなあ
VirtualBoxでデュアルブートOS間のやり取りを実現!って
VB上の窓からカーソルが抜け出せなくなった!とか
(↑キーボード右のCtrlキーを押す ※デフォルト)
キーボード入力を受け付けてくれない!とか
(↑scim-bridge-client-qtをapt-getで入れる)
sudoでないとVBが起動出来ない!とか
(↑vboxuserというグループを作ってユーザ追加)
Ubuntuから起動したwin2000上でUSBが使えない!とか
(↑http://nstage.ddo.jp/pukiwiki/index.php?OS%2FVirtualBox)
とにかくUSBが使えない!とか
(一度USBを抜いたりVBを終了したりすると認識されることアリ)
確実に何かしらの問題にぶち当たる点が泣き所か…
ホストがWindowsの場合の参考資料が少なすぎて泣いた
Linuxホスト派の勢力がすんごい
参考リンク
http://www.nofuture.tv/index.rb?VirtualBoxMemo
http://nstage.ddo.jp/pukiwiki/index.php?OS%2FVirtualBox
あと公式ユーザマニュアルの9.9節
※追記
別のPCでも頑張ってみた
http://megas.blog9.fc2.com/blog-entry-969.html
片方のOSを起動してる間に
もう片方のOSに(リブートせずに)アクセス出来たら
色々便利じゃない? というお話
※激しく注意※
過去の記憶をうろ覚えで書き殴ったものなので
間違いがあるかもしれません。
また、コマンドの表記は全て自分の環境に依存しています。
あくまで備忘録の位置づけでメモメモ
用意したもの
・Windows2000 インストールCD
→元々これに入れてたWindows
・Ubuntu8.04 インストールCD
→公式サイトからローカライズ版isoをDLして焼く
・VirtualBox
→仮想マシン (公式サイト)
・Gparted LiveCD
・ノートPC PenM1.5G メモリ1G HDD60GB
本当ならインストールHDDを分けた方が良いんだろうけど
ノートPCにそんな無理を強いちゃいけない。
1.Windowsを普通にインストール
ただし1パーティションで。
Ubuntuが半強制的に2パーティションでインストールされるので
1つのHDDをあんまり細かく分けたくなかった
2.GParted LiveCDでWin領域を全体の半分に縮める
日本語で起動しない方が良さげ
文字化けして読めない。
…というか、もしかしてUbuntuにデフォルトで
GParted入ってた?
3.空けた領域にUbuntuを入れる
「最大の空き領域を使用」でインストール。
これで次回起動時にGrubから起動OSを選択出来るようになる
祝・デュアルブート
4.Ubuntuを起動してVirtualBoxをインストール
作業時点での最新版は 1.6.0 。
Synapticパッケージマネージャで特に何の問題もなく
インストール完了
※追記の注釈※
この記述から分かる通り、かなり古いバージョンでの話です。
特にver3.0以降だと(自分の環境では)VBから起動出来なくなりました。
ver2.0台までは動作を確認しています。
5.Windowsにアクセスするための準備
まずはWindowsが入ってるパーティションが
アンマウントされていることを確認。
その後端末から
dd if=/dev/sda of=windows.mbr bs=512 count=1
と入力してWindowsのMBRをゲット。
windows.mbrはコマンド入力時点での作業ディレクトリに保存される。
要するにハードディスクの先頭512バイトをコピーして保存?
コレが無いとVirtualBoxからWindowsを起動出来ない
6.Windowsにアクセスするための起動ディスク作成
sudo VBoxManage internalcommands createrawvmdk -filename ./windows.vmdk -rawdisk /dev/sda -partitions 1 -mbr ./windows.mbr -relative
(-relativeは要らないかもしれない…)
-rawdiskの後ろにはwindowsが入ったHDDを指定。
-partitionsの後ろにはwindowsが入っているパーティションを指定。
これで「windows.vmdk」というファイルが
作業ディレクトリに作られる。
これがUbuntuとWindowsの架け橋となるVB用起動ディスク。
多分sudoでないと作れない。
しかしsudoで作ったwindows.vmdkはroot権限でないと
アクセス出来なくなってしまう(VBで開けない)。
権限の変更とか何それ!分からねーよ!という場合、
一番簡単な解決方法は
USBメモリ辺りにいったんsudoでコピー(cp)してまた戻すこと。
…なのかな?
ファイルブラウザで見てwindows.vmdkのアイコンから
管理者権限っぽいオレンジのマークが消えていたらOK
7.VirtualBox起動、初期設定
設定方法はあちこちに詳しい説明が書かれてあるので省略
起動ディスクに6.で作ったwindows.vmdkを指定
これでUbuntuからHDD内のWindowsを起動出来るはず
8.再起動→Windowsを起動してVirtualBoxをインストール
公式サイトからインストーラをDLしてインストール
9.Ubuntuにアクセスするための起動ディスクを作成
コマンドプロンプトを立ち上げ、
cdでVirtualBoxのインストールフォルダまで移動
初期設定では多分 C:\Program Files\Sun\xVM VirtualBox
移動したらまず以下のコマンドを入力
VBoxManage internalcommands listpartitions -rawdisk \\.\PhysicalDrive0
そしたらこんなメッセージが出て来る。はず
( \\.\PhysicalDrive0 は Ubuntuで言う所の /dev/sda に相当)
VirtualBox Command Line Management Interface Version 1.6.0
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.
Number Type StartCHS EndCHS Size (MiB) Start (Sect)
1 0x07 0 /1 /1 1023/254/63 31251 63
5 0x83 1023/254/63 1023/254/63 24858 64003023
6 0x82 1023/254/63 1023/254/63 1121 114913008
Numberに注目。
1→Win2000のインストールパーティション
5→Ubuntuのインストールパーティション
6→Ubuntuのswap領域
2,3,4はどこ行った。まあいいや
大事なのはUbuntuが「5」と「6」に入っていること
(他のNumberにインストールされる可能性もままある)
VBoxManage internalcommands createrawvmdk -filename ./linux.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 5,6
こう打ち込むと作業ディレクトリ(=VBのインストールフォルダ)に
linux.vmdkが生成される。
これがWindows版架け橋起動ディスク
-relativeオプションはLinuxホスト専用なので付けたらエラーが出ます
この辺、別のHDDを用意してそっちにUbuntuを入れた場合は
\\.\PhysicalDrive1になったり -partitionsの引数が変わったりするんだろうなあ
その場合も2つ上のコマンドで調べればOK
起動ディスク生成に成功すると表示されるメッセージは以下の通り
VirtualBox Command Line Management Interface Version 1.6.0
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.
RAW host disk access VMDK file ./linux.vmdk created successfully.
10.VirtualBox起動、初期設定
Ubuntuでの作業と同様、
起動ディスクにlinux.vmdkを指定
------------------------
例えばUbuntuからWindowsにGuestAdditionsをインストールすると
Windowsを単体で起動した場合でもしっかり「プログラム」の中に
GuestAdditionsが鎮座ましましている。
Ubuntuから下手にWindowsを弄ると本物(?)のWindowsも影響を受けるので注意
逆も然り。
Linux100%さんにはこの辺りを詳しく特集してほしい
面白いと思うんだけどなあ
VirtualBoxでデュアルブートOS間のやり取りを実現!って
VB上の窓からカーソルが抜け出せなくなった!とか
(↑キーボード右のCtrlキーを押す ※デフォルト)
キーボード入力を受け付けてくれない!とか
(↑scim-bridge-client-qtをapt-getで入れる)
sudoでないとVBが起動出来ない!とか
(↑vboxuserというグループを作ってユーザ追加)
Ubuntuから起動したwin2000上でUSBが使えない!とか
(↑http://nstage.ddo.jp/pukiwiki/index.php?OS%2FVirtualBox)
とにかくUSBが使えない!とか
(一度USBを抜いたりVBを終了したりすると認識されることアリ)
確実に何かしらの問題にぶち当たる点が泣き所か…
ホストがWindowsの場合の参考資料が少なすぎて泣いた
Linuxホスト派の勢力がすんごい
参考リンク
http://www.nofuture.tv/index.rb?VirtualBoxMemo
http://nstage.ddo.jp/pukiwiki/index.php?OS%2FVirtualBox
あと公式ユーザマニュアルの9.9節
※追記
別のPCでも頑張ってみた
http://megas.blog9.fc2.com/blog-entry-969.html
コメント
コメントの投稿
トラックバック
http://megas.blog9.fc2.com/tb.php/925-5d2ea455