web-dev-qa-db-ja.com

起動可能なUSBドライブを別のUSBにコピーした場合、重複した起動可能なドライブが作成されますか?

私はそれが愚かな質問だと思ったが、グーグルでの検索は 示す 他のUSBにブータブルドライブ上のデータをコピー/ペーストすることさえ不可能であるように思われる?しかし、それをコピーできたとしても、なぜそれが機能しないのでしょうか。 (それは重複した起動可能なドライブを作成しています)

36
zar

単にファイルをコピーしても、起動ドライブは作成されません。起動可能にするのはUSBフラッシュドライブ上のファイルだけでなく、 パーティションテーブル の設定、組織に関する メタデータ これは、PCが起動可能 かどうか 、およびそれが MBRかGPTか を示します。

cyberciti.biz で述べたように、

各ディスクとパーティションには、ある種の署名とメタデータ/マジックストリングがあります。オペレーティングシステムがディスクを構成したり、ドライバを接続したり、システムにディスクをマウントしたりするために使用するメタデータ。

ただし、 ddEaseUS Todo Backup などのさまざまなツールを使用してフラッシュドライブのクローンを作成できます。オープンソース Clonezilla および Rufus 。 (ddとRufusに関するリマインダーを寄せてくれた Alex に感謝します)。

フラッシュドライブを自動的に複製する電子機器 もあります

57
K7AAY

コピーは、フォーマットされたパーティション内のファイルのみを処理します。ブートフラグの設定、ブートローダーの書き込み、または通常のファイルをパーティションの正しい場所(読み取り:セクター)にコピーしてファイルの属性を設定するなど、ブートプロセスに必要な特別なことはできません。 /許可。以前のブートディスクの作成、ブートローダーをMBRに書き込むフォーマットツールなどのために、これらのものを使用できるのが幸運でない限り、ディスクをブート可能にするためにさらに手順を実行する必要があります。


具体的には、BIOSモードで起動する場合、BIOSは最初のセクター(MBR)を探して 有効なブート署名0xAA55 があるかどうかを確認します。はいの場合、そのセクターをロードし、MBRのブートローダーに制御を転送します。 MBRはパーティション構成を記述するため、パーティション内に配置することはできませんであり、通常のツールでコピーできるものではありません。

さらに、MBRは小さすぎて有用ではないため、最新のブートローダーのほとんどは、ブートプロセスを 複数のステージ に分割し、MBRのブートコードが次のステージをロードします。さらなるイントラステージは、しばしばpartitionsの外側の領域に置かれます。 EBR に配置する人もいますが、grubは通常、最初のパーティションとMBR後のギャップと呼ばれるMBRの間の空の領域に2番目のステージを配置します。そのため、パーティションを適切に配置しないと、grubがブートコードを置くスペースがないため、 埋め込みエラー が発生します。

LILOなどの多くのブートローダーや古いWindows/DOSブートローダーも、次のステージやシステムファイルの位置など、MBR内のハードコード情報です。パーティションデータを読み取っても機能しませんが、代わりにハードコードされたセクターを読み取ります。MBRやMBR後のギャップのような小さなスペースに圧縮するのが非常に難しいファイルシステムを解析するにはコードがかかりすぎるためです。でも grubはそのようなハードコーディングをサポートしています 。つまり、一部のシステムファイルは、セクターごとに正確な場所にある必要があり、通常のコピーでは実現できません。それが、Windowsデフラグツールの実行中またはファイルシステムの縮小中に "non-movable system files"が表示される理由です。実際には正しくない場合があります。たとえ最新のブートローダーはずっと賢く、そのようなことは気にしませんが。

そして結局、ブートローダーに何をブートするかを知らせるために、ブートパーティションをアクティブに設定する必要もあります。これは、パーティション領域の外側にも配置されるため、パーティションツールまたは手動で16進編集する必要があります。


UEFIでは、作業がずっと簡単です。 FATファイルシステム(および非標準の実装ではさらに多くのファイルシステム)を認識しているため、ブートファイルは EFIシステムパーティション、A.K.A ESP に保存されます。 UEFIはESPに* .efiアプリケーションをロードし、オペレーティングシステムをロードします。

