質問: linuxの本を購入した際、USBメモリにインストールできることが分かったので試してみたいのですが、USBメモリからの起動は出来るのでしょうか?USBメモリには”UnetBootin”から”ubuntu 10.10”をインストールしてみました。BIOSの変更を試みたのですが、起動順には内臓HDD2本とFDの3種類だけが設定されているだけでUSBメモリは見当たりませんでした。 USBはハードディスクの4番目として認識されていました。どのようにすれば良いかご存知の方、お手数ですが御教示ください。 BIOS:G33T-M2
回答: ハードウェアを理解しないでソフトウェアは使いこなせないし ソフトウェアを理解しないでハードウェアを使いこなすこともできません。 基礎知識が無さ過ぎだと思います。 たとえば、MacOSXやWindowsの起動デバイスとしてUSB機器は通常使われません。 簡単に言えば、USBからのOS起動は、特殊な作業です。 ひとつの選択肢は、USB起動に関する詳しい説明記事に従って作業することです。 もう一つの選択肢は、USB起動に関する知識を身につけることです。 Windowsが、通常USB機器から起動しない理由は知りませんが おそらくは、USB機器をストレージとして認識する処理が OS起動処理の中盤以降にあり、起動デバイスをOS自身が認識できないような 問題が生じるんじゃないかと思っています。 (ともかく、特別な手順で限定的にUSBからの起動はできるようです) Linuxの場合は、USB機器を起動の早い段階で認識し またその前の過程を、起動用のRAMディスクで処理するという仕組みで USB起動を実現しています。 そして、そのRAMディスク構築までのUSB機器へのディスクアクセスは BIOSによって提供されます。ここまで来てやっと、問題の核心となるわけですが 非常に単純な答えが...BIOS設定で、起動デバイスとしてUSB機器を先頭に設定する。 たったそれだけのことです。 それが理解できていないということは パソコンのことを充分に理解していないということです。 その理屈の基礎として、BIOSというファームウェアが (firmware:おおむねハードウェアの基礎部分として組み込まれたソフトウェア) 基本的な周辺機器へのアクセスを提供するという仕組みがあります。 WindowsPCとも呼ばれるIBM PC/AT互換機のBIOSの基本設計は非常に古いもので FDDと内蔵HDDからの起動が初期から用意されていました。 USB機器は内蔵HDDと同等のディスクアクセスをBIOSが提供することにより 起動装置として利用可能としています。 SATA機器なども、BIOS上は古い内蔵HDD用のIDE互換として処理されます。 (USBカードの実態は調べたことも無いけど)起動できないUSBカードやSCSIカードなどは そういったIDE互換として処理するためのBIOSを備えないために起動できません。 USB起動できない古いPCも、BIOSの非対応が主原因と考えられます。 近代のOSは、この古いBIOSによるディスクアクセスを起動初期にのみ利用し SATAコントローラーやUSBコントローラーのデバイスドライバーが組み込まれたのち これらのアクセスを、BIOS経由からデバイスドライバー経由へと切り替えます。 それによって、本来の性能を発揮できるようになりますし... この過程がすみやかに行なえなければ起動失敗します。 デバイスドライバーのバグなども、起動過程で発症することがあるかもしれません。