Linuxの上で同じOSを動かす
うまいタイトルが書けません。 「Linuxの上で同じOSを動かす」だと、「あー、それは、QEMUでしょ」で終わっちゃいます。 もちろん、それだけの話ではなくて、ちょっとだけ、ちょっとだけ毛の生えた話。
Linuxで構成したマシンがあるとき、その同じ構成のLinuxを、QEMUの上で動かします。 いや、説明になってないな。日本語は難しい。 ま、GRUBがコケる話で悩んでるとき、いちいち再起動してるとそのたびにサービスが止まってしまうのが困るので、編み出した技です。
% sudo bash # ls -l /dev/sda brw-rw---- 1 root disk 8, 0 2008-01-18 22:18 /dev/sda # chmod 664 /dev/sda # exit % groups users cdrom % qemu -snapshot -curses -hda /dev/sda -m 128
qemuコマンドには「-snapshot」オプションをつけました。 これにより、ドライブに書き込まずに動作します。書き込もうとした内容は別の一時ファイルに保存され、qemuを終了すると消えて無くなります。 groupsコマンドで、diskグループに所属してないことを確認しています。 さもないと、ちょっとしたミスで「-snapshot」オプションをつけ忘れたときに、とても悲しいことが起きます。
「-curses」オプションをつけると、SSHなどの文字端末上で動かすことができます。 この機能は非公式パッチのようですね。どうも、「-nographic」オプションの時に使用できる「^Aエスケープ」が効きません。 「-monitor」オプションによって管理コンソールを別の端末の上で動かすか、終了させたい時に別の端末からkillする必要があります。 あるいは、QEMU上のゲストマシンの電源を切れば、勝手に終了します(たいていは)。
後片付けを忘れずに。
% sudo bash # chmod 660 /dev/sda # exit %
(2008/1/21 - sgk)
