スポンサーサイト
投稿日時 : -------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- --:-- | スポンサー広告
wubiでUSB外付けハードディスクにUbuntu 8.04をインストール
投稿日時 : 2008-05-06 14:49
 「WubiでWindows上からUbuntu8.04を簡単インストール」ではインストール先を内蔵ハードディスク(sda2)に指定しました。今回は外付けハードディスク(sdb1)にインストールします。内蔵HDの時と違ってそれなりに作業が必要になります。BIOSの設定をいじる方法もありますがここでは扱いません。
 

■環境

Pen4 2.66GHz
1GB RAM
Windows XP Pro SP2
 
ディスク構成
wubi partition
この一番下の行の「ローカルディスク(Z:)」が今回インストール先になるUSB外付けHD(sdb1)。Cドライブ(sda1)にXPが入っているのでインストールはCドライブ(sda1)からZドライブ(sdb1)に行うことになります。  

■wubiの起動プロセス

 wubi経由のLinuxの起動プロセスは少し変則的です。wubiをインストールすると「c:\wubildr.mbr」と「c:\wubildr」が生成され、「c:\boot.ini」には「c:\wubildr.mbr="Ubuntu"」が追記されます。起動プロセスの流れは(たぶん)以下のようになっています。
  1. 電源投入
  2. POST
  3. BIOS
  4. MBR
  5. ブート識別子が0x80なパーティションのブートセクタ
  6. NTLDR
  7. c:\boot.iniで起動メニュー表示
  8. c:\wubildr.mbr
  9. c:\wubildr内のGRUB(?)がmenu.lst検索
  10. 見つかったmenu.lstを元にカーネルをロード
  11. Linux起動
この起動プロセスに関しては詳しく調べてみたので近いうちに別記事でまとめます。今回は外付けHDへのインストール方法に絞って解説します。
 

■wubiのインストールが完了したら再起動前に作業が必要

 sda1のXPからsdb1の外付けHDにwubiのインストールが完了したら最後に表示される画面で「後で再起動」を選択して下さい。再起動する前に作業が必要です。そのまま再起動してしまった場合は以下のようなエラーが表示されたハズです。この場合は再起動してWindowsを起動して作業すれば問題ありません。
find --set-root --ignore-floppies /ubuntu/install/boot/grub/menu.lst
 
Error 15: File not found
 
Press any key to continue...
 
Error 15 : File not found
 
これはGRUB起動時にUSBハードディスクのドライバがロードされていないことが原因で/ubuntu/install/boot/grub/menu.lstが見つからないからです。GRUBコマンドでsdb1をマウントしようとすると、
grub> root (hd1,0)
Error 21: Selected disk does not exist
そんなディスクは存在しませんと言われる。一方内蔵HDは
grub> root (hd0,5)
  Filesystem type is ext2fs, partition type 0x83
grub> root (hd0,0)
  Filesystem type is ntfs, partition type 0x7
のようにExt3だけでなくNTFSパーティションまでもマウントできます。ということでカーネルその他の起動に必要なファイルはGRUB起動時に認識可能なこれらのドライブにおいておけばいいわけです。
 

■インストール時と通常起動時では起動プロセスが少し違う

 wubiインストール後の初回再起動時はUbuntu本体を仮想ディスクである「z:\ubuntu\disks\root.disk」にインストールする必要があるので、通常再起動時とはほんの少し違うプロセスで起動します。もしZドライブが内蔵HDだったなら通常の初回再起動時は「z:\ubuntu\install\boot\grub\menu.lst」の設定を基にインストーラが起動しUbuntu本体がインストールされます。Ubuntu本体のインストール完了後は「z:\ubuntu\disks\boot\grub\menu.lst」の設定を基に通常起動します。
 

■GRUB起動時に認識可能なドライブに必要ファイルをコピーする

 しかしZドライブは外付けHDなのでGRUB起動時にはアクセスできません。なのでインストーラ起動に必要なファイルはすべてCドライブにコピーしておきます。
「z:\ubuntu\install\boot」以下の全ファイルとフォルダをディレクトリ構造を保ったまま「c:\ubuntu\install\boot」にコピーして下さい。
c:\ubuntu\install\boot  
 

