2013年1月13日日曜日

GRUB を USB メモリにインストール

USB メモリに GRUB をインストールして、この USB で HDD の Ubuntu を起動します。

まずフォーマットした空の USB メモリを PC に挿します。
$ df -h
Filesystem              Size  Used Avail Use% Mounted on
... snip ...
/dev/sdb1               1.9G  4.0K  1.9G   1% /media/user/2C26-C853
マウントポイントは /media/user/2C26-C853、
USB メモリのパーティションのデバイスファイルが /dev/sdb1 なので
USB メモリ自体のデバイスファイルは /dev/sdb です。

マウントポイントとデバイスファイルを指定して GRUB をインストール
$ sudo grub-install --root-directory=/media/user/2C26-C853 /dev/sdb

これで USB メモリに GRUB をインストールできました。

USB メモリから Boot するとインストールした GRUB が起動します。
設定ファイルを用意していないのでいきなりプロンプトが表示されます。
grub> 
この状態で私の PC の場合は以下のようになってました。
Device実際の装置パーティション構成
hd0USB メモリ... 省略 ...
hd1内蔵 HDD
PartitionOS
1Winodws リカバリ用
2Windows リカバリ用
3Windows
5Ubuntu Swap
6Ubuntu /
7Ubuntu /boot
Ubuntu インストール時の GRUB は hd1 の Partition7 を指定しています。

このような構成の場合に Ubuntu を USB メモリの GRUB で起動する方法はいくつかあります。

起動方法その1

USB メモリの GRUB から hd1, Partition7 の grub.cfg を読み込んで Ubuntu を起動
grub> configfile (hd1,7)/grub/grub.cfg
grub.cfg に設定されているメニューが表示されるので Ubuntu を選択して起動します。

起動方法その2

hd1, Partition7 の GRUB をチェーンロード
grub> chainloader (hd1,7)+1
grub> boot
hd1, Partition7 の GRUB が呼び出され、その GRUB により Ubuntu を起動します。

起動方法その3

hd1, Pargition7 の kernel を読み込んで直接起動
grub> root=(hd1,7)
grub> linux /vmlinuz-3.5.0-21-generc ro root=/dev/sda7
grub> initrd /initrd.img-3.5.0-21-generic
grub> boot

なお、環境によっていろいろ異なるものがあるので
このとおりやってもうまくいかない場合も多いとは思いますが
これを参考にしてやってみて下さい。

0 件のコメント:

コメントを投稿