ちょっとだけLinux

2013/05

Page 1

コトの始まり
Linuxはかなり以前に少しだけイジってみたことがありました。図書館で借りたテキストにインストールCDが入っていたので使ってみたというだけでした。
さほど興味を持つこともなくそのままになってしまったのですが、この一ヶ月ほど、またLinuxをいじり回しています。
というのも、とうの昔に現役を引退した古いWindows PCが2台あるので、これをLinuxの学習用に使ってみようと思い立ったからです。
1台はEPSONのWindows98デスクトップ、もう1台はDELLのWindowsXPノートPCです。

いずれも肥大化した今のWindowsでは実用に耐えなくなってしまったのですが、Linuxなら使えるのではないと思いついたからです。
Epson EDiCube TP715MR DELL Inspiron 1100
タイプ デスクトップ ノートPC
発売 2000/4 2003/3
CPU PentiumV Celeron 2.2GHz
メモリ 256MB 640MB(増設)
HDD 15GB 20GB
光学ドライブ CD−R/RW CD−R
OS Windows98 WindowsXp home

改めてこのような表にしてみると、ずいぶん物持ちが良いなと感心します(。。;)ゞ
とりあえず、Webから落としたり図書館の解説書に入っていた古いバージョンのものなど、いろいろと試してみました。
EcoLinux、PUPPY Linux、Vine Linux、Knoppix、Debien、Ubuntu などですが、最新のバージョンですとDVDかネットインストールということになり、低機能マシンにはつらいので、最新版は現役のデスクトップ(Windows7)で試してみました。

まだ始めて一ヶ月程度のところですが、現時点での結論を先に書いてしまいますと、新しいPCと最新のバージョンのLinuxの組み合わせが一番良いという当たり前の結論になってしまいました。

新旧取り混ぜて使ってみると、それぞれに一長一短はあるようですが、GUIで使う限りはUbuntuが一番Windowsの感覚に近く感じられました。
それぞれのディストリビューションはインストールしてブラウザ(すべてFirefox)でネットにアクセスするというところまでしか使ってないのですが、これならWindowsの代役として充分使えるのではないかと感じました。

本来の目的だった古いPCでLinuxを動かして学習するのであれば、PUPPY Linux コンパクトでインストールガイドも初心者向けに丁寧に作られていて好感が持てます。デスクトップもWindowsに近いものがありますし、ほかのディストリビューションにはない機能も持っているようです。
Linux最初の一歩は
理想的には、不要になったPCにインストールして使ってみることでしょうけど、HDDにインストールせずにCDから起動して使えるライブCDというのも良いですね。
PUPPY、KNOPPIX、 Ubuntuなどです。ディスクの読み込みに時間がかかるのが難点ですけど、もしPCがUSBメモリからの起動に対応しているのなら、USBメモリにインストールして使うほうが動きが速いと思います。

あるいはUSBからの起動ができるPCなら、メモリ以外に外付けのHDD、ポータブルHDDなどにインストールして使う方法も良いでしょう。

要は、現在稼働中のWindowsシステムに支障が出ないように使うのがベターで、ひとつのパソコンの中に違うOSを組み込んで、大事なデータが消失したり、稼働中のシステムが起動できなくなったりすることのないように使うのが大事だと思います。
Windowsとのデュアルブート
実用に供しているPCでこれをやろうとは思いませんが、現役を引退したDELLのノートPCで試してみました。
手順としては、
(1)ポータブルHDDにバックアップ(5時間くらいかかった)
(2)WindowsXPを再インストールするときに全体20GBのうち15GBをNTFSでフォーマット&再インストール。
(3)Vine Linux を残りの5GB部分にフォーマット&インストールしました。

このような手順で、最初にWindowsをインストールして、後からLinuxをインストールすれば、たぶん問題なくデュアルブートの設定はできるはずですが、1台のパソコンにひとつのOSであれば何の問題もないのですが、複数のOSをインストールして選択起動するとなると、PCのブートプロセスをある程度把握しておかないと、設定を変更して順調に動いていた環境が崩れて起動しなくなったときに困ると思います。

