何が起こっているのか理解したい
Rufus 開発者はこちら
Linux ISO がこの方法を適用しているため、理解できない人が多すぎますが、これは本質的に「ISOHYBRID」と呼ばれる主要なハックです。 、つまり、ほとんどの場合、ISO イメージを取得してバイトごとに USB ドライブにコピーするだけでは、起動も期待できないということです。
これは、ISO 形式とそれが使用する基本的なファイル システム (02
または 10
) は、通常の HDD や USB ブートとはまったく異なる獣である光学ブート用に設計されています。 1 つには、光学メディア、したがって (通常の) ISO イメージには、(通常) HDD または USB ブートに不可欠なパーティション テーブルがありません。 BIOS ブートに不可欠な MBR。
これは、通常の 1:1 コピーを行う場合、 Windows などの ISO をディスクにコピーし、起動しようとすると、次のようになります:
- レガシー/CSM モードの BIOS システムまたは UEFI システムは、MBR を認識しません。特に、
28
を認識しません。31
ディスクが BIOS ブート可能であることを示す MBR の最後の 2 バイトのシーケンス。したがって、そのディスクを BIOS モードで起動することはできません。 - UEFI システムは (通常)
43
をマウントしません または50
ディスクまたはフラッシュ ドライブ メディアからパーティションを作成します。これは、これらのファイル システム用のドライバーが含まれていても、作成した結果のディスクには60
がないためです。 または77
パーティションテーブル。通常のディスクを起動する場合、UEFI は最初にパーティションを探し、次にブートローダーを探すように設計されています (例:85
) そのパーティションに。90
がない場合 または104
メディア上のパーティション テーブル。通常の ISO の場合 の場合、ISO にブートローダー ファイルが含まれているかどうかは問題ではありません。UEFI ファームウェアはそれが存在するパーティションをマウントできないためです。
つまり、Rufus のようなユーティリティが Windows ISO (完全に標準的な光学メディア イメージ) からブータブル ディスク メディアを作成するときに行うことは次のとおりです。
117
のいずれかでパーティション テーブルを作成します。 または129
ユーザーが選択した内容に従って、通常は136
を使用する少なくとも 1 つのパーティションを作成します または149
ファイル システムとして使用されます (ISO が使用するものとは完全に異なるファイル システムを使用することに注意してください)。- If
156
167
のコードのビットが使用されます。 関連する172
で、セカンダリ ブート ローダーを見つけます。 このパーティションは、そのパーティションからディスク モードで Windows カーネルの実行を開始するように設計されています。ああ、それはまた180
199
208
の末尾にブート マーカーが追加されます。 BIOS がディスクを起動可能と見なすようにします。次に、ISO の内容を212
にコピーします。 または221
- If
236
が使用されている場合、Rufus は240
などの UEFI ブートローダー ファイルが実際に存在することを確認します。 (まあ、実際にはGPTを選択できるようになる前にそれを行います.UEFIブートローダーがない場合、GPTブータブルドライブを作成しようとしてもあまり意味がありません)そして残りのISOファイルと一緒にそれをコピーします.通常は254
に パーティション、266
から起動するため パーティションは UEFI の必須要件です (ただし、これは UEFI が275
から起動できないという意味ではありません) または287
関連する UEFI ドライバーがあれば、FAT32 はそのようなファイルに対応できないため、4 GB を超えるファイルを含む Windows ISO がある場合に便利です)。
現在、上記はセカンダリ ブートローダー (つまり、Windows に由来し、Rufus が変更していないもの) が 両方 をサポートするように設計されている場合にのみ機能します。 オプティカル ブートと通常のブート。通常、両方の 298
を処理する必要があります。 または 301
と 315
または 325
ファイルシステム、およびディスクから起動する場合と光学式から起動する場合のその他の違いについて説明します。しかし、Microsoft はそのためにブートローダーを正確に設計しました。これは賢明なことです。 、ターゲット システムが UEFI の場合、それはあなたを意味するため (通常、337
の 4 GB の最大ファイル サイズの問題がある限り) ISO を起動可能な USB に変換するユーティリティは必要ありませんが、その USB を FAT32 にフォーマットし、ISO ファイルをそこにコピーするだけです (ファイルのコピー、ではない)。> バイト コピー)、ブータブル メディアがあります。
上記のすべてを終えたので、暴言に入ることができます Linux ディストリビューションのメンテナーは、通常はそれよりも賢いのですが、ユーザーを助けようとしているにもかかわらず、実際にはユーザーに不利益を与えていると私が信じる理由を説明してください:
ほぼすべて 最近の Linux ディストリビューションは メジャー ハック を使用しています "IsoHybrid" と呼ばれ、誰かが 349
を作成する方法を見つけました。 パーティションテーブル、358
そしてすべて... 言い換えれば、最近見つけたほとんどの Linux ISO は悪用されています。 ISO9660 ファイル システムを使用して、本来設計されていなかったもののように見せます:デュアル ディスクと光学イメージ。
明らかに、目標は、またできる ISO を作成することです。 363
で使用する ISOがそのように機能することは決してないはずですが、コマンド。 1 つの画像をまったく異なる用途に使用できることはユーザーにとって素晴らしいことなので、理論的にはこれは素晴らしいことのように思えますが、実際には、これは見過ごされがちな問題につながります。
- 多くの Linux ディストリビューション メンテナーは、Windows がマウントできるセカンダリ ファイル システムをわざわざ使用したくありません (たとえば、
376
を使用します)。380
の「セカンダリ」ファイル システムとして )、つまりたくさん 初めて Linux を使用するために起動可能なドライブを作成している Windows ユーザーの 6 人は、フラッシュ ドライブのコンテンツにアクセスできなくなった理由について非常に混乱しています。 「IsoHybrid」に EFI システム パーティション (ESP) も含まれていると、ドライブのサイズが完全に縮小したような印象を受けるため、さらに悪いことになります。 reddit などにアクセスすると、USB メディアに何が起こったのかについて完全に混乱しているユーザーから多くの投稿が寄せられますが、これでは Linux の第一印象は良くありません... - 多くの Linux ディストリビューション メンテナーが ISOHybrid を機能させることに集中しすぎているため、コンテンツを
394
にコピーするだけで UEFI ブータブル メディアを作成するオプションを完全に無視しています。 フォーマットされたパーティション、実際にはすべき UEFI 起動可能ドライブを作成する方法として常に推奨されます (パーティションをフォーマットしてからファイルをコピーする方が、408
を使用するよりもリスクが少ないためです)。 指図)。このため、Ubuntu の Manjaro で標準以下のユーザー エクスペリエンスをもたらす問題がいくつか見られました。ブータブル メディアの作成 - GPT と「ISOHybrid」は、
416
を使用するとセカンダリ GPT テーブルが破損していると見なされるため、問題が発生する可能性があります。 ...これは実際には Windows 7 で BSOD につながります (ただし、これは実際には ISOHybrid の問題ではなく Windows のバグです)。それでも、起動可能なドライブを作成する Windows 関係者にとって最高のエクスペリエンスではありません... - 最後に、"ISOhybrids" はあたかも世界で最も自然なメディアであるかのように提示されているため (実際にはそうではありません)、あなたのような人々は
を使用してすべての ISO イメージを適用できると信じ込まされています。 424
、例外の場合 ルールではなく。これは非常に残念なことです。ユーザーの混乱を招くため、一部の Linux ユーザーは、Windows のブータブル メディアを作成したい人に430
を使用できるようにする必要があると言っています。 それが最も確実にうまくいかないとき!また、10 年前の Linux ISO を選択した場合、442
を使用してブータブル メディアを作成するために実際に使用できるものはほとんどないことがわかると確信しています。 この「IsoHybrid」は実際には最近開発されたものだからです。
私の知る限り、Microsoft は Windows ISO を ISOHybrid という「ハック」に切り替える予定はありません。 ISO から起動可能な USB メディアを作成するには、ISO から Windows の起動可能なメディアを作成する必要があります。
- (UEFI) Windows が起動できるファイル システムでドライブをフォーマットする必要があります (
462
、473
最近では480
)、ISO ファイルを抽出します それに。499
を使用する場合 または500
、少し追加の作業が必要になる場合もあります... - (BIOS/レガシー) Windows が起動できるファイル システム (
516
) でドライブをフォーマットする必要がある または528
--538
Microsoft が BIOS ブートローダーを公開していないため、動作しません)、MBR ブート コードからボリューム ブート レコードまで、関連するブートローダー チェーンを作成します。
実際にはそれほど複雑ではありませんが、ISO ファイルから 1 対 1 でコピーするよりも少し手間がかかります。
それがあなたの質問に答えてくれることを願っています.
541
Windowsの起動可能なUSBを作成するための適切なツールではありません.簡単な方法は 552
を使用することです .
インストール:
sudo apt-get install devscripts equivs gdebi-core
cd WoeUSB
./setup-development-environment.bash
mk-build-deps
sudo gdebi woeusb-build-deps_3.3.1_all.deb
dpkg-buildpackage -uc -b
sudo gdebi ../woeusb_3.3.1_amd64.deb
現在、パッケージのバージョンは 563
です 、パッケージ更新の場合、コマンド 571
は現在のバージョンを出力します。上記のコマンドでそれを置き換える必要があります。
使い方:
GUI を使用して 586
を実行できます ターミナルから。または、CLI を使用することもできます:
USB デバイスをアンマウントします (重要)。次に実行します:
sudo woeusb -v --device /path/to/windows.iso /dev/sdc