« Windows7 で SMTPサーバを使用する | トップページ | ハードディスクケースのファン交換 »

2011/11/24

USB3.0の外付けハードディスクへインストールしたUbuntu11.10をお手軽に起動する

過去に USB3.0にハマる の記事で書いたように、USB3.0の外付けハードディスクへインストールして、失敗しています。

というわけで、意地でも(でもお手軽に)USB3.0の外付けハードディスクへインストールする、ということです。

そもそも、マザーボードがUSB3.0対応なら、ブート可能と思ってしまうじゃ無いですか。
でも、現実はそんなに甘くなく、BIOSがブート対応していなければそもそも根本的にブートできません。

そう言いつつ、USB搭載マザーが出始めたころはけっこう同じ問題がありました。
USB付きなのにブートができないのが当たり前でした。
でも、最近はUSBブート対応マザーでなくても起動できるように設定できます。
詳しくは本家Wikiの Ubuntu Tips/USBデバイスへのインストール/USBメディアの起動をサポートしないBIOSを持つパソコンでUSB-HDDに通常の方法でインストールしたUbuntuを起動するには
に載っています。

で、ここを参考にUSB3.0での起動を考えた場合、チェーンローダーを使って起動するのが簡単なのですが、私が調べた所ではUSB3.0に対応したチェーンローダーが見つかりませんでした。
MBMとかで起動できれば、何でもアリなんだけどなあ・・・。


でも、ブートすることを考えるから難しいのであって、起動すればUbuntu自体はUSB3.0を認識しているのだし、ブートにこだわらなければいけるかも、と思いました。

昔のVineLinuxとかって、デフォルト設定でインストールすると、/bootを別で作っていました。
というのも、当時のブートローダーのLILOがブートできるハードディスク領域が限定されていたため、/bootのみハードディスクの先頭パーティションに置く、という需要があったからです。

それと同じ原理で行こう。
インストール時、USB2.0にUSBメモリ、USB3.0に外付けハードディスクを刺しておきます。
で、インストール時、パーティションを手動で切ります。
その時、
/boot をUSB2.0のUSBメモリに設定。
ちなみに、私は近頃破格な値段で売っているSDカード1Gを全領域使いました。
容量が少なすぎると、アップデートでカーネルの過去バージョンが増えたときにハマります。

/ を USB3.0のハードディスクへ設定します。
後はswap を搭載メモリより多めに作ります。

ブートマネージャー(GRUB2)は、USB2.0のUSBメモリの先頭(MBR)に入れるよう設定します。
たとえば、USBメモリが sdc の場合、sdc1ではなくsdc に入れるってことです。

これで、OK。
USB2.0にUSBメモリ、USB3.0に外付けハードディスクを刺して、USB2.0のUSBメモリから起動できます。
ブート部分は遅いけど、アプリケーションの読み込みはUSB3.0品質です。

|

« Windows7 で SMTPサーバを使用する | トップページ | ハードディスクケースのファン交換 »

Ubuntu」カテゴリの記事

コメント

https://wiki.ubuntulinux.jp/UbuntuTips/UsbInstall/BootUbuntuInUsbWithBiosWithoutSupportForUsb
およびそれからリンクされている複数の頁を最初に書いたkiyopこと鈴木清です。

カーネルを利用したカーネルローダもどき(kiyoshi's helpと命名しています)をBIOSがブートできるメディアに準備して、それを起動するように他のカーネルローダで設定してやれば、USB3.0中のカーネルを使って起動できます。
他のカーネルローダ→カーネルローダもどき→USB3.0中の実際のカーネル
というように3段階で起動するので、起動時の時間や手間は多くなりますけど。(汗)

やり方は、
http://kiyoandkei.blog68.fc2.com/blog-entry-52.html
に書いてあります。
ただし、上記にはdebianでカーネルローダもどきを作成するための方法が書かれています。Ubuntu用はずいぶん昔に作りましたので、現在のUbuntuのバージョンでは正常に動作しないかもしれません。Ubuntu用は
http://kiyoandkei.blog68.fc2.com/blog-entry-47.html
にあります。

ちなみに、USB3.0を認識できるモデュールを、カーネルローダもどきと、実際に起動するカーネル(というかそれの利用するinitramfs)内に組み込んでおかないと、Ubuntuなどのlinuxは正常には起動できませんので、ご注意を。

投稿: 鈴木清 | 2012/03/10 10:25

コメントの公開&お返事が遅くなってすみません。

kiyopさんの記事はいくつか拝見しております。
ブート関連で調べている人は必ず行き着く道ではないかと。
フォーラムで記事を書いていらっしゃる時も見ていまして、いろいろと勉強させていただきました。

で、kiyoshi's help のことも知っていたのですが、 initramfs にモジュールを組み込む、というのが日常使用を想定すると、Ubuntuぐらいぽんぽんアップデートされるとさすがにツライかなと思い、簡単な方法が無いかと思っていました。

投稿: ひろちゃん | 2012/04/25 23:42

ご返事が遅くなり、済みません。

/etc/initramfs-tools/modules
に必要なモデュールの名前を例えば
xhci_hcd
のように記しておきさえすれば、カーネルアップデート時に自動的にinitramfsにそれらのモデュールが組み込まれるので、全然面倒ではありません。
お試しください。

あ、当然ですが、kiyoshi's helpは、一度、USB3.0デバイスを認識するためのモデュールを組み込んで作っておきさえすれば、Ubuntuのカーネルが更新されても作り直す必要はありません。
これがkiyoshi's helpを私が推す理由です。

投稿: 鈴木清 | 2012/09/26 23:08

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: USB3.0の外付けハードディスクへインストールしたUbuntu11.10をお手軽に起動する:

« Windows7 で SMTPサーバを使用する | トップページ | ハードディスクケースのファン交換 »