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品質です。
| 固定リンク
「Ubuntu」カテゴリの記事
- CYBER・アーケードスティック を dmesg で見る。(2023.12.31)
- Ubuntu Studio 22.04 の レイテンシ設定でハマった話(2023.11.05)
- またしても GIGABYTE 970A-D3P マザーボード の罠にハマる。(2021.10.23)
- Ubuntuのファイルマネージャーから古いNASに接続する(2021.07.13)
- OpenMSX を ビルドする。(2021.06.14)
この記事へのコメントは終了しました。
コメント
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