最終更新:
会社の先輩がWindowsXPとVINE Linux
を共存(デュアルブート)させていた。しかもWindowsのブートマネージャを利用して、でだ。まぁ今後このままの状態で運営してもいいが、WindowsからFreeBSDに切り替える考えもあったので、ちょっと冒険してみたくなってきた。
でも空いているまともなマシンはない。とはいっても運用中のサーバでやるわけにはいかないしなぁ・・・。
ん? バックアップサーバなら原則アクセス無しだからいいかな?。ふっふっふ。(←危険人物)
決定〜。(マテ)
どうせクリーンバックアップ(←そんな専門用語はない)取りたかった時だし。
一旦バックアップタスクを無効にしておき、バックアップ領域を解放する。今後入れるための容量を残して再び領域確保する。XPのディスクの管理画面ではもう何度もやっている。
バックアップタスクを有効にしてみる。が、一部時間がかかりすぎる部分があったので検討してみる。FreeBSDサーバのWebコンテンツだが、apache2のDAV
を利用してみると差分コピーできるようになったので時間短縮できた。
で、バックアップ機能は復旧。
情報の収集だ。ふむふむ。
FreeBSD 7.0のCD-ROMから立ち上げてみる。Windowsの時に残りの領域もついフォーマットしちゃったので、スライス(パーティーション)設定では最後のスライスを一旦削除。最後のスライスだと勘違いしそうな領域は容量が無きに等しいので、領域確保しきれなかった部分だろう。そのまま解放された領域で再びスライスを作成。
この直後に重要な選択が待っている。ブートマネージャの選択だ。
これはNoneでしょう。他をやったらNTLDR
が呼び出されなくなるし。
後はパーティーション(論理パーティーション)は自動設定、最小インストールでやってみる。
で、/boot/boot1をWindowsパーティーションにコピーしておくといいんだっけな。再びインストーラCDから起動して、FixitからShellを選ぶ。ALT+F4でコンソール画面を出して・・・。
# mount -t ntfs /dev/ad0s3 /mnt mount: not found.
おや?
# /bin/mount /bin/mount: not found. # /sbin/mount /sbin/mount: not found.
あれ?
# /bin/ls /bin/ls: not found.
いかん、使い方を忘れた(汗)。CD-ROMを立ち上げ直して再度やってみたが、やっぱりうまくいかない。ま、後でいいか。最悪FTPでもいいし。
とりあえずXPを立ち上げてみるか。CD-ROMを抜いて再起動。
BTX Loader
...
(FreeBSDの起動画面)
あれっ!? Windowsが起動してこない!!
FreeBSDが起動してくる・・・。なんで?・・・MBRはそのままにしてあるのになぁ・・・。
MBRが書き換えられてしまったと思ったので、XPのインストーラCDから起動し、回復コンソールを起動する。
C:\WINDOWS>fixmbr
(以下指示に従う)
これでMBRは直っているはずだが・・・どうか?
・・・ダメだ、FreeBSDが起動してくる。
XPのインストーラCDから起動し、回復コンソールを起動する。
C:\WINDOWS>fixboot
(以下指示に従う)
これでどうか?
・・・ダメだ、FreeBSDが起動してくる。
仕方がないので、Windowsの修復を行ってみる。
・・・ダメだ〜!、これでもFreeBSDが起動してくる。困った・・・。
気を取り直して検索して情報収集を行う。ん?これか・・・?
神様いわく、
パーティーション情報のアクティブ属性が変更されている可能性があるので、WindowsMeに入っているfdisk.exeを使用して、正しいパーティーションにアクティブ属性をつけましょう。
これ!これかも!
WindowsME、WindowsME、WindowsME・・・あった、前のパソコンに付属してたやつ!
Meからブータブルになった気がするのでそのままCDを突っ込んで再起動。お、来た来た!。な、なんか懐かしい感じがするなぁ。あれ?もうプロンプトまで来た。早っ。
A:\>fdisk
まず大きなパーティーションを扱えるようにするか聞いてきたので「Y」。そしてNTFSを扱えるようにするかみたいなことを聞いてきたのでこれも「Y」。
んでメインメニューが出てきた。アクティブの変更を選んで先頭のDOSパーティションを選んでアクティブに。
再起動してくれ?、はいはい、言われなくてもやりますよ(汗)。
きた〜〜〜〜〜っ!
・・・と、ここまではいいのだが、Windowsの修復が中途半端に止まっていたので、なんだか無駄なインストール作業が始まっちまいました。
問題のFreeBSDだが、このままでは起動できない。/boot/boot1をコピーしなきゃならんのだが・・・。
FreeBSDのCDから起動してFixit→Shellからどうにかしようともがいたが、全然わからん。
・・・まてよ?。FreeBSDのCDも起動するんだから/boot/boot1入ってないかな?。
・・・あった。\boot\boot1・・・。でもコレ、CD起動用・・・かな?。・・・試しにやってみっか。C:\にコピー。
で、コンピュータ(システム)のプロパティ→詳細設定→起動と回復→→起動システム→・・・でおそらくnotapadが開くので、最後の行に追加する。
\boot1="FreeBSD 7.0"
保存してnotepadを閉じ、一旦してもう一回に。起動システムの一覧に「FreeBSD 7.0」が出てきた。
で、再起動。
ブートメニューが出てきました!。FreeBSDを選択っと。
システム構成に問題があるので起動できません〜〜〜?
やっぱりあのboot1じゃダメかなぁ?。でも一旦Windowsを起動しなおして設定を確認。あ、間違えてた。
C:\boot1="FreeBSD 7.0"
もう一回再起動。
FreeBSDを選択。
やった〜〜!
できちゃった〜。CDのboot1でもいいんだなぁ。へぇ〜。
そんなにfdisk.exeやWindowsMeのCDを使わないとデュアルブートできないものか?、という疑問が起こってきた。
このどちらかがあるはず!。
先ほど入れたFreeBSDは最小インストールだったので、やり直しは痛くも痒くもない。ならば最初からやり直してみよう。
FreeBSDのCDから起動し、Partitionエディタの画面まで進む。
よく見ると、
S = Set Bootable
というコマンドがある。なんだこれ?・・・もしかして・・・これか?。Windowsのシステムが入っているパーティーションでSを押してみると・・・「A」の文字がついた。
これかっ!?
はやる気を抑えて最小インストールを行う。そして再起動。
ブートメニューが出てきました!。FreeBSDを選択っと。
・・・まてよ・・・もうすでにWindowsMeのfdisk.exeで直したからこうなるのかな・・・?。その可能性もあるので今度は逆に間違えてみる。
再びCDから起動し、アクティブ属性には触れずに最小インストール。
ブートメニューが無くいきなりFreeBSDが起動、つまりあの現象が再現した。ビンゴかも・・・。
よし、もう一回確認だ。
オッケイ!。
Windowsのブートマネージャを使う方法としては今まで見たことのない簡単な手段なので、せっかくなのでまとめておこう。ただし、ハードディスクをまたいだデュアルブートは対応していないはずだと思う。
C:\boot1.bsd="FreeBSD 7.0"
FreeBSDのインストーラ起動CDの中の\boot\boot1ファイルを使う方法は自分の環境ではうまくいきましたが、他の環境でもうまくいくという保障はできませんのであしからず。
デュアルブートが成功したところで今度はGUIの環境を作ってみたい。って最初っからそれが目的だったり。
まずはXorg
のインストールから。Packagesでインストールしても良かったが、FreeBSDの再インストールでDistributionをX-userにしてインストールしてみる。あまり覚えていないが10〜15分ぐらいかかったかな。
さぁ、ここからが一つの難関だ。以前試した時は全然どうにもならなかった、グラフィックの設定。
# xorgconfig
いやー全部英語だ。とりあえず適当に答えてみる。
最後に設定ファイルに記録するか聞いてくるのでy。
そいじゃーいきますか!。
# startx : : No devices detected
撃沈。
何度も何度も試行錯誤しているうちになんとなく飲み込めてきた。
そいじゃーいきますか!。
# startx : : No devices detected
なんでやねん・・・(涙)。
神様に聞いてみるとXorg -configure
で自動的に設定してくれるらしい。
# Xorg -configure
これも細かい記憶はないが、うまくいかなかった・・・。なぜだ・・・神様・・・。
そうだ、ログを見てみよう。/var/log/Xorg.0.logか、変な名前だな。
Failed to open /dev/io for extended I/O
んー。英語でよくわからないが、/dev/io(と、他の行で/dev/mem)にアクセスできないから失敗したようなことが書いてあるようだ。
しかし実際にlsコマンドで確認してみると、どちらもちゃんと存在する。う〜ん、手詰まりか・・・。
気晴らしに先輩と話してみた。
自分「全然うまくいかないっすよー。」
先輩「ubuntu
とかFreeSBIE
とかはどうなの?。」
自分「それだとちゃんと1024×768の画面なんですよねぇ。」
先輩「新しいバージョンの不具合だったりして。前のバージョンでやり直してみれば?。」
前のバージョン・・・か。やり直してみるか。シャボン玉ガールズのプルンちゃん
もがんばったんだし。
焼いてあったFreeBSD 6.2を、スライスを削除して再びX-userにてインストール。面倒くさいので設定もIPアドレスとパスワードとntpdate
ぐらいにした。
xorgconfigで設定をして、startx・・・・。
あれぇ?・・・。
そこにはtwm
の画面が。しかも1024×768の画面で。(昔に挑戦した時は1024×768の画面もできなかった。)
なんでだろう?なんでだろう?なんでだなんで・・・いやいや、どこでこうなったんだろう?。単純に前のバージョンでやり直したから?。待てよ、前のインストールの時にはいろんな設定をいじくったな。そういえば・・・セキュリティとかでセキュリティレベルとかいうのを触って・・・その後どうしたっけ?・・・。
そういうことなら再度FreeBSD 7.0で試してみる。同じようにセキュリティレベルは触らずにインストール、xorgconfigしてstartx・・・。
やった!。
できました〜(感涙)。
ちなみに、後で知ったことだが、やはりカーネルのセキュリティレベルを2以上にしてあると、この現象が発生するらしい。
Xorgが使えるようになったので、次はgnome
だ。これもパッケージインストールしちゃおう。
・・・。
・・・。
・・・。
へんじがない。ただのしかばねのようだ。
なんてくだらない事を考えているうちに1時間も経ってしまった。どこかで書いてあるのを見たけど、こんなのコンパイルしたら本当に丸2日間かかりそうだな。
startx・・・してもtwmだよな。やっぱり。
くやしまぎれにxterm
からfirefox
と打ち込んでみる。あれ?動くじゃん。すげー。こんな画面(失礼)でもちゃんとこういうのは動くんだね。しかも中身は日本語で・・・。
文献をあさってみると~/.xinitrcというファイルにtwmとなっていればそれをgnome-sessionと書き換えればいいそうだ。って、そんなファイルがもともと無いので作成する。
gnome-session
やたっ!。gnome動きました。でもなんかダイアログが出てきた。なになに?ぷらいびりっじどゆーざー・・・つまりrootログインお断りってことか?。強行。
おっ、デスクトップだぁ。でも全部英語だなぁ・・・日本語にならないかな・・・。
あちこち設定画面を探してみるが、言語設定の画面はどこにも見当たらない。探し方が悪いのかなぁ・・?。文献をあさってみたが、それらしい方法もどこにも見当たらない。
結局、日本語に切り替える手段が見つからないまま時は過ぎていった。先輩と話をして「きっと日本語キットがあるんだよ、きっと。」という話も出たが、そんなことだったらすでに文献に書いてると思うのだが・・・。
でも日本語入力の文献が出てきたので、とりあえずja-scim-anthy.tbz
というパッケージでいいらしい。でも依存パッケージがたくさんあるのでゴニョゴニョっと調べてみたら、あと
ja-scim-anthy.tbz
scim-1.4.7_1.tbz
ja-anthy-9100c.tbz
ja-kasumi-2.2_1.tbz
gmake-3.81_2.tbz(・・・これはFreeBSD 7.0のCDに収録されていた)
が必要らしい。gmakeはCDから、あとは拾ってきてインストール。再起動して・・・gnomeを起動して・・・、コントロール+スペースで小窓が出てくるらしいが、何もそんなものは出てこない。調べてみたら~/.xsessionに追記らしい。
setenv XMODIFIERS @im=SCIM setenv LANG ja_JP.eucJP scim -d
これでやり直してみたが、さっぱり変わらない。どうしたもんか。まぁいいや、ログイン画面を使えるようにしておくか。
確か、グラフィカルログインは/etc/ttysをいじるんだったな。/usr/X11R6/bin/xdmのある行のoffをonにするんだったな。で、/usr/X11R6/bin/xdmを/usr/X11R6/bin/gdmに変更して再起動。
・・・ちと妙ちくりんなログイン画面が。あ、これはxdmの画面かな?。とりあえずログインしてみるか・・・ってログインできない!。困った・・・。
とりあえずどうにかしてログインしないと・・・あっ!CTRL+ALT+BSは?・・・抜けた!。通常のログインできるか・・・?・・・あっまたxdmの画面に!。またCTRL+ALT+BS、ログイン成功・・・ee /etc/ttys・・・。間に合った、CTRL+ALT+DEL・・・再起動。
意外とxdmってしつこく出来てるんだな(笑)。
ファイル検索してみたら、/usr/X11R6/bin/gdmでなくて、/usr/X11R6/sbin/gdmか/usr/local/etc/rc.d/gdmだった・・・。でも文献を検索してみると、/etc/rc.confに次のように記述すると書いてあった。当然先ほどの変更は戻しての話。
enable_gdm="YES" enable_gnome='YES"
再起動してみると・・・おお、きれいな画面で立ち上がった。よかよか。
ん?。
よく見るとログイン画面の下のほうになにやらメニューがある。いくつか開いてみたのだが、その一つに言語設定メニューがあった。日本語・・・これだけかなりの種類が用意されているのでないはずが無い。早速日本語を選択、するとログイン画面を再起動する確認が出て、gdmが再起動する。
日本語だぁ〜〜っ!
まるで英語を話せない日本人が海外へ旅行してちょっと疲れてきた時に日本語を話せる現地スタッフに出会ったときの感動だ(笑)。
で、そのままログインする。おおぉ、ここも日本語メニューだ。そうかぁ、ここはそういう意味だったんだ、うんうん。
で、再起動する・・・予想はしていたが、再起動後はまた英語に戻ってしまった。また日本語を選べばいいというわけにはいかないしな。
再び文献をあさりまくる。と、こんな文献が見つかった。
gdmで起動した場合、.xinitrcと.xsessionは読み込んでくれません。/usr/local/etc/rc.d/gdmの先頭部分にexport XMODIFIERS @im=SCIM export LANG ja_JP.eucJPと書いておくとよいでしょう。
・・・そうか、つまり、ログインする以前の設定だから、ログイン後に読み込まれる設定ファイルに記述しても無駄ってことか。たぶん。というわけで
export XMODIFIERS @im=SCIM export LANG ja_JP.eucJP scim -d
再起動・・・おっ!
ビンゴ〜!
やった!、こういうことか・・・。あと、#!/bin/sh
だからexport
で変数をセットしてやらなきゃダメだよね。そいえば日本語入力は?・・・。お!出来た!、こっちも出来た!。
その後、/usr/local/etc/rc.d/gdmからscim -d行を削っても日本語入力ができているみたいだ。余計な記述はやめておいたほうがよさそうかも。
ついでに欲が出てきたので日本語フォントも追加してみる。