この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
その他の技術
›
Windows/Linux
›
モバイルハードドライブにLinuxをインストールする方法:モバイルドライブにLinuxをインストールする方法 ...
眺める:
14680
|
答える:
1
[Linux]
モバイルハードドライブにLinuxをインストールする方法:モバイルドライブにLinuxをインストールする方法
[リンクをコピー]
管理者
掲載地 2014/12/22 22:53:22
|
|
|
外付けドライブを手に入れることは、古いデバイスに命を吹き込むのに最適な方法であり、内蔵ハードドライブを交換できない(または変更したくない)マシンでLinuxを動かすのに最適です。 例えば、デュアルブートシステムでLinuxを使いたいけれど、パソコンのハードドライブに空き容量がないとします。 一つの解決策は、CDから直接実行できるKnoppixのような「アクティブ」なLinuxディストリビューションを使うことです。 この方法は時折使えば機能しますが、いくつかの重大な欠点があります。
永続性のためにはまだデータファイルが必要です。 非常に小さなファイルだけを使う場合はフロッピーディスクも使えます。 中規模のファイルにはUSBフラッシュドライブで十分かもしれませんが、どれも理想的とは言えません。
「アクティブ」CDを使う場合、自分のアプリケーションをインストールしたり既存のものをカスタマイズしたりするのは非常に困難、あるいは不可能です。
アクティブディストリビューションを使用するとパフォーマンスが低下します。特に起動時にすべてのデバイスを検出する際ですが、実行時にも(すべてCDから読み込む必要があり、ハードドライブからの読み込みよりもはるかに遅いため)問題があります。
もちろん、他の選択肢もあります。 例えば、他の内蔵ドライブを購入してLinuxをインストールすることもできます。 しかし、マシンにドライブベイがないことはよくあるでしょう(特にノートパソコンは内蔵ハードドライブが1台しか許されないため)。
あるいは、今のドライブの代わりに大きなドライブを使い、その余剰スペースにLinuxをインストールする方法もあります。 しかし、これは新しいドライブに既存のOSシステムを再インストールし、すべてのアプリケーションを再インストール・再設定し、すべてのデータを復元する必要があるため、時間がかかります。
より良い解決策は外付けハードドライブを購入し、Linuxをインストールすることです。 これにより、既存のハードウェアやソフトウェアを変更せずにLinuxを使いたい場合のみ外付けドライブを接続できます。
着脱式ドライブのオプション
Linuxをインストールできるモバイルデバイスは、フロッピーディスクドライブからUSBフラッシュデバイス、USB/FireWireハードドライブなど多岐にわたります。
確かにLinuxは1.44MBのフロッピーディスクや32MBのUSBディスクのような小容量デバイスにインストールされることがありますが、これらはしばしば(必然的に)損傷したインストールを救済するための特殊なスケードダウンディストリビューションです。
しかし、外付けハードドライブは汎用Linuxディストリビューションとして最も柔軟性が高く、手頃な価格で提供されます。
外付けドライブはMaxtorやWestern Digitalなど多くのメーカーから販売されており、サイズも様々です。 これらのドライブには、標準的な3-1/2インチまたは2-1/2インチのIDEドライブを収める外部ボックスが内蔵されています。 これらのドライブは通常、USBまたはIEEE1394(FireWire)でコンピュータに接続されています。
USBには主に1.1と2.0の2つのバージョンがあります。 バージョン1.1の最大転送速度は12 Mbit/s(メガビット毎秒)で、バージョン2.0は最大480 Mbit/sの転送速度に対応しています。 ほとんどの2.0互換ドライブは1.1と後方互換性がありますが、他に選択肢がない場合(遅いため)1.1は避けるのが一般的に良いでしょう。
FireWire規格は多くの異なる速度を定義していますが、実際には人々がFireWireと言うとき、最大400 Mbit/sの伝送をサポートする「FireWire400」を指します。
速度面では、USB 2.0とFireWireの間に大きな差はありません。USB 2.0は速度が高いと報告していますが、実際には違いがあるため似ています。 もし両方あるなら、FireWireよりもUSBを使う方が良いかもしれません(理由は後で説明します)が、FireWireしか持っていなければ、もちろんFireWireしか選べません。 最大限の柔軟性を追求するには、USB 2.0とFireWireに対応した多数のドライブ(例えばこの記事の後半で使うもの)から選ぶのが良いでしょう。
FireWireやUSB 2.0カードは、必要なポート(デスクトップ用)やPCMCIA(ノートパソコン用)がないパソコンには安価です。例えば、この記事の後半で使ったPCMCIA FireWireカードは約10ポンド(20ドル未満)でした。
この記事を締めくくるために、5-1/4インチの外付けドライブボックスを購入しました。 これはドライブに付属せず、3-1/2インチハードドライブやCD-RW/DVD-RWドライブなどの5-1/4インチIDEデバイスなど、標準的なIDEデバイスに収まる非常に柔軟なペンダントです。 筐体にはUSB 2.0とFireWire接続が備わっています。
プラッターボックスをIBM Thinkpad T30ノートパソコンに接続するために、PCMCIA FireWireカードも購入しました(内蔵USBポートはUSB 1.1のみ対応)。
カートリッジもFireWireカードも安価です(それぞれ50GBPと10GBP)。
テストのために、プラッターボックスを用意した13GBの3.5インチIDEドライブに接続しました。実際に使うなら、容量の大きいドライブを買っていましたが、今ではそれも非常に安価です(1GBあたり約50GBP!)。 )
Linuxサポート
ご想像の通り、これらのトレイに対するLinuxのサポートは非常に優れています。 SBP(シリアルバスプロトコル)標準に準拠した「大容量デバイス」向けのデバイスはLinuxで簡単に使用できます。
一般的に、これらのデバイスのサポートを有効にするには、カーネルは多くの機能(直接コンパイル済みかモジュール経由)をサポートする必要があります。
USBとFireWireの両方で、SBPデバイスサポートはSCSIエミュレーションを通じて実装されており、デバイスはLinux上でSCSIディスクのように表示されます。 これはLinuxでストレージデバイスを抽象化する一般的な方法であり(例:IDE CD/DVDドライブはSCSIエミュレーションで接続されることも一般的です)。 したがって、以下のカーネルサポートが必要です:
* SCSIサポート
* SCSIシミュレーション
* SCSIディスクサポート
さらに、接続方法によっては以下のサポートが必要になる場合があります:
FireWireの場合:
IEEE1394支援
OHCI1394支援
RAW1394支援
SBP-2サポート
USBの場合:
(ホスト)USBサポート
OHCIサポート
UHCIサポート
USB大容量記憶装置のサポート
もちろん、他のハードウェア(グラフィックカードなど)を正常にサポートしなければならず、実際のハードウェア状況によっては他のモジュールが必要になるかもしれません。
例えば、私はPCMCIA(カードバス)のFireWireカードを使っているので、追加する必要があります:
PCMCIAのサポート
Cardbusサポート
取り付け
外部デバイスが手に入ったので、Linuxのインストールを始めます。
今Linuxをインストールする最も簡単な方法は(もちろん私の意見ですが)、すべてのハードウェアを接続することです(ここではPCMCIA FireWireカードの接続、FireWireケーブルをPCMCIAカードとドライブに接続、ドライブの電源スイッチをオンにする手順です)。 次に、選択したディストリビューションのインストールCDでパソコンを起動します。
私が選んだディストリビューションはGentoo(関連リンクは参考文献参照)で、最新の「Universal」x86 Live CD(2004.1)を使いました。 他の分布はここで説明するよりも多くのまたは少ないステップで済むべきです。
インストールCDで起動すれば、運が良ければドライブを認識できるはずです。 ドライブは/dev/sdXの下にディスクとして表示され、ここでXは「a」で始まる小文字です。 私のシステムでは外付けドライブは/dev/sdaとして認識されますが、他のSCSIディスク(シミュレートされたSCSIディスク)を持っている場合は状況が変わります。 その場合は /dev/sdb や他の文字かもしれません。 ドライブが自動検出されない場合は、さらに手順が必要になるかもしれません。例えば、起動オプションでFireWireやPCMCIAを有効にする必要があるか、カーネルモジュールを手動でロードする必要があるかもしれません(トラブルシューティングガイドのリンクは参考文献を参照)。
ドライブが特定されれば、インストールの他の部分は内部ハードドライブとして機能するはずです。 ですので、必要に応じてパーティションを分割して、通常通りLinuxをインストールできるはずです。
ただし注意点として、ブートローダーのインストール先(通常はGRUBかLILO)を選んでください。通常はマスターブートレコード(MBR)にインストールしないことをおすすめします。MBRは通常デフォルトです。 代わりに、外付けドライブのrootパーティション(または別のブートローダーを使う場合はブートパーティション)にインストールすべきです。
Linuxがデバイスにインストールされたので、Linuxを起動しましょう。 ここから始めるためのいくつかのヒントがあります。
ガイダンス
新しいドライブの起動について話す前に、理解すべきブートローダー理論があります。
ブートローダーは通常、コンピュータの最初のハードドライブのMBRにインストールされます。 ブートローダーが呼び出されるとき(BIOSがMBR内で自動的にコードを実行)、通常は起動可能なOSのメニューを表示します。 特定のOSブートを選択します。
このシナリオについて注目すべき点が二つあります。
* OS選択メニュー(通常)はディスクから読み込みます。
* OSを起動するには、ブートローダーがディスクから該当するカーネルを読み取る必要があります。
上記の処理はOSが読み込まれる前に行われるため、すべてのディスク読み取りはBIOS呼び出しの方法で行われなければなりません。 これには深刻な問題が伴います。つまり、ディスクを直接起動するには、BIOSがFireWireやUSB経由で接続されたディスクをサポートしている必要があります。 これはしばしば、この種のディスクから起動するためのBIOSオプションと見なすことができます。 実際、FireWire BIOSのサポートは現在ほとんどありませんが、USB対応はかなり一般的になっています。 比較的新しいパソコンでUSBを使っているなら、Linuxで直接ドライブを起動できるはずです。
外付けドライブのMBRにGRUBをインストールした後、USB接続でドライブを直接起動できます。 起動時、接続されたディスクは単にBIOSセットアッププログラムに入るだけです。 外付けディスクは通常のハードドライブのように見えます。起動順でディスクを内部ドライブの前に置くように動かします。
また、内部ドライブのMBRにブートローダーをインストールしてUSBドライブを起動することもできます(この時点でGRUBではHD1として表示され、GRUBではHD1として表示されます)。 FireWireを使用している場合、BIOSがドライブを直接起動できない可能性があり、追加の操作が必要です。
幸いなことに、Linuxの柔軟性のおかげで、直接起動できない場合(PCMCIA FireWireカードで、まさに私の場合です!)対応可能です。 比較的簡単な解はあります。 初期の起動ステップは、フロッピーディスクドライブ、CD、USBキー、またはプライマリドライブの小さなパーティションなど対応デバイスから実行でき、その後外付けドライブを使って追加の操作を行うことができます。
ブートイメージを構築する
ブートストラップは2つの方法で行えます。
* ワンステージガイダンス
カーネルは起動し、ルートファイルシステムをインストールし、初期化スクリプト(通常は /sbin/init)を呼び出して初期化を続けます。
* 2段階(initrd)ブートストラップ
カーネルは起動し、初期のRAMディスク(initrd)をインストールし、さらにカスタマイズ可能な初期化を実行します
そしてルートファイルシステムをインストールし、初期化(通常は/sbin/initを呼び出す)を進めます。どちらの方法にもそれぞれ利点と欠点があります。
誘導の一段階
ワンステージブートを使用するには、組み込みのルートファイルシステムをインストールするために必要なすべてのドライバーを備えたカーネルを構築する必要があります
先の:
Linuxコンピュータを正しくシャットダウンするためのコマンドと方法
次に:
linuxrootログイン:Linuxオペレーティングシステム上でrootユーザーのログインを制限する方法です
関連記事
•
.NET/C#ソリューション SLN から slnx フォーマットへ
•
.NET/C# ソリューションプロジェクト インポート参照(統一版)
•
ETLデータウェアハウスの主流開発ツール
•
Microsoft.Web.Infrastructureソリューションからのファイルやアセンブリの読み込みに失敗しました
•
IIS 7 アプリケーションプール自動リサイクルソリューション(シャットダウン用)
•
[SDLプログラミング] windosXPによるVC環境構築
•
.NET Coreのウェブサイトはドメイン名とポート設定を開始します
•
Linux/CentOSで.netコアコンソールプログラムを動かす[ソースコード]
889654
掲載地 2014/12/27 16:13:43
|
マーク、マークは学んだ、今回はできない
閲覧したセクション
簡単な言語/E4A
HTML/CSS/JavaScript
安全な攻防
ごみ箱
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com