■インストーラ起動用のmenu.lstを編集する

 次にコピーした「c:\ubuntu\boot\grub\menu.lst」のカーネルパラメータに少し手を加えます。これはUbuntu本体のインストーラを起動するためのGRUB設定ファイルです。以下の太字の行がカーネルパラメータですが、そこに以下のように「root=/dev/sdb1」を追記します。これでUSBハードディスクドライバをロードした後に「sdb1」がマウントされます。/dev/sdb1の部分のデバイスファイル名は環境によって異なるので各自読み替えて下さい。
title 通常モードでインストーラを開始する
find --set-root --ignore-floppies /ubuntu/install/boot/vmlinuz
kernel /ubuntu/install/boot/vmlinuz root=/dev/sdb1 debian-installer/custom-installation=/ubuntu/install/custom-installation iso-scan/filename=/ubuntu/install/installation.iso automatic-ubiquity noprompt quiet splash boot=casper ro debian-installer/locale=ja_JP.UTF-8 console-setup/layoutcode=jp console-setup/variantcode= --
initrd /ubuntu/install/boot/initrd.gz
boot
通常はデフォルトで選択される一番上のエントリだけ編集すれば大丈夫だと思いますが、念の為にすべてのエントリに追記しても構いません。あとエラーが出たり起動中に停止したときに原因が特定できるように「quiet splash」は削除しておいた方がいいかもしれません。起動プロセスが表示されるようになります。  
 

■再起動するとUbuntu本体のインストールが開始

 menu.lstの編集が終わったら再起動してNTLDRのOS選択メニューで「Ubuntu」を選択すればUbuntu本体のインストールが開始されるハズです。「Error 15: File not found」のエラーが表示される場合は先ほど編集したmenu.lstの「root=/dev/sdb1」の指定が間違っている可能性があります。デバイスファイル名は環境によって異なることに注意して下さい。
 

■Ubuntu本体のインストールが完了したらWindowsを起動する

 Ubuntu本体のインストールが完了すると自動的に再起動されますが、今度は通常起動用の必要ファイルをCドライブにコピーする作業が必要なのでWindowsを起動します。
 

■通常起動用ファイルをCドライブにコピーする

 インストールは完了したので次は通常起動するためのカーネルその他の必要ファイルをGRUB起動時にアクセス可能なCドライブにコピーします。インストール用起動ファイルをZドライブからCドライブにコピーしたときと同じように、今度は「z:\ubuntu\disks\boot」を「c:\ubuntu\disks\boot」にディレクトリ構造を保ったままコピーします。
c:\ubuntu\disks\boot
 
 これらのファイルはUbuntu本体のインストール中に生成されたもので、wubiインストール時には存在しません。
 

■通常起動用のmenu.lstを編集する

 次にUbuntuの通常起動用のc:\ubuntu\disks\boot\grub\menu.lstを編集します。すべてのエントリの、以下の1
root  (hd1,0)/ubuntu/disks
 
以下のように0に書き換えます。  
root  (hd0,0)/ubuntu/disks
 
これでvmlinuzやinitrdはCドライブからロードし、/(ルートディレクトリ)は「Z:\ubuntu\disks\root.disk」を使うことになります。ここでもカーネルパラメータの「quiet splash」を削除しておけば起動プロセスが表示されるのでトラブルシューティングが楽になると思います。
 

■c:\ubuntu\install\boot\grub\menu.lstを削除かリネーム

 Ubuntu本体のインストールが完了した時点で「Z:\ubuntu\install\boot\grub\menu.lst」が自動的に削除されています。しかし手動でコピーした「c:\ubuntu\install\boot\grub\menu.lst」の方はそのまま残っているので「menu.lst.bak」などにリネームするか、削除しておきます。これは「c:\wubildr」内蔵GRUBが「c:\ubuntu\install\boot\grub\menu.lst」を検索・ロードしてUbuntu本体のインストールを再度実行してしまわないようにするための処置です。
 

■再起動してUSB外付けハードディスクからUbuntuが起動できることを確認

 以上で作業は完了です。再起動してUbuntuがUSB外付けハードディスクから起動できることを確認して下さい。
complete  
お疲れ様でした。
 
 
スポンサーサイト
2008-05-06 14:49 | Linux | Comment(0) | Trackback(0)
Comment
コメントを書く
#

管理者にだけ表示
Trackback
Trackbak URL:http://itmst.blog71.fc2.com/tb.php/97-49289979
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。