そのようなトラブルを避けるためには、たとえば複数のHDDドライブを組み込めるデスクトップPCなら、それぞれのOSを別のドライブにインストールして、起動ドライブを変えることによってOSを切り替えるようにしたほうがわかりやすく安全だとは言えます。
Gparted パーティション操作ツール
HDDなどのドライブ内部にパーティションという区画を設定、変更、削除するためのLinuxツールです。
Linuxディストリビューションのなかにはツールとして組み込まれているものもありますが、これ単独でブートCDを作っておくと便利です。

ドライブの中身を視覚的に確認できるのは良いことです。
GRUB
ブートローダーです。
ドライブにインストールするOSがひとつであればOSのブートプロセスのことなど考えなくて良いのですが、OSをマルチブートで使うのなら、起動メニューで選択起動できるようにしなくてはなりません。
これがかなりややこしいです。

PCの電源を入れると最初にBIOSが起動し、ドライブの先頭にある小さな領域MBR(Master Boot Record)を読みに行き、そこに組み込まれたブートローダーがメニュー画面を表示し、選択されたOSが組み込まれたパーティションへ飛んでOSを起動する・・・といった仕組みのようです。
すべてのLinuxディストリビューションがGRUBを使うわけではなく、新しいところではGRUB2 というのもありますし、PUPPYのようにGrub4Dosというのを使うものもあるのでややこしいです。
そのほかにMBMというフリーソフトもありますが、これはテクニカルユーザーでないと、ちょっと難しいと思いますし、安易に使うとOSが起動できなくなってしまいます。

これはGRUBも同じで、MBRは大事な役目をしている場所ですが、一般ユーザーが手軽にアクセスできるものでもないので、うっかりいじるとせっかく正常にインストールされたOSが起動できなくなってしまいます。
上の起動OS選択メニューの中身は↓の通りです。
# menu.lst generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,1)
# kernel /vmlinuz-version ro root=/dev/hdc3
# initrd /initrd-version.img
#boot=/dev/hdc
default=2
timeout=10

title Vine Linux (Current kernel)
root (hd0,1)
kernel /vmlinuz ro root=LABEL=/ resume2=swap:/dev/hdc5 vga=0x314
initrd /initrd.img

title Vine Linux (Previous kernel)
root (hd0,1)
kernel /vmlinuz.old ro root=LABEL=/ resume2=swap:/dev/hdc5 vga=0x314
initrd /initrd.old.img

title WindowsXP
rootnoverify (hd0,0)
makeactive
chainloader +1
titleで始まる行が表示されます。ただのテキストです。
ここではtitleが三つあるので選択メニューが三つになりますが、default=2 は0、1、2とカウントされる行の3行目の意味で、WindowsXPが反転しデフォルト選択の状態になります。
timeout=10 で10秒間選択をしなければdefaultのXPが起動します。
rootがOSがインストールされたパーティションを示し、その下の二行がそこのkernelを起動するということです。

Windowsとのデュアルブートの場合は、Windowsを先にインストールしてからLinuxをインストールし、そのインストールプロセスの最後のところで、GRUBの設定インストールをすると、上のmenu.list がLinuxを組み込んだパーティションの/boot/grub に書き込まれます。

これでPCが起動するとき、BIOS → MBR → menu.lstでメニューを表示 → 選択されたOSを起動、という順序で動くようです。

インストールの手順というか順番を守ればWindowsとLinuxのデュアルブートはさほど難しくはないのですが、このような仕組みで動く場合、たとえばLinuxが入ったパーティションを削除してWindowsだけに変更する場合、LinuxだけではなくWindowsも起動しなくなってしまうのではないかと推測しているのですが、試してみる・・・気はありません(。。;)ゞ

私の場合はたまたま古いデスクトップがあるので、わずか15GBのHDDを3分割して3種類のLinuxを入れてトリプルブートをやってみたのですが、これもうっかり環境を変えるとあちこち起動しなくなったりして手こずりました。

