
新しいサムドライブを接続するたびに、ポップアップが表示されInstalling Device Driver
、しばらくすると自動実行ダイアログがポップアップ表示されます。
では、起動可能なフラッシュ ドライブから別の OS をインストールする場合、OS 自体に比べて非常に初歩的であると思われる BIOS は、デバイス ドライバーをインストールすることなく、どのようにしてフラッシュ ドライブからデータをすばやく読み取るのでしょうか (それも起動の最初に)。
編集: Linux (私の場合は Ubuntu 12.04) でもデバイス ドライバーをインストールする必要がなく、ドライブが Nautilus で自動的に開くことに気付きました。これはどのように機能するのでしょうか?
答え1
過去 20 年間で、特定のハードウェアの側面は非常に標準化されたため、これらのドライバーをファームウェア (Linux の場合はカーネル) に実際に埋め込むことが容易になりました。USB ストレージに使用されているドライバーを見ると、メーカーやサイズなどに関わらず、ほとんど常に同じです。
同じことは、ほとんどのUSBキーボードやその他の一般的な入力デバイスにも当てはまります。隠蔽周辺動物のクラス。
Linux がドライブの内容を自動的に表示する方法については、大まかに次のようになります。
- カーネルは新しく接続されたデバイスを登録します。
dmesg
接続後にこれを確認するには、 - ドライブは、 に示すように自動的にマウントされます。通常、#1 にリストされているデバイス ノードに一致する
mount -l
内容で始まる行が表示されます。/dev/sdc1 on /media/username/Something...
- デスクトップ環境はユーザー名のこの新しいマウントポイントを認識し、そのマウントポイントのファイル マネージャーを開きます。
答え2
「ドライバーのインストール」という一連の作業は、Windows でのみ発生します。実際は「新しいデバイス インスタンスの登録」に近いものです。他のオペレーティング システムでも、もちろんプロセスは基本的に同じですが、管理方法が異なります。たとえば、複数の類似デバイスを処理するには、2 つの方法があります。デバイスごとに独立したドライバー インスタンスを実行するか、1 つのインスタンスで複数のデバイスを処理できます。
満たさなければならない要件がいくつかあります。ドライバーは、カーネル (またはカーネルにドライバーをロードするプログラム) が自動的に見つけられる場所に存在する必要があります。Linux/lib/modules
のような状況です。ドライバーが利用できない、またはカーネルに組み込まれていない場合、デバイスは使用できません。
UEFI や BIOS などのファームウェアの場合、これらは自己完結型である必要があるため、ドライバーは組み込まれます。
Jarmund がすでに述べたように、入力デバイスとストレージ デバイスへのインターフェイスは、今日ではほぼ標準化されています。ほぼすべての USB ストレージ デバイスを使用するには、1 つのドライバーで十分です。これが、BIOS と UEFI によってキーボード、マウス、USB ストレージなどを使用できるようにする方法です。