UEFIファームウェアは、USBフラッシュドライブなどのリムーバブルストレージデバイスからの起動をサポートしています。そのためには、リムーバブルデバイスをFAT12、FAT16、またはFAT32ファイルシステムでフォーマットする必要がありますが、ブートローダーは標準のESPファイル階層に従って、またはシステムのブートマネージャーへのブートローダー。

したがって、基本的には、*。efiファイルをESPにコピーし、システムファイルを正しいフォルダーに入れるだけです。ただし、*。efiファイルを含むFATパーティションはMBRまたはGPTテーブルでESPとしてマークされているでなければならないため、まだ小さな問題があります。上記のようにコピーして行います。特に、パーティションタイプは、MBRでは Ch/0Bh/whateverからEFh に、GPTでは C12A7328-F81F-11D2-BA4B-00A0C93EC93B から変更する必要があります。ESPは実際にはFAT12/16/32ではなく、FATファイルシステムファミリに基づく独立したファイルシステムです。


また、BSDディスクラベルやAPMなど、ブートには別の方法で変更する必要がある他の多くの パーティションスキーム がまだあります。または、USBスティックがフォーマットされている可能性がありますパーティションテーブルなし(デフォルトではAFAIK Windowsがこれを行います)。ただし、同じ制限が適用されます。非パーティション領域を変更する必要があります

21
phuclv

伝統的に、BIOSブートは特別な見えないマーカーを必要としました。 これはいくつかの例です

  • MBRでパーティション化されている場合( "ハードディスク")、パーティションテーブル内
  • フロッピー/スーパーフロッピー( "Zipドライブ")の場合、基本的にドライブ全体がパーティションテーブルなしでフォーマットされ、その後の最初の数バイト以内
  • CDなら、 El Torito

そのような場合は、単にファイルをコピーすることはできません。それがそれらの特別なマーカーを欠いているので、結果として生じるドライブは起動不可能になるでしょう。

しかし、UEFIブートは特別で賢く、特にこれらの問題を解決します。いつものように、私はUEFIへの単純化された入門書のために このブログ記事 を読むことを勧めます。代替ブートセクションには特に注意してください。これについては、もう少し詳しく こちら で説明します。

これが機能するために必要なのは、ファームウェアが検索するパーティション内の特定のパスにあるファイルだけです。最適な互換性のために1はい、これはGPTでパーティション化されたディスクでEFIシステムパーティションとしてマークされたFAT32フォーマットのパーティションであるべきです。ただし、ほとんどのファームウェアは、MBRパーティションおよび未パーティション(スーパーフロッピー)ディスク上の(単一の)パーティションも検索します。

これは、UEFIブートに本当に必要なのはFAT32だけであることを意味します。1代替ブートエントリを含むフォーマット済みの単一パーティション。 x86_64アーキテクチャでは、これは\EFI\BOOT\BOOTx64.EFIファイルだけが必要であることを意味します。そのファイルを含めて、あるフラッシュドライブから別のフラッシュドライブにコピーするだけで、すべてがうまくいくはずです。


1 規格ではFAT32とGPTが必要です。 MBRとスーパーフロッピーは残念ながらそうではありませんが、それらのサポートはデスクトップハードウェアの中ではかなり普遍的です。ラップトップはもう少し難解です。タブレットは混乱していて、Mac EFIはユニークです。

2 UEFI規格はFAT32サポートを必要とします。いくつかのファームウェアはNTFSもサポートしているかもしれませんが(保証はされていませんが)、実際にFAT32 ESPにNTFSドライバを埋め込むことができます。

3
Bob

それはあなたが「コピー」によって何を意味するかによる。

あなたのオペレーティングシステムのGUIにコピー&ペーストしますか?いいえ、それはうまくいきません - 起動可能なUSBが必要とするいくつかのファイルは「隠された」/見えないと考えられ、コピーされません。

動作するコピーの種類があります。これは、新しいUSBの「イメージング」と呼ばれ、その内容の「コピー」とは区別されます。これを行うための最も一般的な方法はコマンドラインツールですが、必要な場合はグラフィカルなオプションを利用できます。

それはあなたの検索を軌道に乗せるのに十分な背景であるはずです!

0
Sapphon