だから最初から私用Linux用の起動可能なUSBを作成したいと思います。ただし、これを行う方法のガイドが見つかりません。だから、どのファイルが必須で、どの部分が選択肢なのか、どうすればいいのかわかりません。
答え1
ターゲットが起動可能なUSBの場合、最初の選択肢はUSBを呼び出すことです。国際標準化機構最初。
通常、サフィックス付きのディスクイメージファイルは、.iso
イメージファイルがISO-9660(またはUDF)ファイルシステムを使用し、光学メディア(CD、DVD、またはBlu-ray)に書き込むためのものであることを示します。
異なる形式を使用するディスクイメージは、技術的に異なる名前または共通のサフィックスと呼ばれる必要.bin
があります。.img
.dmg
USBから起動するとき、USBディスクはデフォルトでハードドライブと同じですので、USBメディアを起動可能にするには、ハードドライブから起動するのとまったく同じことを行う必要があります。
最初に必要なのは、USBメディアが起動可能であると認識されることを期待されるシステムファームウェアの起動要件を満たすことです。
既存のBIOSシステムでは、これは最初の512バイトブロック(=ブロック#0)の最後の2バイトが0x55 0xAAでなければならず、これを有効なマスターブートレコード(減らしてMBR)として識別する必要があることを意味します。残りの64バイトは通常MBRパーティションテーブルによって占められます(ただし、カスタムブートローダはこの要件を無視できます)。残りの446バイトには、ファームウェアによってロードされ実行される16ビットx86機械語コードプログラムが含まれています。 Linuxブートについて話すとき、この446バイトはファイルの最初の部分になります。ブートローダー。
446バイトの機械語コードはブートローダの残りの部分をロードするのに十分なので、最新のブートローダはMBRで446バイト以上を占めています。 BIOSスタイルの起動用に準備されたUSBメディアでは、i386-pc
GRUB、SYSLINUX、以前のLILOバージョン、または目的に適していると思われる他のブートローダを使用できます。それ以降のすべては、使用することを選択したブートローダーによって異なります。
UEFIモードで起動する最新の64ビットx86システムでは、リムーバブルメディアから起動するための要件は次のとおりです。
- FAT32ファイルシステムがあるパーティションを含める必要があります。
\EFI\BOOT\BOOTX64.EFI
このファイルシステムには、Microsoft PE +バイナリ形式を使用するパスにブートローダファイルが必要です。他のハードウェアアーキテクチャでは、ファイル名が異なります。- セキュアブートが有効になっている場合は、ファームウェアが有効であると認識するセキュアブート証明書でブートローダファイルに署名する必要があります。それ以外の場合は、ブートローダファイルのSHA256ハッシュをファームウェアで明示的にホワイトリストに追加する必要があります。 (他の特定の要件と制限があるため、セキュアブート要件に準拠する前に、セキュアブートを無効にした状態でUSBを動作させることをお勧めします。)
最も簡単に、UEFIブートローダはまさに単一の*.efi
ファイルです。独自の設定ファイルが必要な場合や、設定がブートローダバイナリに含まれる場合があります。
ブートローダを実行できるようになったら、Linuxブートの次のステップは次のように指定することです。カーネルファイルそして通常initramfsファイル。カーネルに組み込まれているファイルシステムドライバを使用してLinuxルートファイルシステムにアクセスできることを保証できる場合は、技術的にinitramfsファイルを省略できます。しかし、一般的にinitramfsファイルを使用すると、さまざまなシステム構成を処理することがより困難になります。 USBをあるシステムから別のシステムに移動したい場合に便利です。
目標が特定のLinuxユーティリティを実行するだけである場合は、そのユーティリティ(および必要なすべてのデータファイル)をinitramfsファイルにパッケージ化し、実際には何もインストールせずにinitramfsから直接実行するようにinitramfs起動プロセスを設定できます。システム。 Disk Wipe Tool DBAN、以前のバージョンのDisk Utility GParted Live、Clonezilla Liveなどの一部のユーティリティはデフォルトでこれを行います(正しく覚えている場合は、最新バージョンでは追加のsquashfsイメージをロードできます)。一部のハードウェアベンダーは、このようにパッケージ化されたLinuxベースのファームウェアアップグレードツールをリリースしました。
ブートローダがカーネルファイルとinitramfsファイル(使用されている場合)を正常にロードした後、コントロールをLinuxカーネルに転送し、ブートローダ操作が完了します。その時点から、すべてはLinuxカーネルとinitramfsファイルの内容によって制御されます。