このように無理矢理デュアルorトリプルブートを使うよりは、USBブート可能なPCなら、タダ同然に安くなったUSBメモリーにLinuxをインストールして使い分けた方が合理的でトラブルの心配は無いです。
トリプル・ブート
3種類のLinuxをインストールしてトリプルブートすることに格別の意味は無いのですけど、やってみました。
止せば良いのに・・・と思うほど四苦八苦したのですが、やればやったなりに得るものはあるようで、簡単なコマンドで操作することも覚えたりしました。

EPSONの古いマシンはCDのみでHDDは15GBということで、USBは使えるもののUSBからのブートはできない。DVDからのインストールはダメ。CPUの能力からして最近のディストリビューションはダメということで、古いものを3種類入れてみました。
Vine、 Fedora Core、Debian です。
以下のmenu.lstには悪戦苦闘の痕跡が残っています(。。;)ゞ
# menu.lst
default 0
timeout 20

title Debian GNU/Linux, kernel 2.4.27-2-386
root (hd0,3)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/hda4 ro
initrd /boot/initrd.img-2.4.27-2-386
savedefault
boot

title Debian GNU/Linux, kernel 2.4.27-2-386 (recovery mode)
root (hd0,3)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/hda4 ro single
initrd /boot/initrd.img-2.4.27-2-386
savedefault
boot

title Fedora Core (2.6.11-1.1369_FC4)
root (hd0,1)
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=puppy rhgb quiet
initrd /boot/initrd-2.6.11-1.1369_FC4.img

title Vine Linux (Current kernel)
root (hd0,2)
kernel /boot/vmlinuz ro root=LABEL=/ resume2=swap:/dev/hda1
initrd /boot/initrd.img

title Vine Linux (Previous kernel)
root (hd0,2)
kernel /boot/vmlinuz.old ro root=LABEL=/ resume2=swap:/dev/hda1
initrd /boot/initrd.old.img
インストールするなかのひとつにPUPPYを入れようとしたのですが、これを入れるとどうやっても全部をブートアップはできませんでした。
マルチブートするとき、インストールで組み込まれるブートローダーがいずれもGRUBであると比較的わかりやすいです。
PUPPYはGRUB4DOSが基本のようです。
Linuxも最新のものはGRUB2を使うようなので、これだとさらに難しくなったりするかも知れないですね。

ブートローダーの設定の仕方もLinuxによって微妙な違いがあるのですが、基本的には一番最後にインストールしたLinuxのmenu.lst を編集してすべてのLinuxがブートアップできるようにするのが大変でした。

このような作業を繰り返すとき、とても役に立ってくれたのがPUPPYでしたから皮肉なものです。
GRUB2
lLinuxのインストールに慣れてきたのですが、如何せん古いPCと古いバージョンのLinuxなので、かなり時代錯誤の雰囲気です。
なので、現役のWindows7マシンで新しいバージョンを使うことにしました。
新しいマシンならUSBブートができるのでUSB起動で使えばマルチブートの面倒が無いのですが、容量20GBの古いポータブルHDDがあるので、これに二つのディストリビューションを入れました。
これだとノートPCとデスクトップPCのどちらに繋いでも使えます。

ノートPCは今年買ったWindows7マシンで、Core i5 2.6GHz、メモリ4GB、HDDは500GBです。
20GBを半分に分けてインストールしたのはUbuntu 13.04 と Debian/GNU 7.0.0 です。
どちらもブートローダーには新しいGRUB2 を使用していますが、これはとても便利で、後からインストールしたLinuxが LinuxがドライブのなかのほかのOSを探して組み込んでくれるので、四苦八苦することはありませんでした。

ブートローダーを使ってセットアップした環境は、うっかりパーティションを削除したり、インストールしたLinuxディストリビューションをほかのものに入れ替えたりすると、せっかくの環境が崩れてしまうのですが、GRUB2の場合は、1,2のコマンドで環境を再セットアップしてくれます。

ブートローダーはノートPCの方のドライブに組み込んでしまうと、ポータブルHDDをほかのマシンに繋いだときに使えなくなってしまうので、ポータブルHDDの方に組み込みました。
この場合でも内蔵ドライブのWindows7 もピックアップしてくれるので、外付けHDDから起動しても内蔵ドライブのWindows7が起動できます。