猫がブータブルISOをデバイスに書き込む方法/理由


15

最近、cat(またはdd)を使用するだけでISOファイルから起動可能なUSBキーを作成できることを発見しました。

これがどのように機能するかについての情報は見つかりません。なぜ:

cat my.iso > /dev/sdb && sync

そのファイルを取り、それに含まれるすべてのファイルをブート可能な形式でデバイスに書き込みますか?


liveUSBを作成するときのcat代わりに使用することを考えたことはありませんdd
ロブ

3
それは、Torのライブイメージである「Tails」の指示にありました。(ここで尋ねる前に)少しグーグルで調べたところ、ddはこの種のことをするために使用されていたようですが、catは今では好ましいツールのようです。入出力の詳細に名前付きパラメーターを指定する必要がないため、簡単だと思います。

回答:


14

ISOファイルは、フォーマットされた完全なファイルシステムイメージです。全てcatまたはddないあなたのターゲットメディアにそのファイルシステムイメージのビットごとのコピーを行うことです。

舞台裏で魔法はありません。ISOファイルシステムの準備は事前に行われました(多くの場合、専用のツールによって)。すべてcatは、バイトのコレクションを書き込むことです。それはまったく解釈せず.iso、ブート可能なリムーバブルメディアを作成しようとしていることをまったく理解していません。sをそのメディアで動作さ
せるには、カーネルとデバイスドライバーからの適切なサポートが必要ですwrite。書き込み可能な光学メディアは、従来のハードドライブとまったく同じように動作しないため、少し「魔法」が続きます。しかし、その魔法はISOファイルの内容を解釈することを含みません。

.isoループマウントを使用すると、書き込みを行わずにファイルを直接マウントできます(そのようなことがOSで利用できる場合)。同様に、たとえばext4ファイルシステムを含むファイルを作成できcat、パーティションに作成できます。


1
そして、単にデータが(単に
バッファリングされるの

@yuyichao syncがそれをカバーするはずですよね?編集:私はちょうど6歳のコメントに答えた
マンチニール

5

これは、isoイメージがで処理されたisohybridために機能します。これにより、通常のsyslinuxブートローダーがisoイメージにインストールされます。iso9660は通常、イメージの最初のいくつかのセクターを使用しないため、これは可能です。そのため、通常のハードディスクブートローダーをそこに配置できます。光ディスクに書き込まれた場合、無視され、BIOSは従来のel torito cdromブート方法を使用してディスクをブートします。イメージがフラッシュドライブに配置されると、syslinuxブートセクターがロードされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.